Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix:mirador_crash #3927

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

fix:mirador_crash #3927

wants to merge 7 commits into from

Conversation

fstoe
Copy link

@fstoe fstoe commented Jul 30, 2024

I found out that adding something through the add button in the catalog view which is json but not a manifest makes the viewer crash.
steps to reproduce:

@codecov-commenter
Copy link

codecov-commenter commented Jul 30, 2024

Codecov Report

Attention: Patch coverage is 71.42857% with 2 lines in your changes missing coverage. Please review.

Project coverage is 94.58%. Comparing base (88cc3f9) to head (c095751).

Files with missing lines Patch % Lines
src/state/selectors/manifests.js 66.66% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3927      +/-   ##
==========================================
- Coverage   94.59%   94.58%   -0.01%     
==========================================
  Files         315      315              
  Lines       14759    14762       +3     
  Branches     2490     2490              
==========================================
+ Hits        13961    13963       +2     
- Misses        794      795       +1     
  Partials        4        4              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@lutzhelm
Copy link
Contributor

lutzhelm commented Aug 2, 2024

Hi @fstoe, could you add a test case for that patch? createManifestoInstance itself is not exported, but getManifestoInstance calls it directly, so this would be a good place to add a test:

https://github.com/ProjectMirador/mirador/blob/master/__tests__/src/selectors/manifests.test.js#L56-L68

Something like

it('does not crash if json is not a manifest', () => {
  const state = { manifests: { x: { json: {} } } };
  const received = getManifestoInstance(state, { manifestId: 'x' });
  expect(received).toBe(undefined);
});

@fstoe
Copy link
Author

fstoe commented Aug 5, 2024

Hey @lutzhelm,
thanks for the comment. I just added a small test case

@gerdesque gerdesque requested a review from lutzhelm December 19, 2024 15:04
expect(typeof received.getSequences).toBe('function');

expect(received.getSequences()).toEqual([]);
});
it('is cached based off of input props', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test has been removed on main. I don't know the reason, but it's the cause of the current merge conflict. Could you resolve this conflict e.g. by merging main into this branch? Just be sure that the test case actually stays removed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done :)

__tests__/src/selectors/manifests.test.js Outdated Show resolved Hide resolved
@fstoe fstoe requested a review from lutzhelm January 16, 2025 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants