deno.land / x / expect@v0.4.2 / mock_test.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import { assert, assertEquals,} from "https://deno.land/std@0.97.0/testing/asserts.ts";
import * as mock from "./mock.ts";
Deno.test({ name: "canMockFunctions", fn: () => { assertEquals(typeof mock.fn(), "function"); const f = mock.fn(); f(10); f(20);
const calls = mock.calls(f); assert(Array.isArray(calls)); assertEquals(calls.length, 2); assertEquals(calls.map((c: any) => c.args), [[10], [20]]); assertEquals(calls.map((c: any) => c.returned), [undefined, undefined]);
assert( calls.map((c: any) => typeof c.timestamp).every((t: string) => t === "number" ), ); },});
Deno.test({ name: "mockFunctionTracksReturns", fn: () => { const f = mock.fn( () => 1, () => { throw new Error("TEST"); }, ); try { f(); f(); } catch {} const calls = mock.calls(f); assert(calls[0].returns); assert(!calls[0].throws); assert(!calls[1].returns); assert(calls[1].throws); },});
Deno.test({ name: "mockFunctionCanHaveImplementations", fn: () => { const f = mock.fn( (n: number) => n, (n: number) => n * 2, (n: number) => n * 3, ); f(1); f(1); f(1); f(1); f(1);
const calls = mock.calls(f); assertEquals(calls.length, 5); assertEquals( calls.map((c: mock.MockCall) => c.returned), [1, 2, 3, undefined, undefined], ); },});
expect

Version Info

Tagged at
6 months ago