41 lines
2.0 KiB
TypeScript
41 lines
2.0 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { load as activity } from '../../src/routes/activity/+page.server.js';
|
|
import { load as operations } from '../../src/routes/operations/+page.server.js';
|
|
|
|
describe.each([
|
|
['/activity', activity],
|
|
['/operations', operations]
|
|
] as const)('retired %s page', (path, load) => {
|
|
it.each([
|
|
['', '/provisioning?view=history'],
|
|
['?source=provisioning', '/provisioning?view=history'],
|
|
['?source=autoscaling', '/provisioning?view=history&source=autoscaling'],
|
|
['?source=unknown&offset=100', '/provisioning?view=history'],
|
|
['?server=town', '/servers/town?tab=history'],
|
|
['?server=town%20%2F%201', '/servers/town%20%2F%201?tab=history'],
|
|
[
|
|
'?server=town&host=host-1&source=campaign&state=failed&days=7&q=files&limit=10&offset=20',
|
|
'/servers/town?tab=history&host=host-1&source=campaign&state=failed&days=7&q=files&limit=10&offset=20'
|
|
],
|
|
[
|
|
'?server=town&tab=overview&excludeProvisioning=true&excludeMaintenance=true#operation-1',
|
|
'/servers/town?tab=history#operation-1'
|
|
],
|
|
['?host=host%20%2F%201&offset=50', '/hosts/operations?host=host+%2F+1'],
|
|
['?server=%20&host=deleted-host', '/hosts/operations?host=deleted-host'],
|
|
['?source=host', '/hosts/operations'],
|
|
['?source=campaign&q=files&offset=50', '/campaigns?q=files'],
|
|
['?source=beta&q=release&offset=50', '/betas?view=history&q=release'],
|
|
[
|
|
'?source=maintenance&type=update&state=failed&offset=25',
|
|
'/maintenance?view=activity&type=update&source=maintenance&state=failed&offset=25'
|
|
],
|
|
['?source=recovery', '/maintenance?view=activity&source=recovery'],
|
|
['?returnTo=%2Fhosts', '/provisioning?view=history&returnTo=%2Fhosts']
|
|
])('redirects %s directly to %s', (query, location) => {
|
|
expect(() => load({ url: new URL(`https://ec.test${path}${query}`) })).toThrow(
|
|
expect.objectContaining({ status: 308, location })
|
|
);
|
|
});
|
|
});
|