Update liveSearch JS tests and test helpers

Includes a change to make these tests use the
getRadioGroup helper to reduce duplication across
the tests. This also makes a few changes to the
helper so it can produce the HTML required.
This commit is contained in:
Tom Byers
2020-12-15 12:07:28 +00:00
parent d620d9ea08
commit 88e85ea01c
2 changed files with 47 additions and 51 deletions

View File

@@ -5,11 +5,12 @@ function getRadios (fields, name) {
return fields.map((field, idx) => {
const count = idx + 1;
const id = field.id || `${name}-${count}`;
return `
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="${name}-1" name="${name}" type="radio" value="${field.value}" ${field.checked ? 'checked' : ''}>
<label class="govuk-label govuk-radios__label" for="${name}-1">
<input class="govuk-radios__input" id="${id}" name="${name}" type="radio" value="${field.value}" ${field.checked ? 'checked' : ''}>
<label class="govuk-label govuk-radios__label" for="${id}">
${field.label}
</label>
</div>`;
@@ -20,10 +21,12 @@ function getRadioGroup (data) {
let radioGroup = document.createElement('div');
radioGroup.classList.add('govuk-form-group');
data.cssClasses.forEach(cssClass => radioGroup.classList.add(cssClass));
if ('cssClasses' in data) {
data.cssClasses.forEach(cssClass => radioGroup.classList.add(cssClass));
}
radioGroup.innerHTML = `
<fieldset class="govuk-fieldset" id="${data.name}">
<legend class="govuk-fieldset__legend">
<legend class="govuk-fieldset__legend${data.hideLegend ? " govuk-visually-hidden" : ""}">
${data.label}
</legend>
<div class="govuk-radios">