20 lines
650 B
TypeScript
20 lines
650 B
TypeScript
import { test } from '@japa/runner'
|
|
import PreviewTokenService from '#base_modules/WebManager/services/preview_token_service'
|
|
|
|
test.group('Web Manager preview tokens', () => {
|
|
test('creates a verifiable token and rejects tampering', ({ assert }) => {
|
|
const service = new PreviewTokenService()
|
|
const { token } = service.create(42, 900)
|
|
|
|
assert.equal(service.verify(token)?.pageId, 42)
|
|
assert.isNull(service.verify(`${token}tampered`))
|
|
})
|
|
|
|
test('rejects expired tokens', ({ assert }) => {
|
|
const service = new PreviewTokenService()
|
|
const { token } = service.create(42, -1)
|
|
|
|
assert.isNull(service.verify(token))
|
|
})
|
|
})
|