From 52a047a8beff58f3c9df57fd5b426e66636efd95 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Sun, 7 Jul 2024 21:43:11 +0530 Subject: [PATCH] UX: plugins may have underscore in the name (#27749) For example, https://github.com/discourse/docker_manager --- .../admin/addon/models/admin-plugin.js | 2 +- .../tests/unit/models/admin-plugin-test.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/discourse/tests/unit/models/admin-plugin-test.js diff --git a/app/assets/javascripts/admin/addon/models/admin-plugin.js b/app/assets/javascripts/admin/addon/models/admin-plugin.js index f4987f33a8a..33730888da8 100644 --- a/app/assets/javascripts/admin/addon/models/admin-plugin.js +++ b/app/assets/javascripts/admin/addon/models/admin-plugin.js @@ -55,7 +55,7 @@ export default class AdminPlugin { name = this.translatedCategoryName; } else { name = this.name - .split("-") + .split(/[-_]/) .map((word) => { return capitalize(word); }) diff --git a/app/assets/javascripts/discourse/tests/unit/models/admin-plugin-test.js b/app/assets/javascripts/discourse/tests/unit/models/admin-plugin-test.js new file mode 100644 index 00000000000..a4368087e28 --- /dev/null +++ b/app/assets/javascripts/discourse/tests/unit/models/admin-plugin-test.js @@ -0,0 +1,19 @@ +import { setupTest } from "ember-qunit"; +import { module, test } from "qunit"; +import AdminPlugin from "admin/models/admin-plugin"; + +module("Unit | Model | admin plugin", function (hooks) { + setupTest(hooks); + + test("nameTitleized", function (assert) { + const adminPlugin = AdminPlugin.create({ + name: "docker_manager", + }); + + assert.strictEqual( + adminPlugin.nameTitleized, + "Docker Manager", + "it should return titleized name replacing underscores with spaces" + ); + }); +});