diff options
| -rw-r--r-- | desktop/packages/mullvad-vpn/test/e2e/lib/path-helpers.ts | 8 | ||||
| -rw-r--r-- | desktop/packages/mullvad-vpn/test/unit/path-helpers.spec.ts | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/lib/path-helpers.ts b/desktop/packages/mullvad-vpn/test/e2e/lib/path-helpers.ts index 53986e7002..bd8593dc88 100644 --- a/desktop/packages/mullvad-vpn/test/e2e/lib/path-helpers.ts +++ b/desktop/packages/mullvad-vpn/test/e2e/lib/path-helpers.ts @@ -29,10 +29,6 @@ function trimTrailingSlash(value: string): string { // Match b against a where a can contain parameters export function matchPaths(a: string | null, b: string | null): boolean { - if (b?.includes(':')) { - throw new Error('Only a is allowed to contain parameters'); - } - if (a === null || b === null) { return a === b; } @@ -40,6 +36,10 @@ export function matchPaths(a: string | null, b: string | null): boolean { const aParts = trimTrailingSlash(a).split('/'); const bParts = trimTrailingSlash(b).split('/'); + if (bParts.some((part) => part.startsWith(':'))) { + throw new Error('Only first argument is allowed to contain dynamic route path segments'); + } + return ( aParts.length >= bParts.length && aParts.every((aPart, i) => { diff --git a/desktop/packages/mullvad-vpn/test/unit/path-helpers.spec.ts b/desktop/packages/mullvad-vpn/test/unit/path-helpers.spec.ts index 807604d2ea..1c7a814453 100644 --- a/desktop/packages/mullvad-vpn/test/unit/path-helpers.spec.ts +++ b/desktop/packages/mullvad-vpn/test/unit/path-helpers.spec.ts @@ -20,7 +20,8 @@ describe('E2E test path helper', () => { expect(matchPaths('/a/b/c', 'a/b/c')).to.be.false; expect(matchPaths('/a/b/:param', '/a/b')).to.be.false; - expect(() => matchPaths('/a/b/c', '/a/b/:param')).to.throw(); + expect(() => matchPaths('/a/b/c', '/a/b/:clock')).to.throw(); + expect(() => matchPaths('/a/b/:clock', '/a/b/20:00')).not.to.throw(); }); it('should correctly replace parameters', () => { |
