From be29197f627c1275380b79a07803a07fa1f4690f Mon Sep 17 00:00:00 2001 From: David Taylor Date: Tue, 12 Jul 2022 17:29:11 +0100 Subject: [PATCH] DEV: Stop overriding an injected property in topic controller test (#17450) Similar to e15c6302, overriding an auto-injected value like this triggers errors in more recent versions of Ember. Instead, we can use the registry to inject the value we need. Co-authored-by: Peter Wagenet --- .../discourse/tests/unit/controllers/topic-test.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/discourse/tests/unit/controllers/topic-test.js b/app/assets/javascripts/discourse/tests/unit/controllers/topic-test.js index de0517afb08..af24651b011 100644 --- a/app/assets/javascripts/discourse/tests/unit/controllers/topic-test.js +++ b/app/assets/javascripts/discourse/tests/unit/controllers/topic-test.js @@ -26,7 +26,6 @@ discourseModule("Unit | Controller | topic", function (hooks) { topic.setProperties({ selectedPostIds: [], selectedPostUsername: null, - currentUser: null, }); }); @@ -279,7 +278,6 @@ discourseModule("Unit | Controller | topic", function (hooks) { }); const controller = this.getController("topic", { model, - currentUser, }); const selectedPostIds = controller.get("selectedPostIds"); @@ -376,10 +374,8 @@ discourseModule("Unit | Controller | topic", function (hooks) { ], stream: [1, 2], }); - model.set("currentUser", { admin: false }); const controller = this.getController("topic", { model, - currentUser, }); const selectedPostIds = controller.get("selectedPostIds"); @@ -421,10 +417,8 @@ discourseModule("Unit | Controller | topic", function (hooks) { ], stream: [1, 2], }); - model.set("currentUser", { moderator: false }); const controller = this.getController("topic", { model, - currentUser, siteSettings: { moderators_change_post_ownership: true, }, @@ -679,11 +673,16 @@ discourseModule("Unit | Controller | topic", function (hooks) { }); const currentUser = EmberObject.create({ moderator: true }); + this.registry.register("current-user:main", currentUser, { + instantiate: false, + }); + this.registry.injection("controller", "currentUser", "current-user:main"); + let model = topicWithStream({ stream: [2, 3, 4], posts: [post, { id: 3 }, { id: 4 }], }); - const controller = this.getController("topic", { model, currentUser }); + const controller = this.getController("topic", { model }); const done = assert.async(); controller.send("deletePost", post);