FIX: use the correct notification levels titles for PMs

This commit is contained in:
OsamaSayegh
2018-06-26 15:01:52 +03:00
committed by Joffrey JAFFEUX
parent 7efdccdbc5
commit bfe0178270
3 changed files with 38 additions and 7 deletions

View File

@ -29,7 +29,7 @@ export default DropdownSelectBoxComponent.extend({
computeHeaderContent() { computeHeaderContent() {
let content = this._super(); let content = this._super();
content.name = I18n.t( content.name = I18n.t(
`${this.get("i18nPrefix")}.${this.get("selectedDetails.key")}.title` `${this.get("i18nPrefix")}.${this.get("selectedDetails.key")}${this.get("i18nPostfix")}.title`
); );
content.hasSelection = this.get("hasSelection"); content.hasSelection = this.get("hasSelection");
return content; return content;

View File

@ -9,10 +9,10 @@ export default DropdownSelectBoxRoxComponent.extend({
i18nPrefix: Ember.computed.alias("options.i18nPrefix"), i18nPrefix: Ember.computed.alias("options.i18nPrefix"),
i18nPostfix: Ember.computed.alias("options.i18nPostfix"), i18nPostfix: Ember.computed.alias("options.i18nPostfix"),
@computed("computedContent.value", "i18nPrefix") @computed("computedContent.value", "i18nPrefix", "i18nPostfix")
title(value, prefix) { title(value, prefix, postfix) {
const key = buttonDetails(value).key; const key = buttonDetails(value).key;
return I18n.t(`${prefix}.${key}.title`); return I18n.t(`${prefix}.${key}${postfix}.title`);
}, },
@computed("computedContent.name", "computedContent.originalContent.icon") @computed("computedContent.name", "computedContent.originalContent.icon")

View File

@ -1,17 +1,26 @@
import componentTest from "helpers/component-test"; import componentTest from "helpers/component-test";
import Topic from "discourse/models/topic"; import Topic from "discourse/models/topic";
const buildTopic = function(level) { const buildTopic = function(level, archetype = "regular") {
return Topic.create({ return Topic.create({
id: 4563, id: 4563,
title: "Qunit Test Topic", title: "Qunit Test Topic",
details: { details: {
notification_level: level notification_level: level
} },
archetype
}); });
}; };
moduleForComponent("topic-notifications-button", { integration: true }); const originalTranslation = I18n.translations.en.js.topic.notifications.tracking_pm.title;
moduleForComponent("topic-notifications-button", {
integration: true,
afterEach() {
I18n.translations.en.js.topic.notifications.tracking_pm.title = originalTranslation;
}
});
componentTest("the header has a localized title", { componentTest("the header has a localized title", {
template: template:
@ -45,3 +54,25 @@ componentTest("the header has a localized title", {
}); });
} }
}); });
componentTest("the header has a localized title", {
template:
"{{topic-notifications-button notificationLevel=topic.details.notification_level topic=topic}}",
beforeEach() {
I18n.translations.en.js.topic.notifications.tracking_pm.title = `${originalTranslation} PM`;
this.set("topic", buildTopic(2, "private_message"));
},
test(assert) {
andThen(() => {
assert.equal(
selectKit()
.header()
.name(),
`${originalTranslation} PM`,
"it has the correct title for PMs"
);
});
}
});