Skip to content

Commit 6ed9f3f

Browse files
committed
update test to read from body instead of text
1 parent aa774f4 commit 6ed9f3f

File tree

1 file changed

+37
-25
lines changed

1 file changed

+37
-25
lines changed

integration/request-test.ts

+37-25
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,27 @@ test.beforeAll(async () => {
1313
"app/routes/index.jsx": js`
1414
import { json } from "@remix-run/node";
1515
import { Form, useLoaderData, useActionData } from "@remix-run/react";
16-
export async function loader({ request }) {
17-
let text = (await request.text());
16+
17+
async function requestToJson(request) {
18+
let body = null;
19+
20+
if (request.body) {
21+
let fd = await request.formData();
22+
body = Object.fromEntries(fd.entries());
23+
}
24+
1825
return json({
1926
method: request.method,
2027
url: request.url,
2128
headers: Object.fromEntries(request.headers.entries()),
22-
text,
29+
body,
2330
});
2431
}
25-
export async function action({ request }) {
26-
let text = (await request.text());
27-
return json({
28-
method: request.method,
29-
url: request.url,
30-
headers: Object.fromEntries(request.headers.entries()),
31-
text,
32-
});
32+
export async function loader({ request }) {
33+
return requestToJson(request);
34+
}
35+
export function action({ request }) {
36+
return requestToJson(request);
3337
}
3438
export default function Index() {
3539
let loaderData = useLoaderData();
@@ -42,16 +46,24 @@ test.beforeAll(async () => {
4246
Set Cookie
4347
</button>
4448
<Form method="get" reloadDocument>
45-
<button type="submit" id="submit-get-ssr" name="type" value="ssr" />
49+
<button type="submit" id="submit-get-ssr" name="type" value="ssr">
50+
SSR GET
51+
</button>
4652
</Form>
4753
<Form method="get">
48-
<button type="submit" id="submit-get-csr" name="type" value="csr" />
54+
<button type="submit" id="submit-get-csr" name="type" value="csr">
55+
CSR GET
56+
</button>
4957
</Form>
5058
<Form method="post" reloadDocument>
51-
<button type="submit" id="submit-post-ssr" name="type" value="ssr" />
59+
<button type="submit" id="submit-post-ssr" name="type" value="ssr">
60+
SSR POST
61+
</button>
5262
</Form>
5363
<Form method="post">
54-
<button type="submit" id="submit-post-csr" name="type" value="csr" />
64+
<button type="submit" id="submit-post-csr" name="type" value="csr">
65+
CSR POST
66+
</button>
5567
</Form>
5668
<pre id="loader-data">{JSON.stringify(loaderData)}</pre>
5769
{actionData ?
@@ -78,15 +90,15 @@ test("loader request on SSR GET requests", async ({ page }) => {
7890
expect(loaderData.method).toEqual("GET");
7991
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
8092
expect(loaderData.headers.cookie).toEqual(undefined);
81-
expect(loaderData.text).toEqual("");
93+
expect(loaderData.body).toEqual(null);
8294

8395
await app.clickElement("#submit-get-ssr");
8496

8597
loaderData = JSON.parse(await page.locator("#loader-data").innerHTML());
8698
expect(loaderData.method).toEqual("GET");
8799
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/\?type=ssr$/);
88100
expect(loaderData.headers.cookie).toEqual("cookie=nomnom");
89-
expect(loaderData.text).toEqual("");
101+
expect(loaderData.body).toEqual(null);
90102
});
91103

92104
test("loader request on CSR GET requests", async ({ page }) => {
@@ -98,15 +110,15 @@ test("loader request on CSR GET requests", async ({ page }) => {
98110
expect(loaderData.method).toEqual("GET");
99111
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
100112
expect(loaderData.headers.cookie).toEqual(undefined);
101-
expect(loaderData.text).toEqual("");
113+
expect(loaderData.body).toEqual(null);
102114

103115
await app.clickElement("#submit-get-csr");
104116

105117
loaderData = JSON.parse(await page.locator("#loader-data").innerHTML());
106118
expect(loaderData.method).toEqual("GET");
107119
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/\?type=csr$/);
108120
expect(loaderData.headers.cookie).toEqual("cookie=nomnom");
109-
expect(loaderData.text).toEqual("");
121+
expect(loaderData.body).toEqual(null);
110122
});
111123

112124
test("action + loader requests SSR POST requests", async ({ page }) => {
@@ -118,21 +130,21 @@ test("action + loader requests SSR POST requests", async ({ page }) => {
118130
expect(loaderData.method).toEqual("GET");
119131
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
120132
expect(loaderData.headers.cookie).toEqual(undefined);
121-
expect(loaderData.text).toEqual("");
133+
expect(loaderData.body).toEqual(null);
122134

123135
await app.clickElement("#submit-post-ssr");
124136

125137
let actionData = JSON.parse(await page.locator("#action-data").innerHTML());
126138
expect(actionData.method).toEqual("POST");
127139
expect(actionData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
128140
expect(actionData.headers.cookie).toEqual("cookie=nomnom");
129-
expect(actionData.text).toEqual("type=ssr");
141+
expect(actionData.body).toEqual({ type: "ssr" });
130142

131143
loaderData = JSON.parse(await page.locator("#loader-data").innerHTML());
132144
expect(loaderData.method).toEqual("GET");
133145
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
134146
expect(loaderData.headers.cookie).toEqual("cookie=nomnom");
135-
expect(loaderData.text).toEqual("");
147+
expect(loaderData.body).toEqual(null);
136148
});
137149

138150
test("action + loader requests on CSR POST requests", async ({ page }) => {
@@ -144,19 +156,19 @@ test("action + loader requests on CSR POST requests", async ({ page }) => {
144156
expect(loaderData.method).toEqual("GET");
145157
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
146158
expect(loaderData.headers.cookie).toEqual(undefined);
147-
expect(loaderData.text).toEqual("");
159+
expect(loaderData.body).toEqual(null);
148160

149161
await app.clickElement("#submit-post-csr");
150162

151163
let actionData = JSON.parse(await page.locator("#action-data").innerHTML());
152164
expect(actionData.method).toEqual("POST");
153165
expect(actionData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
154166
expect(actionData.headers.cookie).toEqual("cookie=nomnom");
155-
expect(actionData.text).toEqual("type=csr");
167+
expect(actionData.body).toEqual({ type: "csr" });
156168

157169
loaderData = JSON.parse(await page.locator("#loader-data").innerHTML());
158170
expect(loaderData.method).toEqual("GET");
159171
expect(loaderData.url).toMatch(/^http:\/\/localhost:\d+\/$/);
160172
expect(loaderData.headers.cookie).toEqual("cookie=nomnom");
161-
expect(loaderData.text).toEqual("");
173+
expect(loaderData.body).toEqual(null);
162174
});

0 commit comments

Comments
 (0)