Skip to content

Commit

Permalink
fix(events): Add setTimeout after events to allow of async side effec…
Browse files Browse the repository at this point in the history
…ts to take place
  • Loading branch information
ademuk committed Dec 23, 2020
1 parent dfae4c3 commit 5104b32
Show file tree
Hide file tree
Showing 3 changed files with 212 additions and 2 deletions.
2 changes: 1 addition & 1 deletion server/render.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ window.result = getWrapperComponent().then(
render(WrapperComponent).then(
() =>
new Promise((resolve, reject) =>
setTimeout(() => (window.error ? reject(window.error) : resolve()), 0)
setTimeout(() => (window.error ? reject(window.error) : resolve()))
)
)
);
4 changes: 3 additions & 1 deletion server/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,9 @@ const runEventStep = (
);
});

return Promise.resolve(["success", context]);
return new Promise((resolve) =>
setTimeout(() => resolve(["success", context]), 10)
);
};

const runAssertionStep = (
Expand Down
208 changes: 208 additions & 0 deletions src/Components.tsx.tests.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,214 @@
}
],
"name": "Render project components"
},
{
"id": "0837dde0-453e-11eb-8435-8385c7863d38",
"steps": [
{
"type": "mock",
"definition": {
"name": "fetch",
"args": ["/module-component"],
"return": [
{
"file": "App.tsx",
"components": [
{
"exportName": "default",
"name": "App"
}
]
},
{
"file": "Components.tsx",
"components": [
{
"exportName": "default",
"name": "Components"
}
]
}
]
}
},
{
"type": "mock",
"definition": {
"name": "fetch",
"args": ["/module-test"],
"return": [
{
"file": "App.tsx",
"components": [
{
"name": "App",
"tests": [
{
"id": "c34b2f30-1c83-11eb-a8c1-1da52322ddf8",
"steps": [
{
"type": "mock",
"definition": {
"name": "fetch",
"args": ["/module-component"],
"return": []
}
},
{
"type": "render",
"definition": {
"props": {}
}
},
{
"type": "event",
"definition": {
"type": "click",
"target": "Look for other components"
}
}
]
}
],
"exportName": "default"
}
]
}
]
}
},
{
"type": "render",
"definition": {
"props": {},
"wrapper": {
"file": "react-router-dom",
"exportName": "MemoryRouter",
"props": {}
}
}
},
{
"type": "event",
"definition": {
"type": "click",
"target": "Look for other components"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "Components.tsx"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "Components"
}
}
],
"name": "Look for other components"
},
{
"id": "6e725e50-453e-11eb-8435-8385c7863d38",
"steps": [
{
"type": "mock",
"definition": {
"name": "fetch",
"args": ["/module-component"],
"return": [
{
"file": "App.tsx",
"components": [
{
"exportName": "default",
"name": "App"
}
]
},
{
"file": "Components.tsx",
"components": [
{
"exportName": "default",
"name": "Components"
}
]
}
]
}
},
{
"type": "mock",
"definition": {
"name": "fetch",
"args": ["/module-test"],
"return": []
}
},
{
"type": "render",
"definition": {
"props": {},
"wrapper": {
"file": "react-router-dom",
"exportName": "MemoryRouter",
"props": {}
}
}
},
{
"type": "assertion",
"definition": {
"type": "mock",
"target": {
"name": "fetch",
"args": ["/module-component"]
}
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "App.tsx"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "App"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "Components.tsx"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "Components"
}
},
{
"type": "assertion",
"definition": {
"type": "text",
"target": "You don't have any tests yet"
}
}
],
"name": "Load components if no tests found"
}
]
}
Expand Down

0 comments on commit 5104b32

Please sign in to comment.