82 lines
2.2 KiB
TypeScript
82 lines
2.2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import {
|
|
buildCustomWorldPublicWorkCode,
|
|
buildJumpHopPublicWorkCode,
|
|
buildPuzzleClearPublicWorkCode,
|
|
buildWoodenFishPublicWorkCode,
|
|
isSameCustomWorldPublicWorkCode,
|
|
isSameJumpHopPublicWorkCode,
|
|
isSamePuzzleClearPublicWorkCode,
|
|
isSameWoodenFishPublicWorkCode,
|
|
} from './publicWorkCode';
|
|
|
|
describe('publicWorkCode', () => {
|
|
it('builds and matches jump-hop public work codes from profile ids', () => {
|
|
expect(buildJumpHopPublicWorkCode('jump-hop-profile-12345678')).toBe(
|
|
'JH-12345678',
|
|
);
|
|
expect(
|
|
isSameJumpHopPublicWorkCode(
|
|
'jh-12345678',
|
|
'jump-hop-profile-12345678',
|
|
),
|
|
).toBe(true);
|
|
expect(
|
|
isSameJumpHopPublicWorkCode(
|
|
'jump hop profile 12345678',
|
|
'jump-hop-profile-12345678',
|
|
),
|
|
).toBe(true);
|
|
});
|
|
|
|
it('builds and matches puzzle-clear public work codes from profile ids', () => {
|
|
expect(buildPuzzleClearPublicWorkCode('puzzle-clear-profile-12345678')).toBe(
|
|
'PC-12345678',
|
|
);
|
|
expect(
|
|
isSamePuzzleClearPublicWorkCode(
|
|
'pc-12345678',
|
|
'puzzle-clear-profile-12345678',
|
|
),
|
|
).toBe(true);
|
|
expect(
|
|
isSamePuzzleClearPublicWorkCode(
|
|
'puzzle clear profile 12345678',
|
|
'puzzle-clear-profile-12345678',
|
|
),
|
|
).toBe(true);
|
|
});
|
|
|
|
it('builds wooden fish public work codes with WF prefix', () => {
|
|
expect(buildWoodenFishPublicWorkCode('wooden-fish-profile-1234abcd')).toBe(
|
|
'WF-1234ABCD',
|
|
);
|
|
});
|
|
|
|
it('builds and matches custom world public work codes from profile ids', () => {
|
|
expect(buildCustomWorldPublicWorkCode('world-public-1')).toBe('CW-00000001');
|
|
expect(isSameCustomWorldPublicWorkCode('cw-00000001', 'world-public-1')).toBe(
|
|
true,
|
|
);
|
|
expect(
|
|
isSameCustomWorldPublicWorkCode('world-public-1', 'world-public-1'),
|
|
).toBe(true);
|
|
});
|
|
|
|
it('matches wooden fish public work codes and raw profile ids', () => {
|
|
expect(
|
|
isSameWoodenFishPublicWorkCode(
|
|
'wf-1234abcd',
|
|
'wooden-fish-profile-1234abcd',
|
|
),
|
|
).toBe(true);
|
|
expect(
|
|
isSameWoodenFishPublicWorkCode(
|
|
'wooden-fish-profile-1234abcd',
|
|
'wooden-fish-profile-1234abcd',
|
|
),
|
|
).toBe(true);
|
|
});
|
|
});
|