Files
radicle-explorer/tests/e2e/project/assignees.spec.ts
T
Sebastian Martinez 1c54038055 Handle error in AssigneeInput when chars outside of the bs58 charset
Also improves the UX and only shows validation errors on submit, and not
during input.
2024-03-22 09:00:47 +01:00

71 lines
2.4 KiB
TypeScript

import { test, expect } from "@tests/support/fixtures.js";
import { createProject } from "@tests/support/project";
test("add and remove assignees", async ({ page, authenticatedPeer }) => {
await page.goto(authenticatedPeer.uiUrl());
const { rid, projectFolder } = await createProject(authenticatedPeer, {
name: "handle-assignees",
});
await authenticatedPeer.rad(
[
"issue",
"open",
"--title",
"This is an issue to test assignee handling",
"--description",
"We'll add and remove assignees to them",
],
{ cwd: projectFolder },
);
await page.goto(`${authenticatedPeer.uiUrl()}/${rid}/issues`);
await page
.getByRole("link", {
name: "This is an issue to test assignee handling",
})
.click();
await page.getByRole("button", { name: "add assignee" }).click();
await page
.getByPlaceholder("Add assignee")
.fill("z6MktULudTtAsAhRegYPiZ6631RV3viv12qd4GQF8z1xB22S");
await page.getByRole("button", { name: "discard assignee" }).click();
await page.getByRole("button", { name: "add assignee" }).click();
await page
.getByPlaceholder("Add assignee")
.fill("z6MktULudTtAsAhRegYPiZ6631RV3viv12qd4GQF8z1xB22S");
await page.keyboard.press("Enter");
await page.getByRole("button", { name: "add assignee" }).click();
await page
.getByPlaceholder("Add assignee")
.fill("z6MktULudTtAsAhRegYPiZ6631RV3viv12qd4GQF8z1xB22S");
await page.getByRole("button", { name: "save assignee" }).click();
await expect(page.getByText("This assignee is already added")).toBeVisible();
await page.getByPlaceholder("Add assignee").clear();
await expect(page.getByText("This assignee is already added")).toBeHidden();
await page
.getByPlaceholder("Add assignee")
.fill("z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5");
await page.keyboard.press("Enter");
await expect(
page.getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" }),
).toBeVisible();
await expect(
page.getByRole("button", { name: "avatar did:key:z6Mkkf…XVsVz5" }),
).toBeVisible();
await page
.getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" })
.click();
await page
.getByRole("button", { name: "remove assignee", exact: true })
.click();
await expect(
page.getByRole("button", { name: "avatar did:key:z6Mkkf…XVsVz5" }),
).toBeVisible();
await expect(
page.getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" }),
).toBeHidden();
});