@appsemble/cli 0.30.14-test.6 → 0.32.1-test.15

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.
Files changed (72) hide show
  1. package/README.md +3 -3
  2. package/commands/app/create.js +9 -4
  3. package/commands/app/delete.js +1 -1
  4. package/commands/app/export.js +1 -1
  5. package/commands/app/patch.d.ts +2 -0
  6. package/commands/app/patch.js +8 -0
  7. package/commands/app/update.js +1 -1
  8. package/commands/asset/publish.js +1 -1
  9. package/commands/cleanupSoftDeletedRecords.d.ts +6 -0
  10. package/commands/cleanupSoftDeletedRecords.js +40 -0
  11. package/commands/config/get.js +6 -2
  12. package/commands/config/set.js +6 -1
  13. package/commands/migrate.js +19 -0
  14. package/commands/serve.js +5 -1
  15. package/commands/start.js +19 -0
  16. package/commands/synchronizeTrainings.d.ts +6 -0
  17. package/commands/synchronizeTrainings.js +40 -0
  18. package/index.js +5 -0
  19. package/lib/app.d.ts +8 -0
  20. package/lib/app.js +59 -17
  21. package/lib/asset.d.ts +1 -1
  22. package/lib/authentication.js +4 -4
  23. package/lib/block.js +15 -6
  24. package/lib/coercers.js +1 -0
  25. package/lib/config.js +26 -18
  26. package/lib/createServers.js +3 -1
  27. package/lib/group.d.ts +1 -1
  28. package/lib/group.js +7 -6
  29. package/lib/output.js +3 -1
  30. package/lib/processCss.js +1 -1
  31. package/lib/project.js +3 -2
  32. package/lib/serverImport.d.ts +1 -1
  33. package/lib/serverImport.js +1 -1
  34. package/package.json +19 -16
  35. package/server/db/methods.js +3 -0
  36. package/server/options/createAppAsset.d.ts +1 -1
  37. package/server/options/createAppAsset.js +5 -6
  38. package/server/options/createAppResourcesWithAssets.js +4 -6
  39. package/server/options/createSettings.js +1 -1
  40. package/server/options/createTheme.js +2 -0
  41. package/server/options/getAppAsset.js +5 -10
  42. package/server/options/getAppAssets.js +5 -9
  43. package/server/options/getAppScreenshots.js +3 -3
  44. package/server/options/getBlockAsset.js +3 -0
  45. package/server/options/getTheme.js +1 -0
  46. package/server/options/options.js +2 -0
  47. package/templates/apps/empty/app-definition.yaml +2 -2
  48. package/templates/blocks/mini-jsx/package.json +4 -1
  49. package/templates/blocks/mini-jsx/src/index.tsx +1 -1
  50. package/templates/blocks/preact/package.json +5 -2
  51. package/templates/blocks/vanilla/package.json +4 -1
  52. package/vitest.setup.js +11 -2
  53. package/lib/app.test.d.ts +0 -1
  54. package/lib/app.test.js +0 -2212
  55. package/lib/asset.test.d.ts +0 -1
  56. package/lib/asset.test.js +0 -105
  57. package/lib/block.test.d.ts +0 -1
  58. package/lib/block.test.js +0 -235
  59. package/lib/coercers.test.d.ts +0 -1
  60. package/lib/coercers.test.js +0 -27
  61. package/lib/config.test.d.ts +0 -1
  62. package/lib/config.test.js +0 -239
  63. package/lib/group.test.d.ts +0 -1
  64. package/lib/group.test.js +0 -616
  65. package/lib/organization.test.d.ts +0 -1
  66. package/lib/organization.test.js +0 -222
  67. package/lib/resource.test.d.ts +0 -1
  68. package/lib/resource.test.js +0 -393
  69. package/server/db/methods.test.d.ts +0 -1
  70. package/server/db/methods.test.js +0 -366
  71. package/server/options/parseQuery.test.d.ts +0 -1
  72. package/server/options/parseQuery.test.js +0 -46
@@ -1,366 +0,0 @@
1
- import { rm, writeFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import globalCacheDir from 'global-cache-dir';
4
- import { afterAll, describe, expect, it } from 'vitest';
5
- import { Methods, setAppName } from './methods.js';
6
- const appName = 'testApp';
7
- setAppName(appName);
8
- const cacheDir = await globalCacheDir('appsemble');
9
- const dbDir = join(cacheDir, appName);
10
- const dbPath = join(dbDir, 'db.json');
11
- describe('methods', () => {
12
- afterAll(async () => {
13
- await rm(dbDir, { recursive: true, force: true });
14
- });
15
- describe('create', () => {
16
- it('should create a new record and return it', async () => {
17
- const result = await Methods.create({ name: 'testInstance' }, '/testModel');
18
- expect(result).toHaveProperty('id');
19
- expect(result).toHaveProperty('name', 'testInstance');
20
- });
21
- it('should add default values to the record', async () => {
22
- const result = await Methods.create({ name: 'testInstance' }, '/testModel');
23
- expect(result).toHaveProperty('$created');
24
- expect(result).toHaveProperty('$updated');
25
- });
26
- });
27
- describe('bulkCreate', () => {
28
- it('should create multiple new records and return them', async () => {
29
- const result = await Methods.bulkCreate([{ name: 'testInstance2' }, { name: 'testInstance3' }], '/testModel');
30
- expect(result).toHaveLength(2);
31
- expect(result[0]).toHaveProperty('id');
32
- expect(result[0]).toHaveProperty('name', 'testInstance2');
33
- expect(result[1]).toHaveProperty('id');
34
- expect(result[1]).toHaveProperty('name', 'testInstance3');
35
- });
36
- it('should add default values to the records', async () => {
37
- const result = await Methods.bulkCreate([{ name: 'testInstance2' }, { name: 'testInstance3' }], '/testModel');
38
- expect(result[0]).toHaveProperty('$created');
39
- expect(result[0]).toHaveProperty('$updated');
40
- expect(result[1]).toHaveProperty('$created');
41
- expect(result[1]).toHaveProperty('$updated');
42
- });
43
- });
44
- describe('findById', () => {
45
- it('should return a record by id', async () => {
46
- await writeFile(dbPath, '{"testModel":[{"id":1,"name":"testInstance1"}]}');
47
- const result = await Methods.findById(1, '/testModel');
48
- expect(result).not.toBeNull();
49
- expect(result).toHaveProperty('id', 1);
50
- });
51
- it('should return null if no record exists with the given id', async () => {
52
- const result = await Methods.findById(999);
53
- expect(result).toBeNull();
54
- });
55
- });
56
- describe('findOne', () => {
57
- it('should return a record that matches the query', async () => {
58
- await writeFile(dbPath, '{"testModel":[{"id":1,"name":"testInstance1"}]}');
59
- const result = await Methods.findOne({ where: { name: 'testInstance1' } }, '/testModel');
60
- expect(result).not.toBeNull();
61
- expect(result).toHaveProperty('name', 'testInstance1');
62
- });
63
- it('should return null if no record matches the query', async () => {
64
- const result = await Methods.findOne({ where: { name: 'nonexistent' } }, '/testModel');
65
- expect(result).toBeNull();
66
- });
67
- });
68
- describe('findAll', () => {
69
- it('should return an empty array when no entities exist', async () => {
70
- const entities = await Methods.findAll({}, '/');
71
- expect(entities).toStrictEqual([]);
72
- });
73
- it('should return all entities when no query is provided', async () => {
74
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
75
- const entities = await Methods.findAll({}, '/person');
76
- expect(entities).toStrictEqual([
77
- { id: 1, name: 'Alice', age: 30 },
78
- { id: 2, name: 'Bob', age: 25 },
79
- { id: 3, name: 'Charlie', age: 35 },
80
- ]);
81
- });
82
- it('should return all entities with only the specified attributes', async () => {
83
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
84
- const entities = await Methods.findAll({ attributes: ['name', 'age'] }, '/person');
85
- expect(entities).toStrictEqual([
86
- { name: 'Alice', age: 30 },
87
- { name: 'Bob', age: 25 },
88
- { name: 'Charlie', age: 35 },
89
- ]);
90
- });
91
- describe('should filter entities using where clauses', () => {
92
- it('that contain and', async () => {
93
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
94
- const entities = await Methods.findAll({
95
- where: {
96
- and: [{ name: { eq: 'Alice' } }, { age: { gt: 20 } }],
97
- },
98
- }, '/person');
99
- expect(entities).toStrictEqual([{ id: 1, name: 'Alice', age: 30 }]);
100
- });
101
- it('that contain or', async () => {
102
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
103
- const entities = await Methods.findAll({
104
- where: {
105
- or: [{ name: { eq: 'Alice' } }, { age: { gt: 20 } }],
106
- },
107
- }, '/person');
108
- expect(entities).toStrictEqual([
109
- { id: 1, name: 'Alice', age: 30 },
110
- { id: 2, name: 'Alice', age: 20 },
111
- { id: 3, name: 'Bob', age: 25 },
112
- { id: 4, name: 'Charlie', age: 35 },
113
- ]);
114
- });
115
- describe('that contain a comparison', () => {
116
- describe('for greater than', () => {
117
- it('for numbers', async () => {
118
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
119
- const entitiesGt = await Methods.findAll({
120
- where: {
121
- or: [{ age: { gt: 25 } }],
122
- },
123
- }, '/person');
124
- expect(entitiesGt).toStrictEqual([
125
- { id: 1, name: 'Alice', age: 30 },
126
- { id: 4, name: 'Charlie', age: 35 },
127
- ]);
128
- });
129
- it('for dates', async () => {
130
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"}]}');
131
- const entitiesGt = await Methods.findAll({
132
- where: {
133
- or: [{ birthDate: { gt: '2023-07-04T13:18:26.870Z' } }],
134
- },
135
- }, '/person');
136
- expect(entitiesGt).toStrictEqual([
137
- { id: 1, name: 'Alice', birthDate: new Date('2023-07-05T13:18:26.870Z') },
138
- ]);
139
- });
140
- });
141
- describe('for greater than or equal', () => {
142
- it('for numbers', async () => {
143
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
144
- const entitiesGte = await Methods.findAll({
145
- where: {
146
- or: [{ age: { gte: 25 } }],
147
- },
148
- }, '/person');
149
- expect(entitiesGte).toStrictEqual([
150
- { id: 1, name: 'Alice', age: 30 },
151
- { id: 3, name: 'Bob', age: 25 },
152
- { id: 4, name: 'Charlie', age: 35 },
153
- ]);
154
- });
155
- it('for dates', async () => {
156
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"},{"id":2,"name":"Bob","birthDate":"2023-07-04T13:18:26.870Z"}]}');
157
- const entitiesGt = await Methods.findAll({
158
- where: {
159
- or: [{ birthDate: { gte: '2023-07-04T13:18:26.870Z' } }],
160
- },
161
- }, '/person');
162
- expect(entitiesGt).toStrictEqual([
163
- { id: 1, name: 'Alice', birthDate: new Date('2023-07-05T13:18:26.870Z') },
164
- { id: 2, name: 'Bob', birthDate: new Date('2023-07-04T13:18:26.870Z') },
165
- ]);
166
- });
167
- });
168
- describe('for less than', () => {
169
- it('for numbers', async () => {
170
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
171
- const entitiesLt = await Methods.findAll({
172
- where: {
173
- or: [{ age: { lt: 25 } }],
174
- },
175
- }, '/person');
176
- expect(entitiesLt).toStrictEqual([{ id: 2, name: 'Alice', age: 20 }]);
177
- });
178
- it('for dates', async () => {
179
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"}]}');
180
- const entitiesGt = await Methods.findAll({
181
- where: {
182
- or: [{ birthDate: { lt: '2023-07-06T13:18:26.870Z' } }],
183
- },
184
- }, '/person');
185
- expect(entitiesGt).toStrictEqual([
186
- { id: 1, name: 'Alice', birthDate: new Date('2023-07-05T13:18:26.870Z') },
187
- ]);
188
- });
189
- });
190
- describe('for less than or equal', () => {
191
- it('for numbers', async () => {
192
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
193
- const entitiesLt = await Methods.findAll({
194
- where: {
195
- or: [{ age: { lte: 25 } }],
196
- },
197
- }, '/person');
198
- expect(entitiesLt).toStrictEqual([
199
- { id: 2, name: 'Alice', age: 20 },
200
- { id: 3, name: 'Bob', age: 25 },
201
- ]);
202
- });
203
- it('for dates', async () => {
204
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"},{"id":2,"name":"Bob","birthDate":"2023-07-04T13:18:26.870Z"}]}');
205
- const entitiesGt = await Methods.findAll({
206
- where: {
207
- or: [{ birthDate: { lte: '2023-07-05T13:18:26.870Z' } }],
208
- },
209
- }, '/person');
210
- expect(entitiesGt).toStrictEqual([
211
- { id: 1, name: 'Alice', birthDate: new Date('2023-07-05T13:18:26.870Z') },
212
- { id: 2, name: 'Bob', birthDate: new Date('2023-07-04T13:18:26.870Z') },
213
- ]);
214
- });
215
- });
216
- describe('for equal', () => {
217
- it('for numbers', async () => {
218
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
219
- const entitiesEq = await Methods.findAll({
220
- where: {
221
- or: [{ age: { eq: 25 } }],
222
- },
223
- }, '/person');
224
- expect(entitiesEq).toStrictEqual([{ id: 3, name: 'Bob', age: 25 }]);
225
- });
226
- it('for dates', async () => {
227
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"},{"id":2,"name":"Bob","birthDate":"2023-07-04T13:18:26.870Z"}]}');
228
- const entitiesGt = await Methods.findAll({
229
- where: {
230
- or: [{ birthDate: { eq: '2023-07-04T13:18:26.870Z' } }],
231
- },
232
- }, '/person');
233
- expect(entitiesGt).toStrictEqual([
234
- { id: 2, name: 'Bob', birthDate: new Date('2023-07-04T13:18:26.870Z') },
235
- ]);
236
- });
237
- it('for boolean values', async () => {
238
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","married":false},{"id":2,"name":"Bob","married":true}]}');
239
- const entitiesEq = await Methods.findAll({
240
- where: {
241
- or: [{ married: { eq: true } }],
242
- },
243
- }, '/person');
244
- expect(entitiesEq).toStrictEqual([{ id: 2, name: 'Bob', married: true }]);
245
- });
246
- it('for strings', async () => {
247
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]}');
248
- const entitiesEq = await Methods.findAll({
249
- where: {
250
- or: [{ name: { eq: 'Alice' } }],
251
- },
252
- }, '/person');
253
- expect(entitiesEq).toStrictEqual([{ id: 1, name: 'Alice' }]);
254
- });
255
- });
256
- describe('for not equal', () => {
257
- it('for numbers', async () => {
258
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Alice","age":20},{"id":3,"name":"Bob","age":25},{"id":4,"name":"Charlie","age":35}]}');
259
- const entitiesNe = await Methods.findAll({
260
- where: {
261
- or: [{ age: { ne: 25 } }],
262
- },
263
- }, '/person');
264
- expect(entitiesNe).toStrictEqual([
265
- { id: 1, name: 'Alice', age: 30 },
266
- { id: 2, name: 'Alice', age: 20 },
267
- { id: 4, name: 'Charlie', age: 35 },
268
- ]);
269
- });
270
- it('for dates', async () => {
271
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","birthDate":"2023-07-05T13:18:26.870Z"},{"id":2,"name":"Bob","birthDate":"2023-07-04T13:18:26.870Z"}]}');
272
- const entitiesGt = await Methods.findAll({
273
- where: {
274
- or: [{ birthDate: { ne: '2023-07-04T13:18:26.870Z' } }],
275
- },
276
- }, '/person');
277
- expect(entitiesGt).toStrictEqual([
278
- { id: 1, name: 'Alice', birthDate: new Date('2023-07-05T13:18:26.870Z') },
279
- ]);
280
- });
281
- it('for boolean values', async () => {
282
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","married":false},{"id":2,"name":"Bob","married":true}]}');
283
- const entitiesEq = await Methods.findAll({
284
- where: {
285
- or: [{ married: { ne: true } }],
286
- },
287
- }, '/person');
288
- expect(entitiesEq).toStrictEqual([{ id: 1, name: 'Alice', married: false }]);
289
- });
290
- it('for strings', async () => {
291
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]}');
292
- const entitiesEq = await Methods.findAll({
293
- where: {
294
- or: [{ name: { ne: 'Alice' } }],
295
- },
296
- }, '/person');
297
- expect(entitiesEq).toStrictEqual([{ id: 2, name: 'Bob' }]);
298
- });
299
- });
300
- });
301
- });
302
- describe('should sort entities using order clauses', () => {
303
- it('in ascending order', async () => {
304
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
305
- const entities = await Methods.findAll({
306
- order: [['age', 'ASC']],
307
- }, '/person');
308
- expect(entities).toStrictEqual([
309
- { id: 2, name: 'Bob', age: 25 },
310
- { id: 1, name: 'Alice', age: 30 },
311
- { id: 3, name: 'Charlie', age: 35 },
312
- ]);
313
- });
314
- it('in descending order', async () => {
315
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
316
- const entities = await Methods.findAll({
317
- order: [['age', 'DESC']],
318
- }, '/person');
319
- expect(entities).toStrictEqual([
320
- { id: 3, name: 'Charlie', age: 35 },
321
- { id: 1, name: 'Alice', age: 30 },
322
- { id: 2, name: 'Bob', age: 25 },
323
- ]);
324
- });
325
- });
326
- it('limits the number of entities returned using the limit option', async () => {
327
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
328
- const entities = await Methods.findAll({ limit: 2 }, '/person');
329
- expect(entities).toStrictEqual([
330
- { id: 1, name: 'Alice', age: 30 },
331
- { id: 2, name: 'Bob', age: 25 },
332
- ]);
333
- });
334
- it('skips the specified number of entities using the offset option', async () => {
335
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
336
- const entities = await Methods.findAll({ offset: 1 }, '/person');
337
- expect(entities).toStrictEqual([
338
- { id: 2, name: 'Bob', age: 25 },
339
- { id: 3, name: 'Charlie', age: 35 },
340
- ]);
341
- });
342
- });
343
- describe('updateOne', () => {
344
- it('should update an existing record', async () => {
345
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
346
- const result = await Methods.updateOne(1, { name: 'Jane' }, '/person');
347
- expect(result).toStrictEqual({
348
- id: 1,
349
- name: 'Jane',
350
- age: 30,
351
- });
352
- });
353
- });
354
- describe('deleteOne', () => {
355
- it('should delete an entity', async () => {
356
- await writeFile(dbPath, '{"person":[{"id":1,"name":"Alice","age":30},{"id":2,"name":"Bob","age":25},{"id":3,"name":"Charlie","age":35}]}');
357
- await Methods.deleteOne(1, '/person');
358
- const entities = await Methods.findAll({}, '/person');
359
- expect(entities).toStrictEqual([
360
- { id: 2, name: 'Bob', age: 25 },
361
- { id: 3, name: 'Charlie', age: 35 },
362
- ]);
363
- });
364
- });
365
- });
366
- //# sourceMappingURL=methods.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,46 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { parseQuery } from './parseQuery.js';
3
- describe('parseQuery', () => {
4
- it('should parse the query correctly with valid parameters', () => {
5
- const queryParams = {
6
- $filter: "AuthorId eq 1 and (Title ne 'example' or Year gt 2020)",
7
- $orderby: 'Title asc,Year desc',
8
- resourceDefinition: {},
9
- };
10
- const expectedParsedQuery = {
11
- where: {
12
- and: [
13
- { AuthorId: { eq: 1 } },
14
- {
15
- or: [{ Title: { ne: 'example' } }, { Year: { gt: 2020 } }],
16
- },
17
- ],
18
- },
19
- order: [
20
- ['Title', 'ASC'],
21
- ['Year', 'DESC'],
22
- ],
23
- };
24
- const parsedQuery = parseQuery(queryParams);
25
- expect(parsedQuery).toStrictEqual(expectedParsedQuery);
26
- });
27
- it('should parse the query with special characters in $orderby', () => {
28
- const queryParams = {
29
- $filter: "Title eq 'example'",
30
- $orderby: 'Title asc,$author/id desc',
31
- resourceDefinition: {},
32
- };
33
- const expectedParsedQuery = {
34
- where: {
35
- Title: { eq: 'example' },
36
- },
37
- order: [
38
- ['Title', 'ASC'],
39
- ['AuthorId', 'DESC'],
40
- ],
41
- };
42
- const parsedQuery = parseQuery(queryParams);
43
- expect(parsedQuery).toStrictEqual(expectedParsedQuery);
44
- });
45
- });
46
- //# sourceMappingURL=parseQuery.test.js.map