Files
immich/web/src/lib/route.spec.ts
2026-01-19 12:07:31 -05:00

51 lines
1.5 KiB
TypeScript

import { OpenQueryParam } from '$lib/constants';
import { Route } from '$lib/route';
describe('Route', () => {
describe(Route.login.name, () => {
it('should encode continue', () => {
expect(Route.login({ continue: '/some/path?with=query', autoLaunch: 1 })).toBe(
'/auth/login?continue=%2Fsome%2Fpath%3Fwith%3Dquery&autoLaunch=1',
);
});
});
describe(Route.search.name, () => {
it('should work', () => {
expect(Route.search({})).toBe('/search');
});
it('should work', () => {
expect(Route.search({ make: undefined, model: 'Immich' })).toBe('/search?query=%7B%22model%22%3A%22Immich%22%7D');
});
it('should support query parameters', () => {
expect(Route.systemSettings({ isOpen: OpenQueryParam.OAUTH })).toBe('/admin/system-settings?isOpen=oauth');
});
});
describe(Route.tags.name, () => {
it('should work', () => {
expect(Route.tags()).toBe('/tags');
});
it('should support query parameters', () => {
expect(Route.tags({ path: '/some/path' })).toBe('/tags?path=%2Fsome%2Fpath');
});
it('should ignore an empty path', () => {
expect(Route.tags({ path: '' })).toBe('/tags');
});
});
describe(Route.systemSettings.name, () => {
it('should work', () => {
expect(Route.systemSettings()).toBe('/admin/system-settings');
});
it('should support query parameters', () => {
expect(Route.systemSettings({ isOpen: OpenQueryParam.OAUTH })).toBe('/admin/system-settings?isOpen=oauth');
});
});
});