-
Notifications
You must be signed in to change notification settings - Fork 170
Expand file tree
/
Copy pathcookieAccess.spec.ts
More file actions
38 lines (32 loc) · 1.22 KB
/
cookieAccess.spec.ts
File metadata and controls
38 lines (32 loc) · 1.22 KB
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
import { registerCleanupTask } from '../../test'
import { deleteCookie, getCookie } from './cookie'
import { createCookieAccessor } from './cookieAccess'
import type { CookieAccessor } from './cookieAccess'
const COOKIE_NAME = 'test_cookie'
describe('cookieAccess', () => {
let accessor: CookieAccessor
describe('document.cookie fallback', () => {
beforeEach(() => {
Object.defineProperty(globalThis, 'cookieStore', { value: undefined, configurable: true, writable: true })
accessor = createCookieAccessor({})
registerCleanupTask(() => {
deleteCookie(COOKIE_NAME)
delete (globalThis as any).cookieStore
})
})
it('should set a cookie', async () => {
await accessor.set(COOKIE_NAME, 'hello', 60_000)
expect(getCookie(COOKIE_NAME)).toBe('hello')
})
it('should get all cookies', async () => {
await accessor.set(COOKIE_NAME, 'value1', 60_000)
const values = await accessor.getAll(COOKIE_NAME)
expect(values).toContain('value1')
})
it('should delete a cookie', async () => {
await accessor.set(COOKIE_NAME, 'to_delete', 60_000)
await accessor.delete(COOKIE_NAME)
expect(getCookie(COOKIE_NAME)).toBeUndefined()
})
})
})