diff options
Diffstat (limited to 'spec/frontend/issuable_spec.js')
-rw-r--r-- | spec/frontend/issuable_spec.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/spec/frontend/issuable_spec.js b/spec/frontend/issuable_spec.js new file mode 100644 index 00000000000..63c1fda2fb4 --- /dev/null +++ b/spec/frontend/issuable_spec.js @@ -0,0 +1,64 @@ +import $ from 'jquery'; +import MockAdaptor from 'axios-mock-adapter'; +import axios from '~/lib/utils/axios_utils'; +import IssuableIndex from '~/issuable_index'; +import issuableInitBulkUpdateSidebar from '~/issuable_init_bulk_update_sidebar'; + +describe('Issuable', () => { + describe('initBulkUpdate', () => { + it('should not set bulkUpdateSidebar', () => { + new IssuableIndex('issue_'); // eslint-disable-line no-new + + expect(issuableInitBulkUpdateSidebar.bulkUpdateSidebar).toBeNull(); + }); + + it('should set bulkUpdateSidebar', () => { + const element = document.createElement('div'); + element.classList.add('issues-bulk-update'); + document.body.appendChild(element); + + new IssuableIndex('issue_'); // eslint-disable-line no-new + + expect(issuableInitBulkUpdateSidebar.bulkUpdateSidebar).toBeDefined(); + }); + }); + + describe('resetIncomingEmailToken', () => { + let mock; + + beforeEach(() => { + const element = document.createElement('a'); + element.classList.add('incoming-email-token-reset'); + element.setAttribute('href', 'foo'); + document.body.appendChild(element); + + const input = document.createElement('input'); + input.setAttribute('id', 'issuable_email'); + document.body.appendChild(input); + + new IssuableIndex('issue_'); // eslint-disable-line no-new + + mock = new MockAdaptor(axios); + + mock.onPut('foo').reply(200, { + new_address: 'testing123', + }); + }); + + afterEach(() => { + mock.restore(); + }); + + it('should send request to reset email token', done => { + jest.spyOn(axios, 'put'); + document.querySelector('.incoming-email-token-reset').click(); + + setImmediate(() => { + expect(axios.put).toHaveBeenCalledWith('foo'); + expect($('#issuable_email').val()).toBe('testing123'); + + done(); + }); + }); + }); +}); |