diff options
Diffstat (limited to 'spec/frontend/filtered_search/visual_token_value_spec.js')
-rw-r--r-- | spec/frontend/filtered_search/visual_token_value_spec.js | 91 |
1 files changed, 28 insertions, 63 deletions
diff --git a/spec/frontend/filtered_search/visual_token_value_spec.js b/spec/frontend/filtered_search/visual_token_value_spec.js index 8ac5b6fbea6..bf526a8d371 100644 --- a/spec/frontend/filtered_search/visual_token_value_spec.js +++ b/spec/frontend/filtered_search/visual_token_value_spec.js @@ -46,7 +46,7 @@ describe('Filtered Search Visual Tokens', () => { jest.spyOn(UsersCache, 'retrieve').mockImplementation((username) => usersCacheSpy(username)); }); - it('ignores error if UsersCache throws', (done) => { + it('ignores error if UsersCache throws', async () => { const dummyError = new Error('Earth rotated backwards'); const { subject, tokenValueContainer, tokenValueElement } = findElements(authorToken); const tokenValue = tokenValueElement.innerText; @@ -55,16 +55,11 @@ describe('Filtered Search Visual Tokens', () => { return Promise.reject(dummyError); }; - subject - .updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue) - .then(() => { - expect(createFlash.mock.calls.length).toBe(0); - }) - .then(done) - .catch(done.fail); + await subject.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue); + expect(createFlash.mock.calls.length).toBe(0); }); - it('does nothing if user cannot be found', (done) => { + it('does nothing if user cannot be found', async () => { const { subject, tokenValueContainer, tokenValueElement } = findElements(authorToken); const tokenValue = tokenValueElement.innerText; usersCacheSpy = (username) => { @@ -72,16 +67,11 @@ describe('Filtered Search Visual Tokens', () => { return Promise.resolve(undefined); }; - subject - .updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue) - .then(() => { - expect(tokenValueElement.innerText).toBe(tokenValue); - }) - .then(done) - .catch(done.fail); + await subject.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue); + expect(tokenValueElement.innerText).toBe(tokenValue); }); - it('replaces author token with avatar and display name', (done) => { + it('replaces author token with avatar and display name', async () => { const dummyUser = { name: 'Important Person', avatar_url: 'https://host.invalid/mypics/avatar.png', @@ -93,21 +83,16 @@ describe('Filtered Search Visual Tokens', () => { return Promise.resolve(dummyUser); }; - subject - .updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue) - .then(() => { - expect(tokenValueContainer.dataset.originalValue).toBe(tokenValue); - expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); - const avatar = tokenValueElement.querySelector('img.avatar'); - - expect(avatar.getAttribute('src')).toBe(dummyUser.avatar_url); - expect(avatar.getAttribute('alt')).toBe(''); - }) - .then(done) - .catch(done.fail); + await subject.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue); + expect(tokenValueContainer.dataset.originalValue).toBe(tokenValue); + expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); + const avatar = tokenValueElement.querySelector('img.avatar'); + + expect(avatar.getAttribute('src')).toBe(dummyUser.avatar_url); + expect(avatar.getAttribute('alt')).toBe(''); }); - it('escapes user name when creating token', (done) => { + it('escapes user name when creating token', async () => { const dummyUser = { name: '<script>', avatar_url: `${TEST_HOST}/mypics/avatar.png`, @@ -119,16 +104,11 @@ describe('Filtered Search Visual Tokens', () => { return Promise.resolve(dummyUser); }; - subject - .updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue) - .then(() => { - expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); - tokenValueElement.querySelector('.avatar').remove(); + await subject.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue); + expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); + tokenValueElement.querySelector('.avatar').remove(); - expect(tokenValueElement.innerHTML.trim()).toBe(escape(dummyUser.name)); - }) - .then(done) - .catch(done.fail); + expect(tokenValueElement.innerHTML.trim()).toBe(escape(dummyUser.name)); }); }); @@ -177,48 +157,33 @@ describe('Filtered Search Visual Tokens', () => { const findLabel = (tokenValue) => labelData.find((label) => tokenValue === `~${DropdownUtils.getEscapedText(label.title)}`); - it('updates the color of a label token', (done) => { + it('updates the color of a label token', async () => { const { subject, tokenValueContainer, tokenValueElement } = findElements(bugLabelToken); const tokenValue = tokenValueElement.innerText; const matchingLabel = findLabel(tokenValue); - subject - .updateLabelTokenColor(tokenValueContainer, tokenValue) - .then(() => { - expectValueContainerStyle(tokenValueContainer, matchingLabel); - }) - .then(done) - .catch(done.fail); + await subject.updateLabelTokenColor(tokenValueContainer, tokenValue); + expectValueContainerStyle(tokenValueContainer, matchingLabel); }); - it('updates the color of a label token with spaces', (done) => { + it('updates the color of a label token with spaces', async () => { const { subject, tokenValueContainer, tokenValueElement } = findElements(spaceLabelToken); const tokenValue = tokenValueElement.innerText; const matchingLabel = findLabel(tokenValue); - subject - .updateLabelTokenColor(tokenValueContainer, tokenValue) - .then(() => { - expectValueContainerStyle(tokenValueContainer, matchingLabel); - }) - .then(done) - .catch(done.fail); + await subject.updateLabelTokenColor(tokenValueContainer, tokenValue); + expectValueContainerStyle(tokenValueContainer, matchingLabel); }); - it('does not change color of a missing label', (done) => { + it('does not change color of a missing label', async () => { const { subject, tokenValueContainer, tokenValueElement } = findElements(missingLabelToken); const tokenValue = tokenValueElement.innerText; const matchingLabel = findLabel(tokenValue); expect(matchingLabel).toBe(undefined); - subject - .updateLabelTokenColor(tokenValueContainer, tokenValue) - .then(() => { - expect(tokenValueContainer.getAttribute('style')).toBe(null); - }) - .then(done) - .catch(done.fail); + await subject.updateLabelTokenColor(tokenValueContainer, tokenValue); + expect(tokenValueContainer.getAttribute('style')).toBe(null); }); }); |