Match Home, top nav, hero, and logo wall to the current marketing frames.
Puts Workshops in the header, pairs the hero with a static rule card and breakpoint CTAs, and shows the three pilot marks with no wall label. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
e12e06f7ce
commit
33cdaf135c
47 files changed
+728
-527
No files matched your search
@@ -18,7 +18,7 @@ test.describe("Edge Cases and Error Scenarios", () => {
|
||||
await page.goto("/", { waitUntil: "domcontentloaded", timeout: 10000 });
|
||||
|
||||
// Page should still load eventually
|
||||
await expect(page.locator("text=Collaborate")).toBeVisible({
|
||||
await expect(page.locator("text=Build structure")).toBeVisible({
|
||||
timeout: 10000,
|
||||
});
|
||||
});
|
||||
@@ -38,7 +38,7 @@ test.describe("Edge Cases and Error Scenarios", () => {
|
||||
await expect(body).toBeVisible();
|
||||
|
||||
// Verify key content is still accessible
|
||||
await expect(page.locator("text=Collaborate")).toBeVisible();
|
||||
await expect(page.locator("text=Build structure")).toBeVisible();
|
||||
});
|
||||
|
||||
test("handles JavaScript errors gracefully", async ({ page }) => {
|
||||
@@ -59,30 +59,19 @@ test.describe("Edge Cases and Error Scenarios", () => {
|
||||
});
|
||||
|
||||
// Page should continue to function
|
||||
await expect(page.locator("text=Collaborate")).toBeVisible();
|
||||
await expect(page.locator("text=Build structure")).toBeVisible();
|
||||
|
||||
const learnCta = page
|
||||
.getByRole("link", { name: /Learn how CommunityRule works/i })
|
||||
.or(page.getByRole("button", { name: /Learn how CommunityRule works/i }));
|
||||
const ctaCount = await learnCta.count();
|
||||
let visibleCta = null;
|
||||
|
||||
for (let i = 0; i < ctaCount; i++) {
|
||||
const cta = learnCta.nth(i);
|
||||
if (await cta.isVisible()) {
|
||||
visibleCta = cta;
|
||||
break;
|
||||
}
|
||||
const createCta = page.getByRole("button", { name: "Create rule" });
|
||||
const facilitatorCta = page.getByRole("link", {
|
||||
name: /Talk to a facilitator/i,
|
||||
});
|
||||
const visibleCreate = createCta.filter({ has: page.locator(":visible") });
|
||||
if ((await visibleCreate.count()) > 0) {
|
||||
await visibleCreate.first().click();
|
||||
await expect(page).toHaveURL(/\/create/);
|
||||
} else {
|
||||
await expect(facilitatorCta.first()).toBeVisible();
|
||||
}
|
||||
|
||||
if (!visibleCta) {
|
||||
throw new Error(
|
||||
'No visible "Learn how CommunityRule works" CTA found',
|
||||
);
|
||||
}
|
||||
|
||||
await visibleCta.click();
|
||||
await expect(page).toHaveURL(/\/how-it-works/);
|
||||
});
|
||||
|
||||
test("handles missing images gracefully", async ({ page }) => {
|
||||
@@ -96,29 +85,9 @@ test.describe("Edge Cases and Error Scenarios", () => {
|
||||
await page.goto("/", { waitUntil: "domcontentloaded" });
|
||||
|
||||
// Page should still function without images
|
||||
await expect(page.locator("text=Collaborate")).toBeVisible();
|
||||
|
||||
const learnCta = page
|
||||
.getByRole("link", { name: /Learn how CommunityRule works/i })
|
||||
.or(page.getByRole("button", { name: /Learn how CommunityRule works/i }));
|
||||
const ctaCount = await learnCta.count();
|
||||
let visibleCta = null;
|
||||
|
||||
for (let i = 0; i < ctaCount; i++) {
|
||||
const cta = learnCta.nth(i);
|
||||
if (await cta.isVisible()) {
|
||||
visibleCta = cta;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!visibleCta) {
|
||||
throw new Error(
|
||||
'No visible "Learn how CommunityRule works" CTA found',
|
||||
);
|
||||
}
|
||||
|
||||
await visibleCta.click();
|
||||
await expect(page).toHaveURL(/\/how-it-works/);
|
||||
await expect(page.locator("text=Build structure")).toBeVisible();
|
||||
await expect(
|
||||
page.getByRole("heading", { name: "CommunityRule Creative Team" }),
|
||||
).toBeVisible();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user