@teamkeel/testing-runtime 0.237.0 → 0.239.0
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.
- package/package.json +5 -3
- package/pnpm-lock.yaml +40 -0
- package/src/index.d.ts +7 -1
- package/src/index.test.ts +21 -0
- package/src/toHaveError.mjs +23 -0
- package/src/vitest-setup.mjs +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teamkeel/testing-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.239.0",
|
|
4
4
|
"description": "Internal package used by the generated @teamkeel/testing package",
|
|
5
5
|
"exports": "./src/index.mjs",
|
|
6
6
|
"typings": "src/index.d.ts",
|
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
+
"@types/lodash.ismatch": "^4.4.7",
|
|
17
18
|
"prettier": "2.7.1"
|
|
18
19
|
},
|
|
19
20
|
"dependencies": {
|
|
20
21
|
"jsonwebtoken": "^9.0.0",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
22
|
+
"kysely": "^0.23.4",
|
|
23
|
+
"lodash.ismatch": "^4.4.0",
|
|
24
|
+
"vitest": "^0.27.2"
|
|
23
25
|
}
|
|
24
26
|
}
|
package/pnpm-lock.yaml
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
lockfileVersion: 5.4
|
|
2
2
|
|
|
3
3
|
specifiers:
|
|
4
|
+
'@types/lodash.ismatch': ^4.4.7
|
|
4
5
|
jsonwebtoken: ^9.0.0
|
|
5
6
|
kysely: ^0.23.4
|
|
7
|
+
lodash.ismatch: ^4.4.0
|
|
6
8
|
prettier: 2.7.1
|
|
7
9
|
vitest: ^0.27.2
|
|
8
10
|
|
|
9
11
|
dependencies:
|
|
10
12
|
jsonwebtoken: 9.0.0
|
|
11
13
|
kysely: 0.23.4
|
|
14
|
+
lodash.ismatch: 4.4.0
|
|
12
15
|
vitest: 0.27.2
|
|
13
16
|
|
|
14
17
|
devDependencies:
|
|
18
|
+
'@types/lodash.ismatch': 4.4.7
|
|
15
19
|
prettier: 2.7.1
|
|
16
20
|
|
|
17
21
|
packages:
|
|
@@ -49,6 +53,7 @@ packages:
|
|
|
49
53
|
cpu: [arm64]
|
|
50
54
|
os: [darwin]
|
|
51
55
|
requiresBuild: true
|
|
56
|
+
dev: false
|
|
52
57
|
optional: true
|
|
53
58
|
|
|
54
59
|
/@esbuild/darwin-x64/0.16.17:
|
|
@@ -223,6 +228,16 @@ packages:
|
|
|
223
228
|
resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==}
|
|
224
229
|
dev: false
|
|
225
230
|
|
|
231
|
+
/@types/lodash.ismatch/4.4.7:
|
|
232
|
+
resolution: {integrity: sha512-ybydj07Fw8332Q4+LQSiSkxQCPkAZTt6YQHXyAISfa/HfFq8yWhhDF8lVr8s09eyG6W++iPRCkXgT5tXMA3e9g==}
|
|
233
|
+
dependencies:
|
|
234
|
+
'@types/lodash': 4.14.191
|
|
235
|
+
dev: true
|
|
236
|
+
|
|
237
|
+
/@types/lodash/4.14.191:
|
|
238
|
+
resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
|
|
239
|
+
dev: true
|
|
240
|
+
|
|
226
241
|
/@types/node/18.11.18:
|
|
227
242
|
resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==}
|
|
228
243
|
dev: false
|
|
@@ -240,6 +255,7 @@ packages:
|
|
|
240
255
|
|
|
241
256
|
/assertion-error/1.1.0:
|
|
242
257
|
resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
|
|
258
|
+
dev: false
|
|
243
259
|
|
|
244
260
|
/buffer-equal-constant-time/1.0.1:
|
|
245
261
|
resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
|
|
@@ -247,6 +263,7 @@ packages:
|
|
|
247
263
|
|
|
248
264
|
/buffer-from/1.1.2:
|
|
249
265
|
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
|
|
266
|
+
dev: false
|
|
250
267
|
|
|
251
268
|
/cac/6.7.14:
|
|
252
269
|
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
|
|
@@ -268,6 +285,7 @@ packages:
|
|
|
268
285
|
|
|
269
286
|
/check-error/1.0.2:
|
|
270
287
|
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
|
|
288
|
+
dev: false
|
|
271
289
|
|
|
272
290
|
/debug/4.3.4:
|
|
273
291
|
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
|
@@ -286,6 +304,7 @@ packages:
|
|
|
286
304
|
engines: {node: '>=6'}
|
|
287
305
|
dependencies:
|
|
288
306
|
type-detect: 4.0.8
|
|
307
|
+
dev: false
|
|
289
308
|
|
|
290
309
|
/ecdsa-sig-formatter/1.0.11:
|
|
291
310
|
resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
|
|
@@ -333,23 +352,28 @@ packages:
|
|
|
333
352
|
|
|
334
353
|
/function-bind/1.1.1:
|
|
335
354
|
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
|
355
|
+
dev: false
|
|
336
356
|
|
|
337
357
|
/get-func-name/2.0.0:
|
|
338
358
|
resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
|
|
359
|
+
dev: false
|
|
339
360
|
|
|
340
361
|
/has/1.0.3:
|
|
341
362
|
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
|
|
342
363
|
engines: {node: '>= 0.4.0'}
|
|
343
364
|
dependencies:
|
|
344
365
|
function-bind: 1.1.1
|
|
366
|
+
dev: false
|
|
345
367
|
|
|
346
368
|
/is-core-module/2.11.0:
|
|
347
369
|
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
|
|
348
370
|
dependencies:
|
|
349
371
|
has: 1.0.3
|
|
372
|
+
dev: false
|
|
350
373
|
|
|
351
374
|
/jsonc-parser/3.2.0:
|
|
352
375
|
resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
|
|
376
|
+
dev: false
|
|
353
377
|
|
|
354
378
|
/jsonwebtoken/9.0.0:
|
|
355
379
|
resolution: {integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==}
|
|
@@ -386,6 +410,10 @@ packages:
|
|
|
386
410
|
engines: {node: '>=14'}
|
|
387
411
|
dev: false
|
|
388
412
|
|
|
413
|
+
/lodash.ismatch/4.4.0:
|
|
414
|
+
resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==}
|
|
415
|
+
dev: false
|
|
416
|
+
|
|
389
417
|
/lodash/4.17.21:
|
|
390
418
|
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
|
391
419
|
dev: false
|
|
@@ -394,6 +422,7 @@ packages:
|
|
|
394
422
|
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
|
|
395
423
|
dependencies:
|
|
396
424
|
get-func-name: 2.0.0
|
|
425
|
+
dev: false
|
|
397
426
|
|
|
398
427
|
/lru-cache/6.0.0:
|
|
399
428
|
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
|
@@ -423,9 +452,11 @@ packages:
|
|
|
423
452
|
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
|
|
424
453
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
|
425
454
|
hasBin: true
|
|
455
|
+
dev: false
|
|
426
456
|
|
|
427
457
|
/path-parse/1.0.7:
|
|
428
458
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
|
459
|
+
dev: false
|
|
429
460
|
|
|
430
461
|
/pathe/0.2.0:
|
|
431
462
|
resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
|
|
@@ -433,9 +464,11 @@ packages:
|
|
|
433
464
|
|
|
434
465
|
/pathe/1.1.0:
|
|
435
466
|
resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==}
|
|
467
|
+
dev: false
|
|
436
468
|
|
|
437
469
|
/pathval/1.1.1:
|
|
438
470
|
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
|
|
471
|
+
dev: false
|
|
439
472
|
|
|
440
473
|
/picocolors/1.0.0:
|
|
441
474
|
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
|
@@ -447,6 +480,7 @@ packages:
|
|
|
447
480
|
jsonc-parser: 3.2.0
|
|
448
481
|
mlly: 1.1.0
|
|
449
482
|
pathe: 1.1.0
|
|
483
|
+
dev: false
|
|
450
484
|
|
|
451
485
|
/postcss/8.4.21:
|
|
452
486
|
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
|
|
@@ -494,10 +528,12 @@ packages:
|
|
|
494
528
|
|
|
495
529
|
/siginfo/2.0.0:
|
|
496
530
|
resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
|
|
531
|
+
dev: false
|
|
497
532
|
|
|
498
533
|
/source-map-js/1.0.2:
|
|
499
534
|
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
|
500
535
|
engines: {node: '>=0.10.0'}
|
|
536
|
+
dev: false
|
|
501
537
|
|
|
502
538
|
/source-map-support/0.5.21:
|
|
503
539
|
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
|
|
@@ -513,6 +549,7 @@ packages:
|
|
|
513
549
|
|
|
514
550
|
/stackback/0.0.2:
|
|
515
551
|
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
|
552
|
+
dev: false
|
|
516
553
|
|
|
517
554
|
/strip-literal/1.0.0:
|
|
518
555
|
resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==}
|
|
@@ -523,6 +560,7 @@ packages:
|
|
|
523
560
|
/supports-preserve-symlinks-flag/1.0.0:
|
|
524
561
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
|
525
562
|
engines: {node: '>= 0.4'}
|
|
563
|
+
dev: false
|
|
526
564
|
|
|
527
565
|
/tinybench/2.3.1:
|
|
528
566
|
resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
|
|
@@ -541,9 +579,11 @@ packages:
|
|
|
541
579
|
/type-detect/4.0.8:
|
|
542
580
|
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
|
|
543
581
|
engines: {node: '>=4'}
|
|
582
|
+
dev: false
|
|
544
583
|
|
|
545
584
|
/ufo/1.0.1:
|
|
546
585
|
resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==}
|
|
586
|
+
dev: false
|
|
547
587
|
|
|
548
588
|
/vite-node/0.27.2_@types+node@18.11.18:
|
|
549
589
|
resolution: {integrity: sha512-IDwuVhslF10qCnWOGJui7/2KksAOBHi+UbVo6Pqt4f5lgn+kS2sVvYDsETRG5PSuslisGB5CFGvb9I6FQgymBQ==}
|
package/src/index.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
// See https://vitest.dev/guide/extending-matchers.html for docs
|
|
2
2
|
// on typing custom matchers
|
|
3
3
|
|
|
4
|
+
interface ActionError {
|
|
5
|
+
code: string;
|
|
6
|
+
message: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
4
9
|
interface CustomMatchers<R = unknown> {
|
|
5
|
-
toHaveAuthorizationError():
|
|
10
|
+
toHaveAuthorizationError(): void;
|
|
11
|
+
toHaveError(err: ActionError): void;
|
|
6
12
|
}
|
|
7
13
|
|
|
8
14
|
declare global {
|
package/src/index.test.ts
CHANGED
|
@@ -14,3 +14,24 @@ test("not.toHaveAuthorizationError", async () => {
|
|
|
14
14
|
});
|
|
15
15
|
await expect(p).not.toHaveAuthorizationError();
|
|
16
16
|
});
|
|
17
|
+
|
|
18
|
+
test("toHaveError", async () => {
|
|
19
|
+
const p = Promise.reject({
|
|
20
|
+
code: "ERR_INVALID_INPUT",
|
|
21
|
+
message: "Invalid input",
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
await expect(p).toHaveError({
|
|
25
|
+
code: "ERR_INVALID_INPUT",
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test("not.toHaveError", async () => {
|
|
30
|
+
const p = Promise.resolve({
|
|
31
|
+
id: "foo",
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
await expect(p).not.toHaveError({
|
|
35
|
+
code: "ERR_INVALID_INPUT",
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import isMatch from 'lodash.ismatch'
|
|
2
|
+
|
|
3
|
+
export async function toHaveError(received, expected) {
|
|
4
|
+
const { isNot } = this;
|
|
5
|
+
try {
|
|
6
|
+
const v = await received;
|
|
7
|
+
|
|
8
|
+
return {
|
|
9
|
+
pass: false,
|
|
10
|
+
message: () => 'expected value to reject',
|
|
11
|
+
actual: v,
|
|
12
|
+
expected
|
|
13
|
+
};
|
|
14
|
+
} catch (err) {
|
|
15
|
+
return {
|
|
16
|
+
pass: isMatch(err, expected),
|
|
17
|
+
message: () =>
|
|
18
|
+
`expected ${isNot ? "no " : ""} ${JSON.stringify(err)} error`,
|
|
19
|
+
actual: err,
|
|
20
|
+
expected
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/vitest-setup.mjs
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
// we tell Vitest to load that config file.
|
|
4
4
|
|
|
5
5
|
import { expect } from "vitest";
|
|
6
|
+
import { toHaveError } from "./toHaveError";
|
|
6
7
|
import { toHaveAuthorizationError } from "./toHaveAuthorizationError";
|
|
7
8
|
|
|
8
9
|
expect.extend({
|
|
10
|
+
toHaveError,
|
|
9
11
|
toHaveAuthorizationError,
|
|
10
12
|
});
|