summaryrefslogtreecommitdiff
path: root/spec/frontend/filtered_search/visual_token_value_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/filtered_search/visual_token_value_spec.js')
-rw-r--r--spec/frontend/filtered_search/visual_token_value_spec.js91
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);
});
});