@applicaster/zapp-react-native-utils 16.0.0-rc.123 → 16.0.0-rc.124

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,303 +0,0 @@
1
- import { ContextKeysManager, REFERENCE_NAMESPACE, NOTHING } from "../..";
2
- import { buildNamespaceKey } from "../../utils";
3
- import { StorageType } from "../../consts";
4
-
5
- describe("Context Keys Manager - getKeyByReference", () => {
6
- it("returns null if storage is not found", async () => {
7
- // setup
8
- const key = "key";
9
- const namespace = "namespace";
10
-
11
- const mockedLogger = {
12
- warn: jest.fn(),
13
- };
14
-
15
- const mockedSessionStorage = {
16
- getItem: jest.fn(),
17
- setItem: jest.fn(),
18
- removeItem: jest.fn(),
19
- };
20
-
21
- const mockedLocalStorage = {
22
- getItem: jest.fn(),
23
- setItem: jest.fn(),
24
- removeItem: jest.fn(),
25
- };
26
-
27
- const mockedSecureStorage = {
28
- getItem: jest.fn(),
29
- setItem: jest.fn(),
30
- removeItem: jest.fn(),
31
- };
32
-
33
- const mockedReferenceStorage = {
34
- getItem: jest.fn().mockResolvedValueOnce(undefined),
35
- setItem: jest.fn(),
36
- removeItem: jest.fn(),
37
- };
38
-
39
- const contextManager = new ContextKeysManager({
40
- logger: mockedLogger,
41
- sessionStorage: mockedSessionStorage,
42
- localStorage: mockedLocalStorage,
43
- secureStorage: mockedSecureStorage,
44
- referenceStorage: mockedReferenceStorage,
45
- });
46
-
47
- // run
48
- const result = await contextManager.getKeyByReference(key, namespace);
49
-
50
- // verify
51
- expect(result).toEqual(NOTHING);
52
-
53
- expect(mockedLogger.warn).not.toHaveBeenCalled();
54
-
55
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
56
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
57
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
58
-
59
- expect(mockedReferenceStorage.getItem).toHaveBeenCalledWith(
60
- buildNamespaceKey(key, namespace),
61
- REFERENCE_NAMESPACE
62
- );
63
- });
64
-
65
- it("returns null if storage is unknown", async () => {
66
- // setup
67
- const key = "key";
68
- const namespace = "namespace";
69
-
70
- const mockedLogger = {
71
- warn: jest.fn(),
72
- };
73
-
74
- const mockedSessionStorage = {
75
- getItem: jest.fn(),
76
- setItem: jest.fn(),
77
- removeItem: jest.fn(),
78
- };
79
-
80
- const mockedLocalStorage = {
81
- getItem: jest.fn(),
82
- setItem: jest.fn(),
83
- removeItem: jest.fn(),
84
- };
85
-
86
- const mockedSecureStorage = {
87
- getItem: jest.fn(),
88
- setItem: jest.fn(),
89
- removeItem: jest.fn(),
90
- };
91
-
92
- const mockedReferenceStorage = {
93
- getItem: jest.fn().mockResolvedValueOnce("unknown"),
94
- setItem: jest.fn(),
95
- removeItem: jest.fn(),
96
- };
97
-
98
- const contextManager = new ContextKeysManager({
99
- logger: mockedLogger,
100
- sessionStorage: mockedSessionStorage,
101
- localStorage: mockedLocalStorage,
102
- secureStorage: mockedSecureStorage,
103
- referenceStorage: mockedReferenceStorage,
104
- });
105
-
106
- // run
107
- const result = await contextManager.getKeyByReference(key, namespace);
108
-
109
- // verify
110
- expect(result).toEqual(NOTHING);
111
-
112
- expect(mockedLogger.warn).not.toHaveBeenCalled();
113
-
114
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
115
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
116
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
117
-
118
- expect(mockedReferenceStorage.getItem).toHaveBeenCalledWith(
119
- buildNamespaceKey(key, namespace),
120
- REFERENCE_NAMESPACE
121
- );
122
- });
123
-
124
- it("returns value from session storage", async () => {
125
- // setup
126
- const key = "key";
127
- const namespace = "namespace";
128
- const value = "value";
129
-
130
- const mockedLogger = {
131
- warn: jest.fn(),
132
- };
133
-
134
- const mockedSessionStorage = {
135
- getItem: jest.fn().mockResolvedValueOnce(value),
136
- setItem: jest.fn(),
137
- removeItem: jest.fn(),
138
- };
139
-
140
- const mockedLocalStorage = {
141
- getItem: jest.fn(),
142
- setItem: jest.fn(),
143
- removeItem: jest.fn(),
144
- };
145
-
146
- const mockedSecureStorage = {
147
- getItem: jest.fn(),
148
- setItem: jest.fn(),
149
- removeItem: jest.fn(),
150
- };
151
-
152
- const mockedReferenceStorage = {
153
- getItem: jest.fn().mockResolvedValueOnce(StorageType.session),
154
- setItem: jest.fn(),
155
- removeItem: jest.fn(),
156
- };
157
-
158
- const contextManager = new ContextKeysManager({
159
- logger: mockedLogger,
160
- sessionStorage: mockedSessionStorage,
161
- localStorage: mockedLocalStorage,
162
- secureStorage: mockedSecureStorage,
163
- referenceStorage: mockedReferenceStorage,
164
- });
165
-
166
- // run
167
- const result = await contextManager.getKeyByReference(key, namespace);
168
-
169
- // verify
170
- expect(result).toEqual(value);
171
-
172
- expect(mockedLogger.warn).not.toHaveBeenCalled();
173
-
174
- expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(key, namespace);
175
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
176
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
177
-
178
- expect(mockedReferenceStorage.getItem).toHaveBeenCalledWith(
179
- buildNamespaceKey(key, namespace),
180
- REFERENCE_NAMESPACE
181
- );
182
- });
183
-
184
- it("returns value from local storage", async () => {
185
- // setup
186
- const key = "key";
187
- const namespace = "namespace";
188
- const value = "value";
189
-
190
- const mockedLogger = {
191
- warn: jest.fn(),
192
- };
193
-
194
- const mockedSessionStorage = {
195
- getItem: jest.fn(),
196
- setItem: jest.fn(),
197
- removeItem: jest.fn(),
198
- };
199
-
200
- const mockedLocalStorage = {
201
- getItem: jest.fn().mockResolvedValueOnce(value),
202
- setItem: jest.fn(),
203
- removeItem: jest.fn(),
204
- };
205
-
206
- const mockedSecureStorage = {
207
- getItem: jest.fn(),
208
- setItem: jest.fn(),
209
- removeItem: jest.fn(),
210
- };
211
-
212
- const mockedReferenceStorage = {
213
- getItem: jest.fn().mockResolvedValueOnce(StorageType.local),
214
- setItem: jest.fn(),
215
- removeItem: jest.fn(),
216
- };
217
-
218
- const contextManager = new ContextKeysManager({
219
- logger: mockedLogger,
220
- sessionStorage: mockedSessionStorage,
221
- localStorage: mockedLocalStorage,
222
- secureStorage: mockedSecureStorage,
223
- referenceStorage: mockedReferenceStorage,
224
- });
225
-
226
- // run
227
- const result = await contextManager.getKeyByReference(key, namespace);
228
-
229
- // verify
230
- expect(result).toEqual(value);
231
-
232
- expect(mockedLogger.warn).not.toHaveBeenCalled();
233
-
234
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
235
- expect(mockedLocalStorage.getItem).toHaveBeenCalledWith(key, namespace);
236
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
237
-
238
- expect(mockedReferenceStorage.getItem).toHaveBeenCalledWith(
239
- buildNamespaceKey(key, namespace),
240
- REFERENCE_NAMESPACE
241
- );
242
- });
243
-
244
- it("returns value from secure storage", async () => {
245
- // setup
246
- const key = "key";
247
- const namespace = "namespace";
248
- const value = "value";
249
-
250
- const mockedLogger = {
251
- warn: jest.fn(),
252
- };
253
-
254
- const mockedSessionStorage = {
255
- getItem: jest.fn(),
256
- setItem: jest.fn(),
257
- removeItem: jest.fn(),
258
- };
259
-
260
- const mockedLocalStorage = {
261
- getItem: jest.fn(),
262
- setItem: jest.fn(),
263
- removeItem: jest.fn(),
264
- };
265
-
266
- const mockedSecureStorage = {
267
- getItem: jest.fn().mockResolvedValueOnce(value),
268
- setItem: jest.fn(),
269
- removeItem: jest.fn(),
270
- };
271
-
272
- const mockedReferenceStorage = {
273
- getItem: jest.fn().mockResolvedValueOnce(StorageType.secure),
274
- setItem: jest.fn(),
275
- removeItem: jest.fn(),
276
- };
277
-
278
- const contextManager = new ContextKeysManager({
279
- logger: mockedLogger,
280
- sessionStorage: mockedSessionStorage,
281
- localStorage: mockedLocalStorage,
282
- secureStorage: mockedSecureStorage,
283
- referenceStorage: mockedReferenceStorage,
284
- });
285
-
286
- // run
287
- const result = await contextManager.getKeyByReference(key, namespace);
288
-
289
- // verify
290
- expect(result).toEqual(value);
291
-
292
- expect(mockedLogger.warn).not.toHaveBeenCalled();
293
-
294
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
295
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
296
- expect(mockedSecureStorage.getItem).toHaveBeenCalledWith(key, namespace);
297
-
298
- expect(mockedReferenceStorage.getItem).toHaveBeenCalledWith(
299
- buildNamespaceKey(key, namespace),
300
- REFERENCE_NAMESPACE
301
- );
302
- });
303
- });
@@ -1,82 +0,0 @@
1
- import { ContextKeysManager, REFERENCE_NAMESPACE } from "../..";
2
- import { buildNamespaceKey } from "../../utils";
3
-
4
- describe("Context Keys Manager - removeReferenceForKey", () => {
5
- it("returns false if reference-storage throw error while removing", async () => {
6
- // setup
7
- const key = "key";
8
- const namespace = "namespace";
9
- const error = Error("oops");
10
-
11
- const mockedLogger = {
12
- warn: jest.fn(),
13
- };
14
-
15
- const mockedReferenceStorage = {
16
- getItem: jest.fn(),
17
- setItem: jest.fn(),
18
- removeItem: jest.fn().mockRejectedValueOnce(error),
19
- };
20
-
21
- const contextManager = new ContextKeysManager({
22
- logger: mockedLogger,
23
- referenceStorage: mockedReferenceStorage,
24
- });
25
-
26
- // run
27
- const result = await contextManager.removeReferenceForKey(key, namespace);
28
-
29
- // verify
30
- expect(result).toBe(false);
31
-
32
- expect(mockedLogger.warn).toHaveBeenCalledWith({
33
- message: error.message,
34
- data: { key, namespace },
35
- });
36
-
37
- expect(mockedReferenceStorage.getItem).not.toHaveBeenCalled();
38
- expect(mockedReferenceStorage.setItem).not.toHaveBeenCalled();
39
-
40
- expect(mockedReferenceStorage.removeItem).toHaveBeenCalledWith(
41
- buildNamespaceKey(key, namespace),
42
- REFERENCE_NAMESPACE
43
- );
44
- });
45
-
46
- it("returns true if reference-storage return non true as result", async () => {
47
- // setup
48
- const key = "key";
49
- const namespace = "namespace";
50
-
51
- const mockedLogger = {
52
- warn: jest.fn(),
53
- };
54
-
55
- const mockedReferenceStorage = {
56
- getItem: jest.fn(),
57
- setItem: jest.fn(),
58
- removeItem: jest.fn().mockResolvedValueOnce(undefined),
59
- };
60
-
61
- const contextManager = new ContextKeysManager({
62
- logger: mockedLogger,
63
- referenceStorage: mockedReferenceStorage,
64
- });
65
-
66
- // run
67
- const result = await contextManager.removeReferenceForKey(key, namespace);
68
-
69
- // verify
70
- expect(result).toBe(true);
71
-
72
- expect(mockedLogger.warn).not.toHaveBeenCalled();
73
-
74
- expect(mockedReferenceStorage.getItem).not.toHaveBeenCalled();
75
- expect(mockedReferenceStorage.setItem).not.toHaveBeenCalled();
76
-
77
- expect(mockedReferenceStorage.removeItem).toHaveBeenCalledWith(
78
- buildNamespaceKey(key, namespace),
79
- REFERENCE_NAMESPACE
80
- );
81
- });
82
- });
@@ -1,41 +0,0 @@
1
- import { ContextKeysManager, REFERENCE_NAMESPACE } from "../..";
2
- import { buildNamespaceKey } from "../../utils";
3
-
4
- describe("Context Keys Manager - removeReferenceForKey", () => {
5
- it("returns true if remove was succeed", async () => {
6
- // setup
7
- const key = "key";
8
- const namespace = "namespace";
9
-
10
- const mockedLogger = {
11
- warn: jest.fn(),
12
- };
13
-
14
- const mockedReferenceStorage = {
15
- getItem: jest.fn(),
16
- setItem: jest.fn(),
17
- removeItem: jest.fn().mockResolvedValueOnce(true),
18
- };
19
-
20
- const contextManager = new ContextKeysManager({
21
- logger: mockedLogger,
22
- referenceStorage: mockedReferenceStorage,
23
- });
24
-
25
- // run
26
- const result = await contextManager.removeReferenceForKey(key, namespace);
27
-
28
- // verify
29
- expect(result).toBe(true);
30
-
31
- expect(mockedLogger.warn).not.toHaveBeenCalled();
32
-
33
- expect(mockedReferenceStorage.getItem).not.toHaveBeenCalled();
34
- expect(mockedReferenceStorage.setItem).not.toHaveBeenCalled();
35
-
36
- expect(mockedReferenceStorage.removeItem).toHaveBeenCalledWith(
37
- buildNamespaceKey(key, namespace),
38
- REFERENCE_NAMESPACE
39
- );
40
- });
41
- });
@@ -1,208 +0,0 @@
1
- import { ContextKeysManager } from "../../..";
2
- import { StorageLevel } from "../../../consts";
3
-
4
- describe("Context Keys Manager - setKey", () => {
5
- it("returns true if saved item but not reference with storage-level=default", async () => {
6
- // setup
7
- const key = "namespace.key";
8
- const value = "value";
9
- const storageLevel = StorageLevel.default;
10
-
11
- const mockedLogger = {
12
- warn: jest.fn(),
13
- };
14
-
15
- const mockedSessionStorage = {
16
- getItem: jest.fn(),
17
- setItem: jest.fn().mockResolvedValueOnce(true),
18
- removeItem: jest.fn(),
19
- };
20
-
21
- const mockedLocalStorage = {
22
- getItem: jest.fn(),
23
- setItem: jest.fn(),
24
- removeItem: jest.fn(),
25
- };
26
-
27
- const mockedSecureStorage = {
28
- getItem: jest.fn(),
29
- setItem: jest.fn(),
30
- removeItem: jest.fn(),
31
- };
32
-
33
- const contextManager = new ContextKeysManager({
34
- logger: mockedLogger,
35
- sessionStorage: mockedSessionStorage,
36
- localStorage: mockedLocalStorage,
37
- secureStorage: mockedSecureStorage,
38
- });
39
-
40
- const setReferenceForKey = jest
41
- .spyOn(contextManager, "setReferenceForKey")
42
- .mockResolvedValueOnce(false);
43
-
44
- // run
45
- const result = await contextManager.setKey({ key, value, storageLevel });
46
-
47
- // verify
48
- expect(result).toBe(true);
49
-
50
- expect(mockedLogger.warn).not.toHaveBeenCalled();
51
-
52
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
53
-
54
- expect(mockedSessionStorage.setItem).toHaveBeenCalledWith(
55
- "key",
56
- value,
57
- "namespace"
58
- );
59
-
60
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
61
- expect(mockedLocalStorage.setItem).not.toHaveBeenCalled();
62
-
63
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
64
- expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
65
-
66
- expect(setReferenceForKey).toHaveBeenCalledWith(
67
- "key",
68
- "namespace",
69
- StorageLevel.default
70
- );
71
- });
72
-
73
- it("returns true if saved item but not reference with storage-level=persisted", async () => {
74
- // setup
75
- const key = "namespace.key";
76
- const value = "value";
77
- const storageLevel = StorageLevel.persisted;
78
-
79
- const mockedLogger = {
80
- warn: jest.fn(),
81
- };
82
-
83
- const mockedSessionStorage = {
84
- getItem: jest.fn(),
85
- setItem: jest.fn(),
86
- removeItem: jest.fn(),
87
- };
88
-
89
- const mockedLocalStorage = {
90
- getItem: jest.fn(),
91
- setItem: jest.fn().mockResolvedValueOnce(true),
92
- removeItem: jest.fn(),
93
- };
94
-
95
- const mockedSecureStorage = {
96
- getItem: jest.fn(),
97
- setItem: jest.fn(),
98
- removeItem: jest.fn(),
99
- };
100
-
101
- const contextManager = new ContextKeysManager({
102
- logger: mockedLogger,
103
- sessionStorage: mockedSessionStorage,
104
- localStorage: mockedLocalStorage,
105
- secureStorage: mockedSecureStorage,
106
- });
107
-
108
- const setReferenceForKey = jest
109
- .spyOn(contextManager, "setReferenceForKey")
110
- .mockResolvedValueOnce(false);
111
-
112
- // run
113
- const result = await contextManager.setKey({ key, value, storageLevel });
114
-
115
- // verify
116
- expect(result).toBe(true);
117
-
118
- expect(mockedLogger.warn).not.toHaveBeenCalled();
119
-
120
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
121
- expect(mockedSessionStorage.setItem).not.toHaveBeenCalled();
122
-
123
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
124
-
125
- expect(mockedLocalStorage.setItem).toHaveBeenCalledWith(
126
- "key",
127
- value,
128
- "namespace"
129
- );
130
-
131
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
132
- expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
133
-
134
- expect(setReferenceForKey).toHaveBeenCalledWith(
135
- "key",
136
- "namespace",
137
- StorageLevel.persisted
138
- );
139
- });
140
-
141
- it("returns true if saved item but not reference with storage-level=secure", async () => {
142
- // setup
143
- const key = "namespace.key";
144
- const value = "value";
145
- const storageLevel = StorageLevel.secure;
146
-
147
- const mockedLogger = {
148
- warn: jest.fn(),
149
- };
150
-
151
- const mockedSessionStorage = {
152
- getItem: jest.fn(),
153
- setItem: jest.fn(),
154
- removeItem: jest.fn(),
155
- };
156
-
157
- const mockedLocalStorage = {
158
- getItem: jest.fn(),
159
- setItem: jest.fn(),
160
- removeItem: jest.fn(),
161
- };
162
-
163
- const mockedSecureStorage = {
164
- getItem: jest.fn(),
165
- setItem: jest.fn().mockResolvedValueOnce(true),
166
- removeItem: jest.fn(),
167
- };
168
-
169
- const contextManager = new ContextKeysManager({
170
- logger: mockedLogger,
171
- sessionStorage: mockedSessionStorage,
172
- localStorage: mockedLocalStorage,
173
- secureStorage: mockedSecureStorage,
174
- });
175
-
176
- const setReferenceForKey = jest
177
- .spyOn(contextManager, "setReferenceForKey")
178
- .mockResolvedValueOnce(false);
179
-
180
- // run
181
- const result = await contextManager.setKey({ key, value, storageLevel });
182
-
183
- // verify
184
- expect(result).toBe(true);
185
-
186
- expect(mockedLogger.warn).not.toHaveBeenCalled();
187
-
188
- expect(mockedSessionStorage.getItem).not.toHaveBeenCalled();
189
- expect(mockedSessionStorage.setItem).not.toHaveBeenCalled();
190
-
191
- expect(mockedLocalStorage.getItem).not.toHaveBeenCalled();
192
- expect(mockedLocalStorage.setItem).not.toHaveBeenCalled();
193
-
194
- expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
195
-
196
- expect(mockedSecureStorage.setItem).toHaveBeenCalledWith(
197
- "key",
198
- value,
199
- "namespace"
200
- );
201
-
202
- expect(setReferenceForKey).toHaveBeenCalledWith(
203
- "key",
204
- "namespace",
205
- StorageLevel.secure
206
- );
207
- });
208
- });