diff --git a/src/views/projects/Cob/AssigneeInput.svelte b/src/views/projects/Cob/AssigneeInput.svelte
index 5dc7f2f5c..af9c35a36 100644
--- a/src/views/projects/Cob/AssigneeInput.svelte
+++ b/src/views/projects/Cob/AssigneeInput.svelte
@@ -115,13 +115,14 @@
placeholder="Add assignee"
on:submit={addAssignee} />
{
inputValue = "";
showInput = false;
}}>
-
+
@@ -129,6 +130,7 @@
(showInput = true)}>
diff --git a/src/views/projects/Cob/LabelInput.svelte b/src/views/projects/Cob/LabelInput.svelte
index ec227f403..a42247976 100644
--- a/src/views/projects/Cob/LabelInput.svelte
+++ b/src/views/projects/Cob/LabelInput.svelte
@@ -80,7 +80,7 @@
size="small"
style="cursor: pointer;"
on:click={() => (removeToggles[label] = !removeToggles[label])}>
- {label}
+ {label}
{#if removeToggles[label]}
removeLabel(label)} />
@@ -100,13 +100,14 @@
bind:value={inputValue}
on:submit={addLabel} />
{
inputValue = "";
showInput = false;
}}>
-
+
@@ -114,6 +115,7 @@
(showInput = true)}>
diff --git a/tests/e2e/project.spec.ts b/tests/e2e/project.spec.ts
index 4e93c7fe9..96a6a659e 100644
--- a/tests/e2e/project.spec.ts
+++ b/tests/e2e/project.spec.ts
@@ -66,7 +66,7 @@ test("navigate to project", async ({ page }) => {
await expect(page.getByText("Git test repository")).toBeVisible();
// Number of nodes seeding this project.
- await expect(page.getByText("Seeding 3")).toBeVisible();
+ await expect(page.getByText("Seed 3")).toBeVisible();
});
test("show source tree at specific revision", async ({ page }) => {
@@ -411,7 +411,7 @@ test.describe("browser error handling", () => {
const sourceTree = page.locator(".source-tree");
await sourceTree.getByText("src").click();
- await expect(page.getByText("File not found")).toBeVisible();
+ await expect(page.getByText("No README found.")).toBeVisible();
});
test("error appears when file can't be loaded", async ({ page }) => {
await page.route(
@@ -431,7 +431,7 @@ test.describe("browser error handling", () => {
);
await page.goto(sourceBrowsingUrl);
- await expect(page.getByText("File not found")).toBeVisible();
+ await expect(page.getByText("No README found.")).toBeVisible();
});
test("error appears when navigating to missing file", async ({ page }) => {
await page.route(
diff --git a/tests/e2e/project/assignees.spec.ts b/tests/e2e/project/assignees.spec.ts
index c69c6ba8f..16b727d38 100644
--- a/tests/e2e/project/assignees.spec.ts
+++ b/tests/e2e/project/assignees.spec.ts
@@ -24,21 +24,18 @@ test("add and remove assignees", async ({ page, authenticatedPeer }) => {
})
.click();
- await expect(page.getByText("No assignees")).toBeVisible();
-
- await page.getByRole("button", { name: "edit assignees" }).click();
+ await page.getByRole("button", { name: "add assignee" }).click();
await page
.getByPlaceholder("Add assignee")
.fill("z6MktULudTtAsAhRegYPiZ6631RV3viv12qd4GQF8z1xB22S");
- await page.getByRole("button", { name: "dismiss changes" }).click();
- await expect(page.getByText("No assignees")).toBeVisible();
- await page.getByRole("button", { name: "edit assignees" }).click();
- await expect(page.getByPlaceholder("Add assignee")).toHaveValue("");
+ 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");
@@ -50,10 +47,6 @@ test("add and remove assignees", async ({ page, authenticatedPeer }) => {
.getByPlaceholder("Add assignee")
.fill("z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5");
await page.keyboard.press("Enter");
- await page.getByRole("button", { name: "save assignees" }).click();
- await expect(
- page.getByRole("button", { name: "save assignees" }),
- ).toBeHidden();
await expect(
page.getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" }),
).toBeVisible();
@@ -61,18 +54,16 @@ test("add and remove assignees", async ({ page, authenticatedPeer }) => {
page.getByRole("button", { name: "avatar did:key:z6Mkkf…XVsVz5" }),
).toBeVisible();
- await page.getByRole("button", { name: "edit assignees" }).click();
await page
- .getByRole("button", {
- name: "avatar did:key:z6MktU…1xB22S remove assignee",
- })
- .getByTitle("remove assignee")
+ .getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" })
+ .click();
+ await page
+ .getByRole("button", { name: "remove assignee", exact: true })
.click();
- await page.getByRole("button", { name: "save assignees" }).click();
- await expect(
- page.getByRole("button", { name: "save assignees" }),
- ).toBeHidden();
await expect(
page.getByRole("button", { name: "avatar did:key:z6Mkkf…XVsVz5" }),
).toBeVisible();
+ await expect(
+ page.getByRole("button", { name: "avatar did:key:z6MktU…1xB22S" }),
+ ).toBeHidden();
});
diff --git a/tests/e2e/project/issues.spec.ts b/tests/e2e/project/issues.spec.ts
index 6789b2911..bbabc1250 100644
--- a/tests/e2e/project/issues.spec.ts
+++ b/tests/e2e/project/issues.spec.ts
@@ -68,13 +68,18 @@ test("create a new issue", async ({ page, authenticatedPeer }) => {
.getByPlaceholder("Write a description")
.fill("This is a description");
+ await page.getByRole("button", { name: "add assignee" }).click();
await page.getByPlaceholder("Add assignee").fill(authenticatedPeer.nodeId);
- await page.getByPlaceholder("Add assignee").press("Enter");
+ await page.keyboard.press("Enter");
+ await page.getByRole("button", { name: "add label" }).click();
await page.getByPlaceholder("Add label").fill("bug");
- await page.getByPlaceholder("Add label").press("Enter");
+ await page.keyboard.press("Enter");
+
+ await page.getByRole("button", { name: "add label" }).click();
await page.getByPlaceholder("Add label").fill("documentation");
- await page.getByPlaceholder("Add label").press("Enter");
+ await page.keyboard.press("Enter");
+
await page.getByRole("button", { name: "Submit" }).click();
await expect(page.getByText("This is a title")).toBeVisible();
@@ -88,7 +93,7 @@ test("create a new issue", async ({ page, authenticatedPeer }) => {
),
).toBeVisible();
await expect(
- page.locator(".badge").filter({ hasText: "documentation" }),
+ page.getByRole("button", { name: "documentation" }),
).toBeVisible();
- await expect(page.locator(".badge").filter({ hasText: "bug" })).toBeVisible();
+ await expect(page.getByRole("button", { name: "bug" })).toBeVisible();
});
diff --git a/tests/support/fixtures.ts b/tests/support/fixtures.ts
index 27c47c3cb..33e7b89fd 100644
--- a/tests/support/fixtures.ts
+++ b/tests/support/fixtures.ts
@@ -168,7 +168,7 @@ export const test = base.extend<{
`Failed to get authentication URL from: ${stdout}`,
);
await page.goto(match[1]);
- await page.getByText("Successfully authenticated").waitFor();
+ await page.getByRole("button", { name: "avatar httpd" }).waitFor();
await use(peer);
},
diff --git a/tests/support/project.ts b/tests/support/project.ts
index b3b2484ff..907be94f6 100644
--- a/tests/support/project.ts
+++ b/tests/support/project.ts
@@ -92,17 +92,14 @@ export async function expectThreadCommentingToWork(page: Page) {
}
export async function expectLabelEditingToWork(page: Page) {
- await expect(page.getByText("No labels")).toBeVisible();
-
- await page.getByRole("button", { name: "edit labels" }).click();
+ await page.getByRole("button", { name: "add labels" }).click();
await page.getByPlaceholder("Add label").fill("bug");
- await page.getByRole("button", { name: "dismiss changes" }).click();
- await expect(page.getByText("No labels")).toBeVisible();
- await page.getByRole("button", { name: "edit labels" }).click();
- await expect(page.getByPlaceholder("Add label")).toHaveValue("");
+ await page.getByRole("button", { name: "discard label" }).click();
+ await page.getByRole("button", { name: "add labels" }).click();
await page.getByPlaceholder("Add label").fill("bug");
await page.keyboard.press("Enter");
+ await page.getByRole("button", { name: "add labels" }).click();
await page.getByPlaceholder("Add label").fill("bug");
await expect(page.getByText("This label is already added")).toBeVisible();
await page.getByPlaceholder("Add label").clear();
@@ -110,22 +107,17 @@ export async function expectLabelEditingToWork(page: Page) {
await page.getByPlaceholder("Add label").fill("documentation");
await page.keyboard.press("Enter");
- await page.getByRole("button", { name: "save labels" }).click();
- await expect(page.getByRole("button", { name: "save labels" })).toBeHidden();
await expect(page.getByRole("button", { name: "bug" })).toBeVisible();
await expect(
page.getByRole("button", { name: "documentation" }),
).toBeVisible();
- await page.getByRole("button", { name: "edit labels" }).click();
- await page
- .locator("span")
- .filter({ hasText: "documentation" })
- .getByTitle("remove label")
- .click();
- await page.getByRole("button", { name: "save labels" }).click();
- await expect(page.getByRole("button", { name: "save labels" })).toBeHidden();
+ await page.getByRole("button", { name: "documentation" }).click();
+ await page.getByRole("button", { name: "remove label", exact: true }).click();
await expect(page.getByRole("button", { name: "bug" })).toBeVisible();
+ await expect(
+ page.getByRole("button", { name: "documentation" }),
+ ).toBeHidden();
}
export async function expectReactionsToWork(page: Page) {