Skip to content

Commit d43e065

Browse files
committed
Make tests use act
1 parent 987dbdf commit d43e065

22 files changed

Lines changed: 400 additions & 334 deletions

packages/cx/src/hooks/invokeCallback.spec.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { createTestRenderer } from "../util/test/createTestRenderer";
55
import { invokeCallback } from "./invokeCallback";
66

77
describe("invokeCallback", () => {
8-
it("works with functions", () => {
8+
it("works with functions", async () => {
99
const FComp = createFunctionalComponent(({ onTest }: { onTest: (v: any) => void }) => {
1010
invokeCallback(null!, onTest, "works");
1111
return (
@@ -17,7 +17,7 @@ describe("invokeCallback", () => {
1717

1818
let store = new Store();
1919
let value;
20-
const component = createTestRenderer(store, {
20+
const component = await createTestRenderer(store, {
2121
type: FComp,
2222
onTest: (v: any) => {
2323
value = v;
@@ -28,7 +28,7 @@ describe("invokeCallback", () => {
2828
assert.equal(value, "works");
2929
});
3030

31-
it("works with controller methods", () => {
31+
it("works with controller methods", async () => {
3232
const FComp = createFunctionalComponent(({ onTest }: { onTest: (v: any) => void }) => {
3333
return (
3434
<cx>
@@ -43,7 +43,7 @@ describe("invokeCallback", () => {
4343

4444
let store = new Store();
4545
let value;
46-
const component = createTestRenderer(store, {
46+
const component = await createTestRenderer(store, {
4747
type: FComp,
4848
onTest: "onTest",
4949
controller: {

packages/cx/src/hooks/resolveCallback.spec.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { createTestRenderer } from "../util/test/createTestRenderer";
55
import { resolveCallback } from "./resolveCallback";
66

77
describe("resolveCallback", () => {
8-
it("works with functions", () => {
8+
it("works with functions", async () => {
99
const FComp = createFunctionalComponent(({ onTest }: { onTest: (value: string) => void }) => {
1010
let callback = resolveCallback(onTest);
1111
assert(typeof callback === "function");
@@ -19,7 +19,7 @@ describe("resolveCallback", () => {
1919

2020
let store = new Store();
2121
let value;
22-
const component = createTestRenderer(
22+
const component = await createTestRenderer(
2323
store,
2424
<cx>
2525
<FComp
@@ -34,7 +34,7 @@ describe("resolveCallback", () => {
3434
assert.equal(value, "works");
3535
});
3636

37-
it("works with controller methods", () => {
37+
it("works with controller methods", async () => {
3838
const FComp = createFunctionalComponent(({ onTest }: { onTest: string | ((value: string) => void) }) => {
3939
let callback = resolveCallback(onTest);
4040
assert(typeof callback === "function");
@@ -51,7 +51,7 @@ describe("resolveCallback", () => {
5151

5252
let store = new Store();
5353
let value;
54-
const component = createTestRenderer(
54+
const component = await createTestRenderer(
5555
store,
5656
<cx>
5757
<FComp

packages/cx/src/hooks/store.spec.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { createFunctionalComponent } from "../ui/createFunctionalComponent";
77
import { ref } from "./store";
88

99
describe("ref", () => {
10-
it("allows store references in functional components", () => {
10+
it("allows store references in functional components", async () => {
1111
const FComp = createFunctionalComponent(({}) => {
1212
let testValue = ref({ bind: "x", defaultValue: 10 });
1313
return (
@@ -19,7 +19,7 @@ describe("ref", () => {
1919

2020
let store = new Store();
2121

22-
const component = createTestRenderer(store, FComp);
22+
const component = await createTestRenderer(store, FComp);
2323

2424
let tree = component.toJSON();
2525
assert.deepEqual(tree, {
@@ -29,7 +29,7 @@ describe("ref", () => {
2929
});
3030
});
3131

32-
it("can be used to adapt any prop passed to a functional component", () => {
32+
it("can be used to adapt any prop passed to a functional component", async () => {
3333
const FComp = createFunctionalComponent(({ value }: { value: Prop<any> }) => {
3434
return (
3535
<cx>
@@ -40,8 +40,8 @@ describe("ref", () => {
4040

4141
let store = new Store({ data: { value: 100 } });
4242

43-
function test(value: Prop<any>, expectation: any) {
44-
const component = createTestRenderer(store, <FComp value={value} />);
43+
async function test(value: Prop<any>, expectation: any) {
44+
const component = await createTestRenderer(store, <FComp value={value} />);
4545
let tree = component.toJSON();
4646
assert.deepEqual(tree, {
4747
type: "div",
@@ -50,18 +50,18 @@ describe("ref", () => {
5050
});
5151
}
5252

53-
test({ bind: "value" }, "x100");
54-
test({ expr: "{value}" }, "x100");
55-
test({ tpl: "{value:n;2}" }, "x100.00");
56-
test(200, "x200");
57-
test(() => 500, "x500");
58-
test(
53+
await test({ bind: "value" }, "x100");
54+
await test({ expr: "{value}" }, "x100");
55+
await test({ tpl: "{value:n;2}" }, "x100.00");
56+
await test(200, "x200");
57+
await test(() => 500, "x500");
58+
await test(
5959
computable("value", (value: string) => value + 100),
6060
"x200",
6161
);
62-
test(null, "xnull");
63-
test(undefined, "xundefined");
64-
test(0, "x0");
65-
test(false, "xfalse");
62+
await test(null, "xnull");
63+
await test(undefined, "xundefined");
64+
await test(0, "x0");
65+
await test(false, "xfalse");
6666
});
6767
});

packages/cx/src/hooks/useTrigger.spec.tsx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import assert from "assert";
2-
import { createTestRenderer } from "../util/test/createTestRenderer";
2+
import { createTestRenderer, act } from "../util/test/createTestRenderer";
33
import { Store } from "../data/Store";
44
import { createFunctionalComponent } from "../ui/createFunctionalComponent";
55
import { useTrigger } from "./useTrigger";
66

77
describe("useTrigger", () => {
8-
it("works", () => {
8+
it("works", async () => {
99
let last = null;
1010

1111
const FComp = createFunctionalComponent(({ ...props }) => {
@@ -23,17 +23,19 @@ describe("useTrigger", () => {
2323
let store = new Store();
2424
let test = store.ref("test", 1);
2525

26-
const component = createTestRenderer(store, FComp);
26+
const component = await createTestRenderer(store, FComp);
2727

2828
component.toJSON();
2929
assert.equal(last, null); //trigger did not fire because it didn't receive true as the last argument
3030

31-
test.set(2);
31+
await act(async () => {
32+
test.set(2);
33+
});
3234
component.toJSON();
3335
assert.equal(last, 2);
3436
});
3537

36-
it("fires immediately if the last argument is true", () => {
38+
it("fires immediately if the last argument is true", async () => {
3739
let last = null;
3840

3941
const FComp = createFunctionalComponent(({ ...props }) => {
@@ -55,17 +57,19 @@ describe("useTrigger", () => {
5557
let store = new Store();
5658
let test = store.ref("test", 1);
5759

58-
const component = createTestRenderer(store, FComp);
60+
const component = await createTestRenderer(store, FComp);
5961

6062
component.toJSON();
6163
assert.equal(last, 1);
6264

63-
test.set(2);
65+
await act(async () => {
66+
test.set(2);
67+
});
6468
component.toJSON();
6569
assert.equal(last, 2);
6670
});
6771

68-
it("accepts refs as arguments", () => {
72+
it("accepts refs as arguments", async () => {
6973
let last = null;
7074

7175
let store = new Store();
@@ -87,12 +91,14 @@ describe("useTrigger", () => {
8791
);
8892
});
8993

90-
const component = createTestRenderer(store, FComp);
94+
const component = await createTestRenderer(store, FComp);
9195

9296
component.toJSON();
9397
assert.equal(last, 1);
9498

95-
test.set(2);
99+
await act(async () => {
100+
test.set(2);
101+
});
96102
component.toJSON();
97103
assert.equal(last, 2);
98104
});

0 commit comments

Comments
 (0)