diff --git a/tests/javascripts/autofocus.test.js b/tests/javascripts/autofocus.test.js
index 52b516613..5ea5179a8 100644
--- a/tests/javascripts/autofocus.test.js
+++ b/tests/javascripts/autofocus.test.js
@@ -1,3 +1,5 @@
+const helpers = require('./support/helpers.js');
+
beforeAll(() => {
require('../../app/assets/javascripts/autofocus.js');
});
@@ -8,16 +10,19 @@ afterAll(() => {
describe('Autofocus', () => {
+ const labelText = 'Search by name';
let focusHandler;
let search;
beforeEach(() => {
+ document.title = 'Find services by name - GOV.UK Notify';
+
// set up DOM
document.body.innerHTML =
`
`;
@@ -45,6 +50,28 @@ describe('Autofocus', () => {
});
+ test('has a label including the page title when the module starts', () => {
+
+ // start module
+ window.GOVUK.modules.start();
+
+ expect(search.hasAttribute('aria-label')).toBe(true);
+ expect(search.getAttribute('aria-label')).toEqual(document.title + ' - ' + labelText);
+
+ });
+
+ test('gets the original label back when focus moves away', () => {
+
+ // start module
+ window.GOVUK.modules.start();
+
+ // shift focus away from textbox
+ helpers.triggerEvent(search, 'blur');
+
+ expect(search.hasAttribute('aria-label')).toBe(false);
+
+ });
+
test('is not focused if the window has scrolled', () => {
// mock the window being scrolled 25px