mirror of
https://github.com/immich-app/immich.git
synced 2026-05-27 10:02:31 -04:00
a16d233a0c
* feat: sort imports * fix: something?
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
import '@testing-library/jest-dom';
|
|
import { render, screen } from '@testing-library/svelte';
|
|
import userEvent from '@testing-library/user-event';
|
|
import { assetFactory } from '@test-data/factories/asset-factory';
|
|
import DetailPanelDescription from './DetailPanelDescription.svelte';
|
|
|
|
describe('DetailPanelDescription', () => {
|
|
it('clears unsaved draft on asset change', async () => {
|
|
const user = userEvent.setup();
|
|
|
|
const assetA = assetFactory.build({
|
|
id: 'asset-a',
|
|
exifInfo: { description: '' },
|
|
});
|
|
const assetB = assetFactory.build({
|
|
id: 'asset-b',
|
|
exifInfo: { description: '' },
|
|
});
|
|
|
|
const { rerender } = render(DetailPanelDescription, {
|
|
props: {
|
|
asset: assetA,
|
|
isOwner: true,
|
|
},
|
|
});
|
|
|
|
const textarea = screen.getByTestId('autogrow-textarea') as HTMLTextAreaElement;
|
|
await user.type(textarea, 'unsaved draft');
|
|
expect(textarea).toHaveValue('unsaved draft');
|
|
|
|
await rerender({
|
|
asset: assetB,
|
|
isOwner: true,
|
|
});
|
|
|
|
expect(screen.getByTestId('autogrow-textarea')).toHaveValue('');
|
|
});
|
|
|
|
it('updates description on asset switch', async () => {
|
|
const assetA = assetFactory.build({
|
|
id: 'asset-a',
|
|
exifInfo: { description: 'first description' },
|
|
});
|
|
const assetB = assetFactory.build({
|
|
id: 'asset-b',
|
|
exifInfo: { description: 'second description' },
|
|
});
|
|
|
|
const { rerender } = render(DetailPanelDescription, {
|
|
props: {
|
|
asset: assetA,
|
|
isOwner: true,
|
|
},
|
|
});
|
|
|
|
expect(screen.getByTestId('autogrow-textarea')).toHaveValue('first description');
|
|
|
|
await rerender({
|
|
asset: assetB,
|
|
isOwner: true,
|
|
});
|
|
|
|
expect(screen.getByTestId('autogrow-textarea')).toHaveValue('second description');
|
|
});
|
|
});
|