diff --git a/app/assets/javascripts/collapsibleCheckboxes.js b/app/assets/javascripts/collapsibleCheckboxes.js index 5bcdcef5f..43689115c 100644 --- a/app/assets/javascripts/collapsibleCheckboxes.js +++ b/app/assets/javascripts/collapsibleCheckboxes.js @@ -48,13 +48,10 @@ templates: { all: (selection, total, field) => `All ${field}s`, some: (selection, total, field) => `${selection} of ${total} ${field}s`, - none: (selection, total, field) => { - if (field === 'folder') { - return "No folders (only templates outside a folder)"; - } else { - return `No ${field}s`; - } - } + none: (selection, total, field) => ({ + "folder": "No folders (only templates outside a folder)", + "team member": "No team members (only you)" + }[field] || `No ${field}s`) }, addContent: function(legendText, fieldLabel) { const $content = $(`

diff --git a/tests/javascripts/collapsibleCheckboxes.test.js b/tests/javascripts/collapsibleCheckboxes.test.js index e8b73dfa9..e52b4d8f8 100644 --- a/tests/javascripts/collapsibleCheckboxes.test.js +++ b/tests/javascripts/collapsibleCheckboxes.test.js @@ -205,7 +205,7 @@ describe('Collapsible fieldset', () => { }); test("the summary doesn't have a folder icon if fields aren't called 'folder'", () => { - + formGroup.dataset.fieldLabel = 'team member'; // start module @@ -361,7 +361,27 @@ describe('Collapsible fieldset', () => { // click the first checkbox helpers.triggerEvent(checkboxes[0], 'click'); - expect(summaryText.textContent).toEqual("No team members"); + expect(summaryText.textContent).toEqual("No team members (only you)"); + + }); + + test("if fields are called 'arbitrary thing'", () => { + + formGroup.dataset.fieldLabel = 'arbitrary thing'; + + checkFirstCheckbox(); + + // start module + window.GOVUK.modules.start(); + + showCheckboxes(); + + const summaryText = document.querySelector('.selection-summary__text'); + + // click the first checkbox + helpers.triggerEvent(checkboxes[0], 'click'); + + expect(summaryText.textContent).toEqual("No arbitrary things"); });