blob: 944e342097d7e775d291387935d147c46e1c2ac4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
import { describe, expect, it } from 'vitest';
import { routeFromHash, projectPath } from './router';
function setHash(h: string) {
window.location.hash = h;
}
describe('router', () => {
it('routes auth pages', () => {
setHash('#/login');
expect(routeFromHash().name).toBe('login');
setHash('#/register');
expect(routeFromHash().name).toBe('register');
setHash('#/reset');
expect(routeFromHash().name).toBe('reset');
});
it('routes protected areas', () => {
setHash('#/projects');
expect(routeFromHash().name).toBe('projects');
setHash('#/datasets');
expect(routeFromHash().name).toBe('datasets');
setHash('#/runs');
expect(routeFromHash().name).toBe('runs');
setHash('#/usage');
expect(routeFromHash().name).toBe('usage');
setHash('#/account');
expect(routeFromHash().name).toBe('account');
setHash('#/admin');
expect(routeFromHash().name).toBe('admin');
});
it('routes project tabs', () => {
setHash('#/projects/abc-1/strategy');
const r = routeFromHash();
expect(r.name).toBe('project-strategy');
expect(r.params.id).toBe('abc-1');
setHash('#/projects/abc-1');
expect(routeFromHash().name).toBe('project-data');
setHash('#/projects/abc-1/backtest');
expect(routeFromHash().name).toBe('project-backtest');
setHash('#/projects/abc-1/results?run=r9');
const rr = routeFromHash();
expect(rr.name).toBe('project-results');
expect(rr.query.get('run')).toBe('r9');
});
it('projects deep path builder', () => {
expect(projectPath('id1', 'strategy')).toBe('/projects/id1/strategy');
});
});
|