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