mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	chore(web): use development lang for tests (#10025)
This commit is contained in:
		
							parent
							
								
									3e118793de
								
							
						
					
					
						commit
						d5f3d98dfc
					
				@ -2,7 +2,6 @@ import { sdkMock } from '$lib/__mocks__/sdk.mock';
 | 
				
			|||||||
import { albumFactory } from '@test-data';
 | 
					import { albumFactory } from '@test-data';
 | 
				
			||||||
import '@testing-library/jest-dom';
 | 
					import '@testing-library/jest-dom';
 | 
				
			||||||
import { fireEvent, render, waitFor, type RenderResult } from '@testing-library/svelte';
 | 
					import { fireEvent, render, waitFor, type RenderResult } from '@testing-library/svelte';
 | 
				
			||||||
import { init, register, waitLocale } from 'svelte-i18n';
 | 
					 | 
				
			||||||
import AlbumCard from '../album-card.svelte';
 | 
					import AlbumCard from '../album-card.svelte';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const onShowContextMenu = vi.fn();
 | 
					const onShowContextMenu = vi.fn();
 | 
				
			||||||
@ -10,12 +9,6 @@ const onShowContextMenu = vi.fn();
 | 
				
			|||||||
describe('AlbumCard component', () => {
 | 
					describe('AlbumCard component', () => {
 | 
				
			||||||
  let sut: RenderResult<AlbumCard>;
 | 
					  let sut: RenderResult<AlbumCard>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  beforeAll(async () => {
 | 
					 | 
				
			||||||
    await init({ fallbackLocale: 'en-US' });
 | 
					 | 
				
			||||||
    register('en-US', () => import('$lib/i18n/en.json'));
 | 
					 | 
				
			||||||
    await waitLocale('en-US');
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  it.each([
 | 
					  it.each([
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      album: albumFactory.build({ albumThumbnailAssetId: null, shared: false, assetCount: 0 }),
 | 
					      album: albumFactory.build({ albumThumbnailAssetId: null, shared: false, assetCount: 0 }),
 | 
				
			||||||
@ -43,7 +36,7 @@ describe('AlbumCard component', () => {
 | 
				
			|||||||
    const albumImgElement = sut.getByTestId('album-image');
 | 
					    const albumImgElement = sut.getByTestId('album-image');
 | 
				
			||||||
    const albumNameElement = sut.getByTestId('album-name');
 | 
					    const albumNameElement = sut.getByTestId('album-name');
 | 
				
			||||||
    const albumDetailsElement = sut.getByTestId('album-details');
 | 
					    const albumDetailsElement = sut.getByTestId('album-details');
 | 
				
			||||||
    const detailsText = `${count} items` + (shared ? ' . Shared' : '');
 | 
					    const detailsText = `${count} items` + (shared ? ' . shared' : '');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(albumImgElement).toHaveAttribute('src');
 | 
					    expect(albumImgElement).toHaveAttribute('src');
 | 
				
			||||||
    expect(albumImgElement).toHaveAttribute('alt', album.albumName);
 | 
					    expect(albumImgElement).toHaveAttribute('alt', album.albumName);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,14 +1,9 @@
 | 
				
			|||||||
import AlbumDescription from '$lib/components/album-page/album-description.svelte';
 | 
					import AlbumDescription from '$lib/components/album-page/album-description.svelte';
 | 
				
			||||||
import '@testing-library/jest-dom';
 | 
					import '@testing-library/jest-dom';
 | 
				
			||||||
import { render, screen } from '@testing-library/svelte';
 | 
					import { render, screen } from '@testing-library/svelte';
 | 
				
			||||||
import { init } from 'svelte-i18n';
 | 
					 | 
				
			||||||
import { describe } from 'vitest';
 | 
					import { describe } from 'vitest';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('AlbumDescription component', () => {
 | 
					describe('AlbumDescription component', () => {
 | 
				
			||||||
  beforeAll(async () => {
 | 
					 | 
				
			||||||
    await init({ fallbackLocale: 'en-US' });
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  it('shows an AutogrowTextarea component when isOwned is true', () => {
 | 
					  it('shows an AutogrowTextarea component when isOwned is true', () => {
 | 
				
			||||||
    render(AlbumDescription, { isOwned: true, id: '', description: '' });
 | 
					    render(AlbumDescription, { isOwned: true, id: '', description: '' });
 | 
				
			||||||
    const autogrowTextarea = screen.getByTestId('autogrow-textarea');
 | 
					    const autogrowTextarea = screen.getByTestId('autogrow-textarea');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,16 +1,11 @@
 | 
				
			|||||||
import '@testing-library/jest-dom';
 | 
					import '@testing-library/jest-dom';
 | 
				
			||||||
import { cleanup, render, type RenderResult } from '@testing-library/svelte';
 | 
					import { cleanup, render, type RenderResult } from '@testing-library/svelte';
 | 
				
			||||||
import { init } from 'svelte-i18n';
 | 
					 | 
				
			||||||
import { NotificationType } from '../notification';
 | 
					import { NotificationType } from '../notification';
 | 
				
			||||||
import NotificationCard from '../notification-card.svelte';
 | 
					import NotificationCard from '../notification-card.svelte';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('NotificationCard component', () => {
 | 
					describe('NotificationCard component', () => {
 | 
				
			||||||
  let sut: RenderResult<NotificationCard>;
 | 
					  let sut: RenderResult<NotificationCard>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  beforeAll(async () => {
 | 
					 | 
				
			||||||
    await init({ fallbackLocale: 'en-US' });
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  it('disposes timeout if already removed from the DOM', () => {
 | 
					  it('disposes timeout if already removed from the DOM', () => {
 | 
				
			||||||
    vi.spyOn(window, 'clearTimeout');
 | 
					    vi.spyOn(window, 'clearTimeout');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,5 @@
 | 
				
			|||||||
import '@testing-library/jest-dom';
 | 
					import '@testing-library/jest-dom';
 | 
				
			||||||
import { render, waitFor, type RenderResult } from '@testing-library/svelte';
 | 
					import { render, waitFor, type RenderResult } from '@testing-library/svelte';
 | 
				
			||||||
import { init } from 'svelte-i18n';
 | 
					 | 
				
			||||||
import { get } from 'svelte/store';
 | 
					import { get } from 'svelte/store';
 | 
				
			||||||
import { NotificationType, notificationController } from '../notification';
 | 
					import { NotificationType, notificationController } from '../notification';
 | 
				
			||||||
import NotificationList from '../notification-list.svelte';
 | 
					import NotificationList from '../notification-list.svelte';
 | 
				
			||||||
@ -12,8 +11,7 @@ function _getNotificationListElement(sut: RenderResult<NotificationList>): HTMLA
 | 
				
			|||||||
describe('NotificationList component', () => {
 | 
					describe('NotificationList component', () => {
 | 
				
			||||||
  const sut: RenderResult<NotificationList> = render(NotificationList);
 | 
					  const sut: RenderResult<NotificationList> = render(NotificationList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  beforeAll(async () => {
 | 
					  beforeAll(() => {
 | 
				
			||||||
    await init({ fallbackLocale: 'en-US' });
 | 
					 | 
				
			||||||
    // https://testing-library.com/docs/svelte-testing-library/faq#why-arent-transition-events-running
 | 
					    // https://testing-library.com/docs/svelte-testing-library/faq#why-arent-transition-events-running
 | 
				
			||||||
    vi.stubGlobal('requestAnimationFrame', (fn: FrameRequestCallback) => {
 | 
					    vi.stubGlobal('requestAnimationFrame', (fn: FrameRequestCallback) => {
 | 
				
			||||||
      setTimeout(() => fn(Date.now()), 16);
 | 
					      setTimeout(() => fn(Date.now()), 16);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,6 @@
 | 
				
			|||||||
import messages from '$lib/i18n/en.json';
 | 
					import messages from '$lib/i18n/en.json';
 | 
				
			||||||
import { exec as execCallback } from 'node:child_process';
 | 
					import { exec as execCallback } from 'node:child_process';
 | 
				
			||||||
import { promisify } from 'node:util';
 | 
					import { promisify } from 'node:util';
 | 
				
			||||||
import { init } from 'svelte-i18n';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Messages = { [key: string]: string | Messages };
 | 
					type Messages = { [key: string]: string | Messages };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -23,8 +22,6 @@ function setEmptyMessages(messages: Messages) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('i18n', () => {
 | 
					describe('i18n', () => {
 | 
				
			||||||
  beforeEach(() => init({ fallbackLocale: 'dev' }));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  test('no missing messages', async () => {
 | 
					  test('no missing messages', async () => {
 | 
				
			||||||
    const { stdout } = await exec('npx svelte-i18n extract -c svelte.config.js "src/**/*"');
 | 
					    const { stdout } = await exec('npx svelte-i18n extract -c svelte.config.js "src/**/*"');
 | 
				
			||||||
    const extractedMessages: Messages = JSON.parse(stdout);
 | 
					    const extractedMessages: Messages = JSON.parse(stdout);
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1,6 @@
 | 
				
			|||||||
import '@testing-library/jest-dom';
 | 
					import '@testing-library/jest-dom';
 | 
				
			||||||
 | 
					import { init } from 'svelte-i18n';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					beforeAll(async () => {
 | 
				
			||||||
 | 
					  await init({ fallbackLocale: 'dev' });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user