Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Update tests to handle querystrings in page.route handlers
Sebastian Martinez committed 2 years ago
commit 297c4b8ee15bb6bfd642a3a1a3c20bc9cc3a3bb1
parent 0eab6dafa65c3eaf32f5ec38b9c4b76aba8137c0
6 files changed +55 -30
modified tests/e2e/project.spec.ts
@@ -414,7 +414,10 @@ test("only one modal can be open at a time", async ({ page }) => {
test.describe("browser error handling", () => {
  test("error appears when folder can't be loaded", async ({ page }) => {
    await page.route(
-
      `**/v1/projects/${sourceBrowsingRid}/tree/${aliceMainHead}/src/`,
+
      ({ pathname }) =>
+
        pathname.startsWith(
+
          `/api/v1/projects/${sourceBrowsingRid}/tree/${aliceMainHead}/src`,
+
        ),
      route => route.fulfill({ status: 500 }),
    );

@@ -427,7 +430,9 @@ test.describe("browser error handling", () => {
  });
  test("error appears when file can't be loaded", async ({ page }) => {
    await page.route(
-
      `**/v1/projects/${sourceBrowsingRid}/blob/${aliceMainHead}/.hidden`,
+
      ({ pathname }) =>
+
        pathname ===
+
        `/api/v1/projects/${sourceBrowsingRid}/blob/${aliceMainHead}/.hidden`,
      route => route.fulfill({ status: 500 }),
    );

@@ -438,7 +443,9 @@ test.describe("browser error handling", () => {
  });
  test("error appears when README can't be loaded", async ({ page }) => {
    await page.route(
-
      `**/v1/projects/${sourceBrowsingRid}/readme/${aliceMainHead}`,
+
      ({ pathname }) =>
+
        pathname ===
+
        `/api/v1/projects/${sourceBrowsingRid}/readme/${aliceMainHead}`,
      route => route.fulfill({ status: 500 }),
    );

@@ -447,7 +454,9 @@ test.describe("browser error handling", () => {
  });
  test("error appears when navigating to missing file", async ({ page }) => {
    await page.route(
-
      `**/v1/projects/${sourceBrowsingRid}/blob/${aliceMainHead}/.hidden`,
+
      ({ pathname }) =>
+
        pathname ===
+
        `/api/v1/projects/${sourceBrowsingRid}/blob/${aliceMainHead}/.hidden`,
      route => route.fulfill({ status: 500 }),
    );

modified tests/e2e/project/issue.spec.ts
@@ -28,13 +28,16 @@ test("test issue editing failing", async ({ page, authenticatedPeer }) => {
    { cwd: projectFolder },
  );

-
  await page.route(`**/v1/projects/${rid}/issues/*`, async route => {
-
    if (route.request().method() === "PATCH") {
-
      return route.fulfill({ status: 500 });
-
    } else {
-
      return route.fallback();
-
    }
-
  });
+
  await page.route(
+
    ({ pathname }) => pathname.startsWith(`/api/v1/projects/${rid}/issues/`),
+
    async route => {
+
      if (route.request().method() === "PATCH") {
+
        return route.fulfill({ status: 500 });
+
      } else {
+
        return route.fallback();
+
      }
+
    },
+
  );

  await page.goto(`${authenticatedPeer.uiUrl()}/${rid}/issues`);
  await page.getByRole("link", { name: "This issue is going to fail" }).click();
modified tests/visual/desktop/cob.spec.ts
@@ -89,7 +89,9 @@ test("patch page", async ({ page }) => {

test("failed diff loading for a specific revision", async ({ page }) => {
  await page.route(
-
    "**/api/v1/projects/rad:z3fpY7nttPPa6MBnAv2DccHzQJnqe/diff/38c225e2a0b47ba59def211f4e4825c31d9463ec/9898da6155467adad511f63bf0fb5aa4156b92ef",
+
    ({ pathname }) =>
+
      pathname ===
+
      "/api/v1/projects/rad:z3fpY7nttPPa6MBnAv2DccHzQJnqe/diff/38c225e2a0b47ba59def211f4e4825c31d9463ec/9898da6155467adad511f63bf0fb5aa4156b92ef",
    route => route.fulfill({ status: 500 }),
  );

modified tests/visual/desktop/landingPage.spec.ts
@@ -32,7 +32,8 @@ test("load error", async ({ page }) => {
  });

  await page.route(
-
    "**/api/v1/projects/rad:z4BwwjPCFNVP27FwVbDFgwVwkjcir",
+
    ({ pathname }) =>
+
      pathname === "/api/v1/projects/rad:z4BwwjPCFNVP27FwVbDFgwVwkjcir",
    route => route.fulfill({ status: 500 }),
  );

modified tests/visual/desktop/node.spec.ts
@@ -16,13 +16,17 @@ test("node page", async ({ page }) => {
});

test("empty pinned projects", async ({ page }) => {
-
  await page.route("**/api/v1/projects?show=pinned", async route => {
-
    await route.fulfill({
-
      status: 200,
-
      contentType: "application/json",
-
      json: [],
-
    });
-
  });
+
  await page.route(
+
    ({ hostname, pathname }) =>
+
      pathname === "/api/v1/projects" && hostname === "seed.radicle.garden",
+
    async route => {
+
      await route.fulfill({
+
        status: 200,
+
        contentType: "application/json",
+
        json: [],
+
      });
+
    },
+
  );
  await page.goto("/", {
    waitUntil: "networkidle",
  });
modified tests/visual/desktop/project.spec.ts
@@ -101,21 +101,27 @@ test("project not found", async ({ page }) => {
});

test("response parse error", async ({ page }) => {
-
  await page.route(`*/**/v1/projects/${sourceBrowsingRid}`, route => {
-
    return route.fulfill({
-
      json: [{ name: 1337 }],
-
    });
-
  });
+
  await page.route(
+
    ({ pathname }) => pathname === `/api/v1/projects/${sourceBrowsingRid}`,
+
    route => {
+
      return route.fulfill({
+
        json: [{ name: 1337 }],
+
      });
+
    },
+
  );
  await page.goto(sourceBrowsingUrl, { waitUntil: "networkidle" });
  await expect(page).toHaveScreenshot();
});

test("response error", async ({ page }) => {
-
  await page.route(`*/**/v1/projects/${sourceBrowsingRid}`, route => {
-
    return route.fulfill({
-
      status: 500,
-
    });
-
  });
+
  await page.route(
+
    ({ pathname }) => pathname === `/api/v1/projects/${sourceBrowsingRid}`,
+
    route => {
+
      return route.fulfill({
+
        status: 500,
+
      });
+
    },
+
  );
  await page.goto(sourceBrowsingUrl, { waitUntil: "networkidle" });
  await expect(page).toHaveScreenshot();
});