FIX: Properly close user-card after page transition (#27423)

This commit is contained in:
Jarek Radosz 2024-06-11 20:00:20 +02:00 committed by GitHub
parent 312cf18428
commit 1ecfc397d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 20 additions and 1 deletions

View File

@ -1,5 +1,5 @@
import { getOwner } from "@ember/owner"; import { getOwner } from "@ember/owner";
import { click, visit } from "@ember/test-helpers"; import { click, currentURL, visit } from "@ember/test-helpers";
import { test } from "qunit"; import { test } from "qunit";
import userFixtures from "discourse/tests/fixtures/user-fixtures"; import userFixtures from "discourse/tests/fixtures/user-fixtures";
import { import {
@ -10,6 +10,23 @@ import {
import { cloneJSON } from "discourse-common/lib/object"; import { cloneJSON } from "discourse-common/lib/object";
import I18n from "discourse-i18n"; import I18n from "discourse-i18n";
acceptance("User Card", function (needs) {
needs.user();
test("opens and closes properly", async function (assert) {
await visit("/t/internationalization-localization/280");
await click('a[data-user-card="charlie"]');
assert.dom(".user-card .card-content").exists();
await click(".card-huge-avatar");
assert.strictEqual(currentURL(), "/u/charlie/summary");
assert.dom(".user-card").doesNotExist();
assert.dom(".card-content").doesNotExist();
});
});
acceptance("User Card - Show Local Time", function (needs) { acceptance("User Card - Show Local Time", function (needs) {
needs.user(); needs.user();
needs.settings({ display_local_time_in_user_card: true }); needs.settings({ display_local_time_in_user_card: true });

View File

@ -112,6 +112,7 @@ export default class DMenuInstance extends FloatKitInstance {
@action @action
destroy() { destroy() {
this.close();
this.tearDownListeners(); this.tearDownListeners();
} }
} }

View File

@ -102,6 +102,7 @@ export default class DTooltipInstance extends FloatKitInstance {
@action @action
destroy() { destroy() {
this.close();
this.tearDownListeners(); this.tearDownListeners();
} }
} }