Skip to content

Commit a2fb204

Browse files
tests: add SessionStorage unit tests
1 parent 115474d commit a2fb204

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

__tests__/storage/session.test.ts

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/**
2+
* @jest-environment jsdom
3+
*/
4+
import { SessionStorage } from '@/storage/SessionStorage'
5+
6+
describe( 'SessionStorage', () => {
7+
8+
beforeEach( () => {
9+
sessionStorage.clear()
10+
} )
11+
12+
13+
describe( 'SessionStorage.set()', () => {
14+
15+
it( 'sets an item', () => {
16+
SessionStorage.set( 'key', 'value' )
17+
expect( SessionStorage.get( 'key' ) ).toBe( 'value' )
18+
} )
19+
20+
} )
21+
22+
23+
describe( 'SessionStorage.get()', () => {
24+
25+
it( 'gets an item', () => {
26+
SessionStorage.set( 'key', 'value' )
27+
expect( SessionStorage.get( 'key' ) ).toBe( 'value' )
28+
} )
29+
30+
it( 'returns `undefined` for non-existing key', () => {
31+
expect( SessionStorage.get( 'nonExistingKey' ) ).toBeUndefined()
32+
} )
33+
34+
} )
35+
36+
37+
describe( 'SessionStorage.delete()', () => {
38+
39+
it( 'removes an item', () => {
40+
SessionStorage.set( 'key', 'value' )
41+
SessionStorage.delete( 'key' )
42+
expect( SessionStorage.get( 'key' ) ).toBeUndefined()
43+
} )
44+
45+
} )
46+
47+
48+
describe( 'SessionStorage.clear()', () => {
49+
50+
it( 'clears all items', () => {
51+
SessionStorage.set( 'key1', 'value1' )
52+
SessionStorage.set( 'key2', 'value2' )
53+
SessionStorage.clear()
54+
expect( SessionStorage.get( 'key1' ) ).toBeUndefined()
55+
expect( SessionStorage.get( 'key2' ) ).toBeUndefined()
56+
} )
57+
58+
} )
59+
60+
describe( 'SessionStorage.key()', () => {
61+
62+
it( 'returns the correct key for a given index', () => {
63+
SessionStorage.set( 'key1', 'value1' )
64+
SessionStorage.set( 'key2', 'value2' )
65+
expect( SessionStorage.key( 0 ) ).toBe( 'key1' )
66+
expect( SessionStorage.key( 1 ) ).toBe( 'key2' )
67+
} )
68+
69+
} )
70+
71+
describe( 'SessionStorage.getLength()', () => {
72+
73+
it( 'returns the correct length', () => {
74+
expect( SessionStorage.getLength() ).toBe( 0 )
75+
SessionStorage.set( 'key1', 'value1' )
76+
expect( SessionStorage.getLength() ).toBe( 1 )
77+
SessionStorage.set( 'key2', 'value2' )
78+
expect( SessionStorage.getLength() ).toBe( 2 )
79+
SessionStorage.clear()
80+
expect( SessionStorage.getLength() ).toBe( 0 )
81+
} )
82+
83+
} )
84+
85+
} )

0 commit comments

Comments
 (0)