fix failing test

we need to mock user prefs since CastButton uses it
This commit is contained in:
bwees 2025-05-23 12:21:53 -05:00
parent b3a7409cfe
commit 4bd28dc442
No known key found for this signature in database
2 changed files with 52 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import { resetSavedUser, user as userStore } from '$lib/stores/user.store'; import { preferences as preferencesStore, resetSavedUser, user as userStore } from '$lib/stores/user.store';
import { assetFactory } from '@test-data/factories/asset-factory'; import { assetFactory } from '@test-data/factories/asset-factory';
import { preferencesFactory } from '@test-data/factories/preferences-factory';
import { userAdminFactory } from '@test-data/factories/user-factory'; import { userAdminFactory } from '@test-data/factories/user-factory';
import '@testing-library/jest-dom'; import '@testing-library/jest-dom';
import { render } from '@testing-library/svelte'; import { render } from '@testing-library/svelte';
@ -42,6 +43,9 @@ describe('AssetViewerNavBar component', () => {
}); });
it('shows back button', () => { it('shows back button', () => {
const prefs = preferencesFactory.build({ cast: { gCastEnabled: false } });
preferencesStore.set(prefs);
const asset = assetFactory.build({ isTrashed: false }); const asset = assetFactory.build({ isTrashed: false });
const { getByTitle } = render(AssetViewerNavBar, { asset, ...additionalProps }); const { getByTitle } = render(AssetViewerNavBar, { asset, ...additionalProps });
expect(getByTitle('go_back')).toBeInTheDocument(); expect(getByTitle('go_back')).toBeInTheDocument();
@ -53,6 +57,10 @@ describe('AssetViewerNavBar component', () => {
const user = userAdminFactory.build({ id: ownerId }); const user = userAdminFactory.build({ id: ownerId });
const asset = assetFactory.build({ ownerId, isTrashed: false }); const asset = assetFactory.build({ ownerId, isTrashed: false });
userStore.set(user); userStore.set(user);
const prefs = preferencesFactory.build({ cast: { gCastEnabled: false } });
preferencesStore.set(prefs);
const { getByTitle } = render(AssetViewerNavBar, { asset, ...additionalProps }); const { getByTitle } = render(AssetViewerNavBar, { asset, ...additionalProps });
expect(getByTitle('delete')).toBeInTheDocument(); expect(getByTitle('delete')).toBeInTheDocument();
}); });

View File

@ -0,0 +1,43 @@
import type { UserPreferencesResponseDto } from '@immich/sdk';
import { Sync } from 'factory.ts';
export const preferencesFactory = Sync.makeFactory<UserPreferencesResponseDto>({
cast: {
gCastEnabled: false,
},
download: {
archiveSize: 0,
includeEmbeddedVideos: false,
},
emailNotifications: {
albumInvite: false,
albumUpdate: false,
enabled: false,
},
folders: {
enabled: false,
sidebarWeb: false,
},
memories: {
enabled: false,
},
people: {
enabled: false,
sidebarWeb: false,
},
purchase: {
hideBuyButtonUntil: '',
showSupportBadge: false,
},
ratings: {
enabled: false,
},
sharedLinks: {
enabled: false,
sidebarWeb: false,
},
tags: {
enabled: false,
sidebarWeb: false,
},
});