mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
a16d233a0c
* feat: sort imports * fix: something?
55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
import { screen } from '@testing-library/svelte';
|
|
import { DateTime } from 'luxon';
|
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
import { locale } from '$lib/stores/preferences.store';
|
|
import { renderWithTooltips } from '$tests/helpers';
|
|
import MaintenanceBackupEntry from './MaintenanceBackupEntry.svelte';
|
|
|
|
vi.mock('$lib/services/database-backups.service', () => ({
|
|
getDatabaseBackupActions: () => ({
|
|
Download: { type: 'command', title: 'Download', onAction: vi.fn() },
|
|
Delete: { type: 'command', title: 'Delete', onAction: vi.fn() },
|
|
}),
|
|
handleRestoreDatabaseBackup: vi.fn(),
|
|
}));
|
|
|
|
describe('MaintenanceBackupEntry', () => {
|
|
beforeEach(() => {
|
|
vi.useFakeTimers();
|
|
vi.setSystemTime(new Date('2026-03-24T12:00:00Z'));
|
|
locale.set('en');
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.useRealTimers();
|
|
});
|
|
|
|
it('renders relative backup time using the user timezone instead of UTC', () => {
|
|
const backupTimestamp = '20260324T110000';
|
|
|
|
const expectedRelativeTime = DateTime.fromFormat(backupTimestamp, "yyyyMMdd'T'HHmmss", {
|
|
zone: 'Asia/Tokyo',
|
|
})
|
|
.toLocal()
|
|
.toRelative({ locale: 'en' });
|
|
|
|
const utcRelativeTime = DateTime.fromFormat(backupTimestamp, "yyyyMMdd'T'HHmmss", {
|
|
zone: 'UTC',
|
|
})
|
|
.toLocal()
|
|
.toRelative({ locale: 'en' });
|
|
|
|
expect(expectedRelativeTime).toBeTruthy();
|
|
expect(expectedRelativeTime).not.toEqual(utcRelativeTime);
|
|
|
|
renderWithTooltips(MaintenanceBackupEntry, {
|
|
expectedVersion: '1.2.3',
|
|
filename: 'immich-db-backup-20260324T110000-v1.2.3-snapshot.sql.gz',
|
|
filesize: 1024,
|
|
timezone: 'Asia/Tokyo',
|
|
});
|
|
|
|
expect(screen.getByText(expectedRelativeTime!)).toBeInTheDocument();
|
|
});
|
|
});
|