Skip to content

Commit d601488

Browse files
committed
Replaced getByRole with getByText
1 parent 02d34db commit d601488

12 files changed

Lines changed: 78 additions & 198 deletions
Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ const mockBody = {
3838
hasConsent: true,
3939
};
4040

41+
const mockInvalidBody = {
42+
name: "",
43+
email: "test@example.com",
44+
message: "",
45+
hasConsent: true,
46+
};
47+
4148
const mockNoConsent = {
4249
name: "Test No Consent",
4350
email: "testNoConsent@example.com",
@@ -139,7 +146,22 @@ describe("POST /api/contact", () => {
139146
});
140147

141148
const response = await POST(request);
142-
const data = await response.json();
149+
150+
expect(response.status).toBe(400);
151+
expect(mockNotion).toHaveBeenCalledTimes(0);
152+
expect(mockSlack).toHaveBeenCalledTimes(0);
153+
});
154+
155+
it("shouldn't call Notion or Slack and return 400 response when invalid body was passed", async () => {
156+
const request = new NextRequest("http://localhost", {
157+
method: "POST",
158+
body: JSON.stringify(mockInvalidBody),
159+
headers: {
160+
"Content-Type": "application/json",
161+
},
162+
});
163+
164+
const response = await POST(request);
143165

144166
expect(response.status).toBe(400);
145167
expect(mockNotion).toHaveBeenCalledTimes(0);

tests/playwright/bookACallSection.spec.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ test.describe("Book a call section", () => {
2121

2222
await Promise.allSettled([
2323
page.waitForURL(`${baseUrl}/${contactUrl}`, { timeout: 10000 }),
24+
expect(page.getByText("get in touch")).toBeVisible(),
2425
]);
25-
26-
await expect(
27-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
28-
).toBeVisible();
2926
});
3027
});

tests/playwright/forCtos.spec.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,11 @@ test.describe("For CTOs page", () => {
1212
await page.goto(`${baseUrl}/${forCtosUrl}`);
1313
});
1414

15-
test("should have title and heading", async ({ page }) => {
15+
test("should have title and corresponding text", async ({ page }) => {
1616
await expect(page).toHaveTitle(
1717
"CroCoder | Building Software that Builds Your Business",
1818
);
19-
await expect(
20-
page.getByRole("heading", {
21-
name: "Your Tech Strategy: Delivered, Scaled, and Sustained",
22-
}),
23-
).toBeVisible();
19+
await expect(page.getByText("Integrated solutions for CTOs")).toBeVisible();
2420
});
2521
});
2622

@@ -62,10 +58,7 @@ test.describe("Navigation via links to", () => {
6258

6359
await Promise.allSettled([
6460
page.waitForURL(`${baseUrl}/${contactUrl}`, { timeout: 10000 }),
61+
expect(page.getByText("get in touch")).toBeVisible(),
6562
]);
66-
67-
await expect(
68-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
69-
).toBeVisible();
7063
});
7164
});

tests/playwright/forCtosMobile.spec.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,11 @@ test.describe("For CTOs page in mobile view", () => {
2626
await page.goto(`${baseUrl}/${forCtosUrl}`);
2727
});
2828

29-
test("should have title and heading", async () => {
29+
test("should have title and corresponding text", async () => {
3030
await expect(page).toHaveTitle(
3131
"CroCoder | Building Software that Builds Your Business",
3232
);
33-
await expect(
34-
page.getByRole("heading", {
35-
name: "Your Tech Strategy: Delivered, Scaled, and Sustained",
36-
}),
37-
).toBeVisible();
33+
await expect(page.getByText("Integrated solutions for CTOs")).toBeVisible();
3834
});
3935
});
4036

@@ -89,10 +85,7 @@ test.describe("Navigation via links in mobile view to", () => {
8985

9086
await Promise.allSettled([
9187
page.waitForURL(`${baseUrl}/${contactUrl}`, { timeout: 10000 }),
88+
expect(page.getByText("get in touch")).toBeVisible(),
9289
]);
93-
94-
await expect(
95-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
96-
).toBeVisible();
9790
});
9891
});

tests/playwright/form.spec.ts

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ test.describe("Form page", () => {
1414
await expect(page).toHaveTitle(
1515
"CroCoder | Building Software that Builds Your Business",
1616
);
17-
await expect(
18-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
19-
).toBeVisible();
17+
await expect(page.getByText("get in touch")).toBeVisible();
2018
await expect(page.getByPlaceholder("Full name *")).toBeVisible();
2119
await expect(page.getByPlaceholder("E-mail *")).toBeVisible();
2220
await expect(
@@ -46,7 +44,6 @@ test.describe("Form page", () => {
4644
}),
4745
});
4846
});
49-
5047
await page.getByPlaceholder("Full name *").fill("Test name");
5148
await page.getByPlaceholder("E-mail *").fill("test@test.com");
5249
await page
@@ -82,12 +79,9 @@ test.describe("Form submission from home page", () => {
8279
}),
8380
});
8481
});
85-
8682
await page.getByRole("navigation").getByText("Contact us").last().click();
87-
await expect(
88-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
89-
).toBeVisible();
9083

84+
await expect(page.getByText("get in touch")).toBeVisible();
9185
await page.getByPlaceholder("Full name *").fill("Test name");
9286
await page.getByPlaceholder("E-mail *").fill("test@test.com");
9387
await page
@@ -104,13 +98,9 @@ test.describe("Form submission from home page", () => {
10498
page.getByRole("link", { name: "BACK TO HOMEPAGE" }),
10599
).toBeVisible();
106100
await page.getByRole("link", { name: "BACK TO HOMEPAGE" }).click();
107-
await page.waitForURL(`${baseUrl}/`);
108101

109-
await expect(
110-
page.getByRole("heading", {
111-
name: "Building Software that Builds Your Business",
112-
}),
113-
).toBeVisible();
102+
await page.waitForURL(`${baseUrl}/`);
103+
await expect(page.getByText("More than just developers")).toBeVisible();
114104
});
115105

116106
test("unsucessfull", async ({ page }) => {
@@ -124,12 +114,9 @@ test.describe("Form submission from home page", () => {
124114
}),
125115
});
126116
});
127-
128117
await page.getByRole("navigation").getByText("Contact us").last().click();
129-
await expect(
130-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
131-
).toBeVisible();
132118

119+
await expect(page.getByText("get in touch")).toBeVisible();
133120
await page.getByPlaceholder("Full name *").fill("Test name");
134121
await page.getByPlaceholder("E-mail *").fill("test@test.com");
135122
await page

tests/playwright/formMobile.spec.ts

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ test.describe("Form page in mobile view", () => {
2828
await expect(page).toHaveTitle(
2929
"CroCoder | Building Software that Builds Your Business",
3030
);
31-
await expect(
32-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
33-
).toBeVisible();
31+
await expect(page.getByText("get in touch")).toBeVisible();
3432
await expect(page.getByPlaceholder("Full name *")).toBeVisible();
3533
await expect(page.getByPlaceholder("E-mail *")).toBeVisible();
3634
await expect(
@@ -58,7 +56,6 @@ test.describe("Form page in mobile view", () => {
5856
}),
5957
});
6058
});
61-
6259
await page.getByPlaceholder("Full name *").fill("Test name");
6360
await page.getByPlaceholder("E-mail *").fill("test@test.com");
6461
await page
@@ -96,10 +93,6 @@ test.describe("Form submission in mobile view from home page", () => {
9693
});
9794

9895
test("sucessfull", async () => {
99-
await page.getByRole("link", { name: "Contact us", exact: true }).click();
100-
await expect(
101-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
102-
).toBeVisible();
10396
await page.route(`${routeUrl}**`, async (route) => {
10497
await route.fulfill({
10598
status: 200,
@@ -111,7 +104,9 @@ test.describe("Form submission in mobile view from home page", () => {
111104
}),
112105
});
113106
});
107+
await page.getByRole("link", { name: "Contact us", exact: true }).click();
114108

109+
await expect(page.getByText("get in touch")).toBeVisible();
115110
await page.getByPlaceholder("Full name *").fill("Test name");
116111
await page.getByPlaceholder("E-mail *").fill("test@test.com");
117112
await page
@@ -128,20 +123,12 @@ test.describe("Form submission in mobile view from home page", () => {
128123
page.getByRole("link", { name: "BACK TO HOMEPAGE" }),
129124
).toBeVisible();
130125
await page.getByRole("link", { name: "BACK TO HOMEPAGE" }).click();
131-
await page.waitForURL(`${baseUrl}/`);
132126

133-
await expect(
134-
page.getByRole("heading", {
135-
name: "Building Software that Builds Your Business",
136-
}),
137-
).toBeVisible();
127+
await page.waitForURL(`${baseUrl}/`);
128+
await expect(page.getByText("More than just developers")).toBeVisible();
138129
});
139130

140131
test("unsucessfull", async () => {
141-
await page.getByRole("link", { name: "Contact us", exact: true }).click();
142-
await expect(
143-
page.getByRole("heading", { name: "Let’s Talk About Your Project" }),
144-
).toBeVisible();
145132
await page.route(`${routeUrl}**`, async (route) => {
146133
await route.fulfill({
147134
status: 501,
@@ -152,7 +139,9 @@ test.describe("Form submission in mobile view from home page", () => {
152139
}),
153140
});
154141
});
142+
await page.getByRole("link", { name: "Contact us", exact: true }).click();
155143

144+
await expect(page.getByText("get in touch")).toBeVisible();
156145
await page.getByPlaceholder("Full name *").fill("Test name");
157146
await page.getByPlaceholder("E-mail *").fill("test@test.com");
158147
await page

tests/playwright/landingPage.spec.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,11 @@ test.describe("Landing page", () => {
1010
await page.goto(baseUrl);
1111
});
1212

13-
test("should have title and heading", async ({ page }) => {
13+
test("should have title and corresponding text", async ({ page }) => {
1414
await expect(page).toHaveTitle(
1515
"CroCoder | Building Software that Builds Your Business",
1616
);
17-
await expect(
18-
page.getByRole("heading", {
19-
name: "Building Software that Builds Your Business",
20-
}),
21-
).toBeVisible();
17+
await expect(page.getByText("More than just developers")).toBeVisible();
2218
});
2319
});
2420

tests/playwright/landingPageMobile.spec.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,11 @@ test.describe("Landing page in mobile view", () => {
2424
await page.goto(baseUrl);
2525
});
2626

27-
test("should have title and heading", async () => {
27+
test("should have title and corresponding text", async () => {
2828
await expect(page).toHaveTitle(
2929
"CroCoder | Building Software that Builds Your Business",
3030
);
31-
32-
await expect(
33-
page.getByRole("heading", {
34-
name: "Building Software that Builds Your Business",
35-
}),
36-
).toBeVisible();
31+
await expect(page.getByText("More than just developers")).toBeVisible();
3732
});
3833
});
3934

0 commit comments

Comments
 (0)