diff --git a/frontend/playwright/data/dashboard/get-projects-second-team.json b/frontend/playwright/data/dashboard/get-projects-second-team.json new file mode 100644 index 000000000..096689374 --- /dev/null +++ b/frontend/playwright/data/dashboard/get-projects-second-team.json @@ -0,0 +1,18 @@ +[{ + "~:id": "~ue5a24d1b-ef1e-812f-8004-52bab84be6f7", + "~:team-id": "~udd33ff88-f4e5-8033-8003-8096cc07bdf3", + "~:created-at": "~m1715266551088", + "~:modified-at": "~m1715266551088", + "~:is-default": false, + "~:name": "New Project 1", + "~:is-pinned": false, + "~:count": 0 +}, +{ + "~:id": "~uc7ce0794-0992-8105-8004-38e630f7920b", + "~:team-id": "~udd33ff88-f4e5-8033-8003-8096cc07bdf3", + "~:created-at": "~m1713533116382", + "~:modified-at": "~m1713873823633", + "~:is-default": true, + "~:name": "Drafts" +}] diff --git a/frontend/playwright/ui/pages/DashboardPage.js b/frontend/playwright/ui/pages/DashboardPage.js index 3f7faa604..16423fd4d 100644 --- a/frontend/playwright/ui/pages/DashboardPage.js +++ b/frontend/playwright/ui/pages/DashboardPage.js @@ -55,6 +55,7 @@ export class DashboardPage extends BaseWebSocketPage { static anyTeamId = "c7ce0794-0992-8105-8004-38e630f40f6d"; static secondTeamId = "dd33ff88-f4e5-8033-8003-8096cc07bdf3"; + static newTeamId = "0b5bcbca-32ab-81eb-8005-a153d23d7739"; static draftProjectId = "c7ce0794-0992-8105-8004-38e630f7920b"; constructor(page) { diff --git a/frontend/playwright/ui/specs/dashboard.spec.js b/frontend/playwright/ui/specs/dashboard.spec.js index 26aab6903..3352149f5 100644 --- a/frontend/playwright/ui/specs/dashboard.spec.js +++ b/frontend/playwright/ui/specs/dashboard.spec.js @@ -113,3 +113,21 @@ test("Bug 9443, Admin can not demote owner", async ({ page }) => { await expect(page.getByText("Owner")).toBeVisible(); await expect(page.getByRole("combobox", { name: "Owner" })).toHaveCount(0); }); + +test("Bug 9927, Don't show the banner to invite team members if the user has dismissed it", async ({ + page, +}) => { + const dashboardPage = new DashboardPage(page); + await dashboardPage.setupDashboardFull(); + await DashboardPage.mockRPC( + page, + "get-projects?team-id=*", + "dashboard/get-projects-second-team.json", + ); + await dashboardPage.goToSecondTeamDashboard(); + await expect(page.getByText("Team Up")).toBeVisible(); + await page.getByRole("button", { name: "Close" }).click(); + await page.reload(); + await expect(page.getByText("Second team")).toBeVisible(); + await expect(page.getByText("Team Up")).not.toBeVisible(); +}); diff --git a/frontend/src/app/main/ui/dashboard/projects.cljs b/frontend/src/app/main/ui/dashboard/projects.cljs index 4f76b121f..669374b9f 100644 --- a/frontend/src/app/main/ui/dashboard/projects.cljs +++ b/frontend/src/app/main/ui/dashboard/projects.cljs @@ -338,7 +338,7 @@ ::ev/origin "dashboard"}))))] (mf/with-effect [show-team-hero?] - (swap! storage/global assoc ::show-eam-hero show-team-hero?)) + (swap! storage/global assoc ::show-team-hero show-team-hero?)) (mf/with-effect [team] (let [tname (if (:is-default team)