diff --git a/spec/frontend/blob/blob_blame_link_spec.js b/spec/frontend/blob/blob_blame_link_spec.js index 0d19177a11ff26ec9d4dd99c61aa7d7d280477ce..060e8803520934f57d908d97abb05e93fc7cbf2e 100644 --- a/spec/frontend/blob/blob_blame_link_spec.js +++ b/spec/frontend/blob/blob_blame_link_spec.js @@ -29,19 +29,19 @@ describe('Blob links', () => { it('adds wrapper elements with correct classes', () => { const wrapper = document.querySelector('.line-links'); - expect(wrapper).toBeTruthy(); + expect(wrapper).not.toBeNull(); expect(wrapper.classList).toContain('diff-line-num'); }); it('adds blame link with correct classes and path', () => { const blameLink = document.querySelector('.file-line-blame'); - expect(blameLink).toBeTruthy(); + expect(blameLink).not.toBeNull(); expect(blameLink.getAttribute('href')).toBe('/blamePath#L5'); }); it('adds line link within wraper with correct classes and path', () => { const lineLink = document.querySelector('.file-line-num'); - expect(lineLink).toBeTruthy(); + expect(lineLink).not.toBeNull(); expect(lineLink.getAttribute('href')).toBe('#L5'); }); }); diff --git a/spec/frontend/blob/components/blob_content_spec.js b/spec/frontend/blob/components/blob_content_spec.js index 788ee0a86ab90e7853d2879e64cd97b375ee4107..f7b819b6e943b9caa57054455c4978754755b14d 100644 --- a/spec/frontend/blob/components/blob_content_spec.js +++ b/spec/frontend/blob/components/blob_content_spec.js @@ -91,13 +91,13 @@ describe('Blob Content component', () => { it(`properly proxies ${BLOB_RENDER_EVENT_LOAD} event`, () => { expect(wrapper.emitted(BLOB_RENDER_EVENT_LOAD)).toBeUndefined(); findErrorEl().vm.$emit(BLOB_RENDER_EVENT_LOAD); - expect(wrapper.emitted(BLOB_RENDER_EVENT_LOAD)).toBeTruthy(); + expect(wrapper.emitted(BLOB_RENDER_EVENT_LOAD)).toHaveLength(1); }); it(`properly proxies ${BLOB_RENDER_EVENT_SHOW_SOURCE} event`, () => { expect(wrapper.emitted(BLOB_RENDER_EVENT_SHOW_SOURCE)).toBeUndefined(); findErrorEl().vm.$emit(BLOB_RENDER_EVENT_SHOW_SOURCE); - expect(wrapper.emitted(BLOB_RENDER_EVENT_SHOW_SOURCE)).toBeTruthy(); + expect(wrapper.emitted(BLOB_RENDER_EVENT_SHOW_SOURCE)).toHaveLength(1); }); }); }); diff --git a/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js b/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js index bbafdc000dbfefc8136e7c9fa3a335bb2f8adcef..b8c979a41575f80faee0c9bb93784a1f54e22c2a 100644 --- a/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js +++ b/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js @@ -52,7 +52,7 @@ describe('Deploy freeze modal', () => { describe('Basic interactions', () => { it('button is disabled when freeze period is invalid', () => { - expect(submitDeployFreezeButton().attributes('disabled')).toBeTruthy(); + expect(submitDeployFreezeButton().attributes('disabled')).toBe('true'); }); }); @@ -92,7 +92,7 @@ describe('Deploy freeze modal', () => { }); it('disables the add deploy freeze button', () => { - expect(submitDeployFreezeButton().attributes('disabled')).toBeTruthy(); + expect(submitDeployFreezeButton().attributes('disabled')).toBe('true'); }); }); @@ -103,7 +103,7 @@ describe('Deploy freeze modal', () => { }); it('does not disable the submit button', () => { - expect(submitDeployFreezeButton().attributes('disabled')).toBeFalsy(); + expect(submitDeployFreezeButton().attributes('disabled')).toBeUndefined(); }); }); }); diff --git a/spec/frontend/design_management/components/delete_button_spec.js b/spec/frontend/design_management/components/delete_button_spec.js index cee1eec792dc17b8ce73d97caeb0aa10321d3566..426a61f5a477aef1e9d66b0a1ffef8100d85cff9 100644 --- a/spec/frontend/design_management/components/delete_button_spec.js +++ b/spec/frontend/design_management/components/delete_button_spec.js @@ -29,12 +29,12 @@ describe('Batch delete button component', () => { createComponent(); expect(findButton().exists()).toBe(true); - expect(findButton().attributes('disabled')).toBeFalsy(); + expect(findButton().attributes('disabled')).toBeUndefined(); }); it('renders disabled button when design is deleting', () => { createComponent({ isDeleting: true }); - expect(findButton().attributes('disabled')).toBeTruthy(); + expect(findButton().attributes('disabled')).toBe('true'); }); it('emits `delete-selected-designs` event on modal ok click', async () => { @@ -45,7 +45,7 @@ describe('Batch delete button component', () => { findModal().vm.$emit('ok'); await nextTick(); - expect(wrapper.emitted('delete-selected-designs')).toBeTruthy(); + expect(wrapper.emitted('delete-selected-designs')).toHaveLength(1); }); it('renders slot content', () => { diff --git a/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js b/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js index e36f5c79e3eaaf9cc483bf775f39de01bab779d3..83804f28f5941da19fc06853e116e9c34de41763 100644 --- a/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js +++ b/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js @@ -102,7 +102,7 @@ describe('Design reply form component', () => { }); it('submit button is disabled', () => { - expect(findSubmitButton().attributes().disabled).toBeTruthy(); + expect(findSubmitButton().attributes().disabled).toBe('disabled'); }); it('does not emit submitForm event on textarea ctrl+enter keydown', async () => { @@ -111,7 +111,7 @@ describe('Design reply form component', () => { }); await nextTick(); - expect(wrapper.emitted('submit-form')).toBeFalsy(); + expect(wrapper.emitted('submit-form')).toBeUndefined(); }); it('does not emit submitForm event on textarea meta+enter keydown', async () => { @@ -120,13 +120,13 @@ describe('Design reply form component', () => { }); await nextTick(); - expect(wrapper.emitted('submit-form')).toBeFalsy(); + expect(wrapper.emitted('submit-form')).toBeUndefined(); }); it('emits cancelForm event on pressing escape button on textarea', () => { findTextarea().trigger('keyup.esc'); - expect(wrapper.emitted('cancel-form')).toBeTruthy(); + expect(wrapper.emitted('cancel-form')).toHaveLength(1); }); it('emits cancelForm event on clicking Cancel button', () => { @@ -144,7 +144,7 @@ describe('Design reply form component', () => { }); it('submit button is enabled', () => { - expect(findSubmitButton().attributes().disabled).toBeFalsy(); + expect(findSubmitButton().attributes().disabled).toBeUndefined(); }); it('emits submitForm event on Comment button click', async () => { @@ -153,7 +153,7 @@ describe('Design reply form component', () => { findSubmitButton().vm.$emit('click'); await nextTick(); - expect(wrapper.emitted('submit-form')).toBeTruthy(); + expect(wrapper.emitted('submit-form')).toHaveLength(1); expect(autosaveResetSpy).toHaveBeenCalled(); }); @@ -165,7 +165,7 @@ describe('Design reply form component', () => { }); await nextTick(); - expect(wrapper.emitted('submit-form')).toBeTruthy(); + expect(wrapper.emitted('submit-form')).toHaveLength(1); expect(autosaveResetSpy).toHaveBeenCalled(); }); @@ -177,7 +177,7 @@ describe('Design reply form component', () => { }); await nextTick(); - expect(wrapper.emitted('submit-form')).toBeTruthy(); + expect(wrapper.emitted('submit-form')).toHaveLength(1); expect(autosaveResetSpy).toHaveBeenCalled(); }); @@ -185,13 +185,13 @@ describe('Design reply form component', () => { findTextarea().setValue('test2'); await nextTick(); - expect(wrapper.emitted('input')).toBeTruthy(); + expect(wrapper.emitted('input')).toEqual([['test'], ['test2']]); }); it('emits cancelForm event on Escape key if text was not changed', () => { findTextarea().trigger('keyup.esc'); - expect(wrapper.emitted('cancel-form')).toBeTruthy(); + expect(wrapper.emitted('cancel-form')).toHaveLength(1); }); it('opens confirmation modal on Escape key when text has changed', async () => { @@ -205,7 +205,7 @@ describe('Design reply form component', () => { it('emits cancelForm event on Cancel button click if text was not changed', () => { findCancelButton().trigger('click'); - expect(wrapper.emitted('cancel-form')).toBeTruthy(); + expect(wrapper.emitted('cancel-form')).toHaveLength(1); }); it('opens confirmation modal on Cancel button click when text has changed', async () => { @@ -222,7 +222,7 @@ describe('Design reply form component', () => { findTextarea().trigger('keyup.esc'); findModal().vm.$emit('ok'); - expect(wrapper.emitted('cancel-form')).toBeTruthy(); + expect(wrapper.emitted('cancel-form')).toHaveLength(2); expect(autosaveResetSpy).toHaveBeenCalled(); }); }); diff --git a/spec/frontend/groups/store/groups_store_spec.js b/spec/frontend/groups/store/groups_store_spec.js index 8ac5d7099f15d3afd96d101d1857e0274008bac8..ce1791d006255988dc6ef7d597c986f216db5596 100644 --- a/spec/frontend/groups/store/groups_store_spec.js +++ b/spec/frontend/groups/store/groups_store_spec.js @@ -16,13 +16,13 @@ describe('ProjectsStore', () => { store = new GroupsStore(); expect(Object.keys(store.state).length).toBe(2); - expect(Array.isArray(store.state.groups)).toBeTruthy(); + expect(Array.isArray(store.state.groups)).toBe(true); expect(Object.keys(store.state.pageInfo).length).toBe(0); - expect(store.hideProjects).toBeFalsy(); + expect(store.hideProjects).toBe(false); store = new GroupsStore({ hideProjects: true }); - expect(store.hideProjects).toBeTruthy(); + expect(store.hideProjects).toBe(true); }); }); @@ -65,8 +65,8 @@ describe('ProjectsStore', () => { expect(store.formatGroupItem).toHaveBeenCalledWith(expect.any(Object)); expect(mockParentGroupItem.children.length).toBe(1); expect(Object.keys(mockParentGroupItem.children[0]).indexOf('fullName')).toBeGreaterThan(-1); - expect(mockParentGroupItem.isOpen).toBeTruthy(); - expect(mockParentGroupItem.isChildrenLoading).toBeFalsy(); + expect(mockParentGroupItem.isOpen).toBe(true); + expect(mockParentGroupItem.isChildrenLoading).toBe(false); }); }); diff --git a/spec/frontend/ide/components/terminal/terminal_spec.js b/spec/frontend/ide/components/terminal/terminal_spec.js index 4da3e1910e9ecf1934c1d85273ebff88459b6d8e..0d22f7f73fe9ae0f8c80079a6c977cbe3ee8fe95 100644 --- a/spec/frontend/ide/components/terminal/terminal_spec.js +++ b/spec/frontend/ide/components/terminal/terminal_spec.js @@ -171,7 +171,7 @@ describe('IDE Terminal', () => { it('creates the terminal', () => { expect(GLTerminal).toHaveBeenCalledWith(wrapper.vm.$refs.terminal); - expect(wrapper.vm.glterminal).toBeTruthy(); + expect(wrapper.vm.glterminal).toBeInstanceOf(GLTerminal); }); describe('scroll listener', () => { diff --git a/spec/frontend/ide/stores/actions_spec.js b/spec/frontend/ide/stores/actions_spec.js index f6d54491d772e75100d6228367cb7cd307e06284..21480ef873f12a49976423e2d97f8d74ace9fdb6 100644 --- a/spec/frontend/ide/stores/actions_spec.js +++ b/spec/frontend/ide/stores/actions_spec.js @@ -138,7 +138,7 @@ describe('Multi-file store actions', () => { name: 'testing/test', type: 'tree', }); - expect(tree.tree[0].tempFile).toBeTruthy(); + expect(tree.tree[0].tempFile).toBe(true); expect(tree.tree[0].name).toBe('test'); expect(tree.tree[0].type).toBe('tree'); }); @@ -173,7 +173,7 @@ describe('Multi-file store actions', () => { }); const f = store.state.entries[name]; - expect(f.tempFile).toBeTruthy(); + expect(f.tempFile).toBe(true); expect(f.mimeType).toBe('test/mime'); expect(store.state.trees['abcproject/mybranch'].tree.length).toBe(1); }); diff --git a/spec/frontend/ide/stores/modules/commit/mutations_spec.js b/spec/frontend/ide/stores/modules/commit/mutations_spec.js index 50342832d751b743d9de3ba0a28fdea0a9f2b1d4..d277157e737595799bfee556b7a174588fd1d497 100644 --- a/spec/frontend/ide/stores/modules/commit/mutations_spec.js +++ b/spec/frontend/ide/stores/modules/commit/mutations_spec.js @@ -37,7 +37,7 @@ describe('IDE commit module mutations', () => { it('updates submitCommitLoading', () => { mutations.UPDATE_LOADING(state, true); - expect(state.submitCommitLoading).toBeTruthy(); + expect(state.submitCommitLoading).toBe(true); }); }); diff --git a/spec/frontend/ide/stores/mutations/tree_spec.js b/spec/frontend/ide/stores/mutations/tree_spec.js index 6935e57578f1dd826b5b51be782c22eb0a8b4380..a8c0d7ba2c85b0eaf51612114e17d6c7e1e3e74f 100644 --- a/spec/frontend/ide/stores/mutations/tree_spec.js +++ b/spec/frontend/ide/stores/mutations/tree_spec.js @@ -17,11 +17,11 @@ describe('Multi-file store tree mutations', () => { it('toggles tree open', () => { mutations.TOGGLE_TREE_OPEN(localState, localTree.path); - expect(localTree.opened).toBeTruthy(); + expect(localTree.opened).toBe(true); mutations.TOGGLE_TREE_OPEN(localState, localTree.path); - expect(localTree.opened).toBeFalsy(); + expect(localTree.opened).toBe(false); }); }); diff --git a/spec/frontend/ide/stores/mutations_spec.js b/spec/frontend/ide/stores/mutations_spec.js index 4602a0837e0a9eb0c35111d59e5c21b7033ec7bf..4117f2648bd61219f94158a855b5ee4248940af1 100644 --- a/spec/frontend/ide/stores/mutations_spec.js +++ b/spec/frontend/ide/stores/mutations_spec.js @@ -30,13 +30,13 @@ describe('Multi-file store mutations', () => { entry, }); - expect(entry.loading).toBeTruthy(); + expect(entry.loading).toBe(true); mutations.TOGGLE_LOADING(localState, { entry, }); - expect(entry.loading).toBeFalsy(); + expect(entry.loading).toBe(false); }); it('toggles loading of entry and sets specific value', () => { @@ -44,14 +44,14 @@ describe('Multi-file store mutations', () => { entry, }); - expect(entry.loading).toBeTruthy(); + expect(entry.loading).toBe(true); mutations.TOGGLE_LOADING(localState, { entry, forceValue: true, }); - expect(entry.loading).toBeTruthy(); + expect(entry.loading).toBe(true); }); }); diff --git a/spec/frontend/smart_interval_spec.js b/spec/frontend/smart_interval_spec.js index 5dda097ae6ab25910246659fea074750499975ed..64928fc4ae9ee09138334a98e538c7121d7f896b 100644 --- a/spec/frontend/smart_interval_spec.js +++ b/spec/frontend/smart_interval_spec.js @@ -109,7 +109,7 @@ describe('SmartInterval', () => { return waitForPromises().then(() => { const { intervalId } = interval.state; - expect(intervalId).toBeTruthy(); + expect(intervalId).not.toBeUndefined(); }); }); }); @@ -130,7 +130,7 @@ describe('SmartInterval', () => { jest.runOnlyPendingTimers(); return waitForPromises().then(() => { - expect(interval.state.intervalId).toBeTruthy(); + expect(interval.state.intervalId).not.toBeUndefined(); // simulates triggering of visibilitychange event interval.onVisibilityChange({ target: { visibilityState: 'hidden' } }); @@ -148,16 +148,16 @@ describe('SmartInterval', () => { jest.runOnlyPendingTimers(); return waitForPromises().then(() => { - expect(interval.state.intervalId).toBeTruthy(); + expect(interval.state.intervalId).not.toBeUndefined(); expect( interval.getCurrentInterval() >= DEFAULT_STARTING_INTERVAL && interval.getCurrentInterval() <= DEFAULT_MAX_INTERVAL, - ).toBeTruthy(); + ).toBe(true); // simulates triggering of visibilitychange event interval.onVisibilityChange({ target: { visibilityState: 'hidden' } }); - expect(interval.state.intervalId).toBeTruthy(); + expect(interval.state.intervalId).not.toBeUndefined(); expect(interval.getCurrentInterval()).toBe(HIDDEN_INTERVAL); }); }); @@ -166,7 +166,7 @@ describe('SmartInterval', () => { jest.runOnlyPendingTimers(); return waitForPromises().then(() => { - expect(interval.state.intervalId).toBeTruthy(); + expect(interval.state.intervalId).not.toBeUndefined(); // simulates triggering of visibilitychange event interval.onVisibilityChange({ target: { visibilityState: 'hidden' } }); @@ -176,7 +176,7 @@ describe('SmartInterval', () => { // simulates triggering of visibilitychange event interval.onVisibilityChange({ target: { visibilityState: 'visible' } }); - expect(interval.state.intervalId).toBeTruthy(); + expect(interval.state.intervalId).not.toBeUndefined(); }); }); @@ -194,7 +194,7 @@ describe('SmartInterval', () => { it('should execute callback before first interval', () => { interval = createDefaultSmartInterval({ immediateExecution: true }); - expect(interval.cfg.immediateExecution).toBeFalsy(); + expect(interval.cfg.immediateExecution).toBe(false); }); }); }); diff --git a/spec/frontend/user_popovers_spec.js b/spec/frontend/user_popovers_spec.js index 0530569c9dfcc9c44591ba0d44695e27e64be953..8ce071c075f0f198708cb943f85bb2cf685a5ac7 100644 --- a/spec/frontend/user_popovers_spec.js +++ b/spec/frontend/user_popovers_spec.js @@ -188,8 +188,8 @@ describe('User Popovers', () => { }); it('removes title attribute from user links', () => { - expect(userLink.getAttribute('title')).toBeFalsy(); - expect(userLink.dataset.originalTitle).toBeFalsy(); + expect(userLink.getAttribute('title')).toBe(''); + expect(userLink.dataset.originalTitle).toBe(''); }); it('fetches user info and status from the user cache', () => {