From 923ac7190cfa6e6c1c1a8e0b35ace2a24207291b Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 9 May 2019 13:33:33 +0100 Subject: [PATCH] Add a hint when no team members are selected MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This helps clarify that you will still be able to see the folder. Follows the phrasing used for the "No folders…" message. --- .../javascripts/collapsibleCheckboxes.js | 11 ++++----- .../javascripts/collapsibleCheckboxes.test.js | 24 +++++++++++++++++-- 2 files changed, 26 insertions(+), 9 deletions(-) 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"); });