diff --git a/app/assets/javascripts/discourse/app/controllers/topic.js b/app/assets/javascripts/discourse/app/controllers/topic.js index c27f4bab822..b86f9e55702 100644 --- a/app/assets/javascripts/discourse/app/controllers/topic.js +++ b/app/assets/javascripts/discourse/app/controllers/topic.js @@ -6,7 +6,7 @@ import { isEmpty, isPresent } from "@ember/utils"; import { later, next, schedule } from "@ember/runloop"; import { AUTO_DELETE_PREFERENCES } from "discourse/models/bookmark"; import Composer from "discourse/models/composer"; -import EmberObject from "@ember/object"; +import EmberObject, { action } from "@ember/object"; import I18n from "I18n"; import Post from "discourse/models/post"; import { Promise } from "rsvp"; @@ -949,10 +949,6 @@ export default Controller.extend(bufferedProperty("model"), { }); }, - recoverTopic() { - this.model.recover(); - }, - makeBanner() { this.model.makeBanner(); }, @@ -1424,6 +1420,7 @@ export default Controller.extend(bufferedProperty("model"), { return spinnerHTML; }, + @action recoverTopic() { this.model.recover(); }, diff --git a/app/assets/javascripts/discourse/tests/unit/models/topic-test.js b/app/assets/javascripts/discourse/tests/unit/models/topic-test.js index f903fd6b694..45c5f9a6ca7 100644 --- a/app/assets/javascripts/discourse/tests/unit/models/topic-test.js +++ b/app/assets/javascripts/discourse/tests/unit/models/topic-test.js @@ -109,7 +109,7 @@ discourseModule("Unit | Model | topic", function () { assert.equal(topic.get("category"), category); }); - test("recover", function (assert) { + test("recover", async function (assert) { const user = User.create({ username: "eviltrout" }); const topic = Topic.create({ id: 1234, @@ -117,7 +117,8 @@ discourseModule("Unit | Model | topic", function () { deleted_by: user, }); - topic.recover(); + await topic.recover(); + assert.blank(topic.get("deleted_at"), "it clears deleted_at"); assert.blank(topic.get("deleted_by"), "it clears deleted_by"); });