diff --git a/app/assets/javascripts/discourse/models/tag-group.js.es6 b/app/assets/javascripts/discourse/models/tag-group.js.es6 index 4d85f65be2b..4c46aa6f9aa 100644 --- a/app/assets/javascripts/discourse/models/tag-group.js.es6 +++ b/app/assets/javascripts/discourse/models/tag-group.js.es6 @@ -9,6 +9,11 @@ export default RestModel.extend({ return saving || Ember.isEmpty(name) || Ember.isEmpty(tagNames); }, + @computed("id") + disableDelete(id) { + return !parseInt(id); + }, + @computed("permissions") permissionName: { get(permissions) { diff --git a/app/assets/javascripts/discourse/templates/tag-groups-show.hbs b/app/assets/javascripts/discourse/templates/tag-groups-show.hbs index 65e1b8e6d6e..6e289180a94 100644 --- a/app/assets/javascripts/discourse/templates/tag-groups-show.hbs +++ b/app/assets/javascripts/discourse/templates/tag-groups-show.hbs @@ -44,6 +44,6 @@ - + {{model.savingStatus}} diff --git a/test/javascripts/acceptance/tag-groups-test.js.es6 b/test/javascripts/acceptance/tag-groups-test.js.es6 new file mode 100644 index 00000000000..95556f09dd3 --- /dev/null +++ b/test/javascripts/acceptance/tag-groups-test.js.es6 @@ -0,0 +1,36 @@ +import { acceptance } from "helpers/qunit-helpers"; + +acceptance("Tag Groups", { + loggedIn: true, + settings: { tagging_enabled: true }, + pretend(server, helper) { + server.post("/tag_groups", () => { + return helper.response({ + tag_group: { + id: 42, + name: "test tag group", + tag_names: ["monkey"], + parent_tag_name: [], + one_per_topic: false, + permissions: { everyone: 1 } + } + }); + }); + } +}); + +QUnit.test("tag groups can be saved and deleted", async assert => { + const tags = selectKit(".tag-chooser"); + + await visit("/tag_groups"); + await click(".content-list .btn"); + + await fillIn(".tag-group-content h1 input", "test tag group"); + await tags.expand(); + await tags.selectRowByValue("monkey"); + + await click(".tag-group-content .btn.btn-default"); + + await click(".tag-chooser .choice:first"); + assert.ok(!find(".tag-group-content .btn.btn-danger")[0].disabled); +});