Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Sort projects in seed project listing visual test
Sebastian Martinez committed 2 years ago
commit 9f40fd85b77976aa66a7df01cadd56dce65bc030
parent c04d399cf3e210ba7fe50f5d041e0b22f5e00ce6
1 file changed +17 -0
modified tests/visual/seed.spec.ts
@@ -1,3 +1,4 @@
+
import type { Project } from "@httpd-client";
import { test, expect } from "@tests/support/fixtures.js";

test("seed page", async ({ page }) => {
@@ -11,6 +12,22 @@ test("seed page", async ({ page }) => {
    };
  });

+
  // Repos in heartwood are read from storage with `fs::read_dir`
+
  // which has no deterministic ordering, it depends on
+
  // the filesystem and the operating system.
+
  //
+
  // > The order in which this iterator returns entries is platform and filesystem dependent.
+
  // source: https://doc.rust-lang.org/std/fs/fn.read_dir.html
+
  //
+
  // So we sort the request here, to get a visually persistent listing.
+
  // TODO: If at some point project sorting is introduced we can probably remove this.
+
  await page.route("**/api/v1/projects?page=0&perPage=10", async route => {
+
    const response = await route.fetch();
+
    const json: Project[] = await response.json();
+
    json.sort((a, b) => a.name.localeCompare(b.name));
+
    await route.fulfill({ response, json });
+
  });
+

  await page.goto("/seeds/radicle.local", { waitUntil: "networkidle" });
  await expect(page).toHaveScreenshot();
});