Skip to content

Commit c32304a

Browse files
authored
Adds back missing landing page tests (#440)
* adds landing page tests * fmt
1 parent 5bd3ade commit c32304a

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
import { expect, test } from "@playwright/test";
2+
import { ROOT_SRC } from "../util/constants";
3+
4+
test.describe("Navbar tabs redirection", () => {
5+
test.beforeEach(async ({ page }) => {
6+
await page.goto(`/${ROOT_SRC}`);
7+
});
8+
test("Home", async ({ page }) => {
9+
const homeTab = page.locator("span", { hasText: "Home" });
10+
await homeTab.click();
11+
expect(page.url()).toContain("?page=home");
12+
});
13+
14+
test("Activity", async ({ page }) => {
15+
const activityTab = page.locator("span", { hasText: "Activity" });
16+
await activityTab.click();
17+
expect(page.url()).toContain("?page=activity");
18+
});
19+
test("Projects", async ({ page }) => {
20+
const projectsTab = page.getByRole("link", {
21+
name: "Projects",
22+
exact: true,
23+
});
24+
await projectsTab.click();
25+
expect(page.url()).toContain("?page=projects");
26+
});
27+
test("Resources", async ({ page }) => {
28+
const resourcesTab = page.locator("span", { hasText: "Resources" });
29+
await resourcesTab.click();
30+
expect(page.url()).toContain("?page=resources");
31+
});
32+
});
33+
34+
test.describe("User is logged in", () => {
35+
test.use({
36+
storageState: "playwright-tests/storage-states/wallet-connected.json",
37+
});
38+
test.beforeEach(async ({ page }) => {
39+
await page.goto(`/${ROOT_SRC}`);
40+
});
41+
test("Start project redirection for logged in users", async ({ page }) => {
42+
const startProjectButton = page.getByRole("button", {
43+
name: "Start Project",
44+
});
45+
await expect(startProjectButton).toBeVisible();
46+
await startProjectButton.click();
47+
expect(page.url()).toContain("?page=projects&tab=editor");
48+
});
49+
test("Explore Projects redirection for logged in user", async ({ page }) => {
50+
const exploreProjectsButton = page.getByRole("button", {
51+
name: "Explore Project",
52+
});
53+
await expect(exploreProjectsButton).toBeVisible();
54+
await exploreProjectsButton.click();
55+
expect(page.url()).toContain("?page=projects");
56+
});
57+
58+
test("Quickstart Guide page redirection", async ({ page }) => {
59+
const quickStartGuideButton = page.getByRole("button", {
60+
name: "Quickstart Guide",
61+
});
62+
await expect(quickStartGuideButton).toBeVisible();
63+
await quickStartGuideButton.click();
64+
expect(page.url()).toContain("/NEARBuilders/quickstart.near");
65+
});
66+
67+
test("Workspace docs page redirection", async ({ page }) => {
68+
const workSpaceButton = page.getByRole("button", {
69+
name: "Workspace Docs",
70+
});
71+
await page.waitForTimeout(2000);
72+
await expect(workSpaceButton).toBeVisible();
73+
await workSpaceButton.click();
74+
expect(page.url()).toContain("/?page=resources&tab=gettingStarted");
75+
});
76+
test("Activity page redirection", async ({ page }) => {
77+
const activityPageButton = page.getByRole("button", {
78+
name: "Activity",
79+
});
80+
await expect(activityPageButton).toBeVisible();
81+
await activityPageButton.click();
82+
expect(page.url()).toContain("?page=activity");
83+
});
84+
85+
test("Twitter redirection", async ({ page }) => {
86+
const twitterButton = page.locator("button[type=icon]").nth(3);
87+
await page.waitForTimeout(2000);
88+
await expect(twitterButton).toBeVisible();
89+
await twitterButton.click();
90+
expect(page.url()).toContain("twitter");
91+
});
92+
test("Telegram redirection", async ({ page }) => {
93+
const telegramButton = page.locator("button[type=icon]").nth(4);
94+
await page.waitForTimeout(2000);
95+
await expect(telegramButton).toBeVisible();
96+
await telegramButton.click();
97+
expect(page.url()).toBe("https://www.nearbuilders.com/tg-builders");
98+
});
99+
test("Github redirection", async ({ page }) => {
100+
const githubButton = page.locator("button[type=icon]").nth(5);
101+
await page.waitForTimeout(2000);
102+
await expect(githubButton).toBeVisible();
103+
await githubButton.click();
104+
expect(page.url()).toBe("https://github.com/NEARBuilders");
105+
});
106+
});
107+
108+
test.describe("User is not logged in", () => {
109+
test.use({
110+
storageState: "playwright-tests/storage-states/wallet-not-connected.json",
111+
});
112+
test.beforeEach(async ({ page }) => {
113+
await page.goto(`/${ROOT_SRC}`);
114+
});
115+
test("Start project redirection for logged out users", async ({ page }) => {
116+
const startProjectButton = page.getByRole("button", {
117+
name: "Start Project",
118+
});
119+
await expect(startProjectButton).toBeVisible();
120+
await startProjectButton.click();
121+
expect(page.url()).toContain("?page=projects&tab=editor");
122+
await page.waitForTimeout(2000);
123+
const connectButton = page.getByRole("button", { name: "Connect" });
124+
await expect(connectButton).toBeVisible();
125+
});
126+
});

0 commit comments

Comments
 (0)