From cd6b21cbe55c9ca6ae688f0f10c191e5f98c1a9c Mon Sep 17 00:00:00 2001 From: Yanick Minder Date: Thu, 2 May 2024 11:50:22 +0200 Subject: [PATCH] add test for refresh team after delete --- .../components/admin/user/deletion-form.hbs | 8 ++-- .../admin/user/deletion-form-test.js | 37 +++++++++++++------ 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/frontend/app/templates/components/admin/user/deletion-form.hbs b/frontend/app/templates/components/admin/user/deletion-form.hbs index 7084c6060..365b52f24 100644 --- a/frontend/app/templates/components/admin/user/deletion-form.hbs +++ b/frontend/app/templates/components/admin/user/deletion-form.hbs @@ -7,7 +7,7 @@ - +
{{#if this.isDeletionDisabled}} @@ -30,7 +30,7 @@ {{truncate team.description 20}} - + delete @@ -39,7 +39,7 @@ {{else}} -
+
{{t "admin.users.last_teammember_teams.confirmation"}} @@ -51,7 +51,7 @@ {{/if}}
- + {{t "delete"}} {{t "close"}} diff --git a/frontend/tests/integration/components/admin/user/deletion-form-test.js b/frontend/tests/integration/components/admin/user/deletion-form-test.js index dd9c175d7..c996e01aa 100644 --- a/frontend/tests/integration/components/admin/user/deletion-form-test.js +++ b/frontend/tests/integration/components/admin/user/deletion-form-test.js @@ -1,17 +1,18 @@ import { module, test } from "qunit"; import { setupRenderingTest } from "ember-qunit"; -import { render, pauseTest } from "@ember/test-helpers"; +import { render, waitFor } from "@ember/test-helpers"; import { hbs } from "ember-cli-htmlbars"; +import Service from "@ember/service"; +import { setLocale } from "ember-intl/test-support"; + const storeStub = Service.extend({ query(modelName, params) { - if (params) { - return Promise.all([ - { name: "Team1", description: "description1" }, - { name: "Team2", description: "description2" }, - ]); - } + return [ + { name: "Team1", description: "description1", destroyRecord: () => {}}, + { name: "Team2", description: "description2", destroyRecord: () => {}} + ]; } }); @@ -22,6 +23,8 @@ module("Integration | Component | admin/user/deletion-form", function (hooks) { hooks.beforeEach(function () { this.owner.unregister("service:store"); this.owner.register("service:store", storeStub); + setLocale("en"); + }); test("it renders with block", async function (assert) { @@ -30,11 +33,10 @@ module("Integration | Component | admin/user/deletion-form", function (hooks) { Delete `); - assert.equal(this.element.textContent.trim(), "Delete"); }); - test("it renders with block", async function (assert) { + test("Refreshes teams after delete", async function (assert) { this.set("user", { id: 12, givenname: "Bob", @@ -42,9 +44,20 @@ module("Integration | Component | admin/user/deletion-form", function (hooks) { username: "bob" }); - await render(hbs ``); - await pauseTest(); + await render(hbs` + + Delete + `); - assert.equal(this.element.textContent.trim(), "Delete"); + this.element.querySelector("span[role='button']").click() + + await waitFor('[data-test-id="delete"]', { timeout: 2000 }) + + + this.element.querySelectorAll('[data-test-id="delete"]').forEach((e) => e.click()); + await waitFor('[data-test-id="delete-user-text"]', { timeout: 2000 }) + + const teamsLeft = this.element.querySelectorAll("[data-test-id='delete']").length + assert.equal(teamsLeft, 0); }); });