diff options
Diffstat (limited to 'spec/frontend/lib/utils/select2_utils_spec.js')
-rw-r--r-- | spec/frontend/lib/utils/select2_utils_spec.js | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/spec/frontend/lib/utils/select2_utils_spec.js b/spec/frontend/lib/utils/select2_utils_spec.js deleted file mode 100644 index 6d601dd5ad1..00000000000 --- a/spec/frontend/lib/utils/select2_utils_spec.js +++ /dev/null @@ -1,100 +0,0 @@ -import MockAdapter from 'axios-mock-adapter'; -import $ from 'jquery'; -import { setHTMLFixture } from 'helpers/fixtures'; -import waitForPromises from 'helpers/wait_for_promises'; -import axios from '~/lib/utils/axios_utils'; -import { select2AxiosTransport } from '~/lib/utils/select2_utils'; - -import 'select2/select2'; - -const TEST_URL = '/test/api/url'; -const TEST_SEARCH_DATA = { extraSearch: 'test' }; -const TEST_DATA = [{ id: 1 }]; -const TEST_SEARCH = 'FOO'; - -describe('lib/utils/select2_utils', () => { - let mock; - let resultsSpy; - - beforeEach(() => { - setHTMLFixture('<div><input id="root" /></div>'); - - mock = new MockAdapter(axios); - - resultsSpy = jest.fn().mockReturnValue({ results: [] }); - }); - - afterEach(() => { - mock.restore(); - }); - - const setupSelect2 = (input) => { - input.select2({ - ajax: { - url: TEST_URL, - quietMillis: 250, - transport: select2AxiosTransport, - data(search, page) { - return { - search, - page, - ...TEST_SEARCH_DATA, - }; - }, - results: resultsSpy, - }, - }); - }; - - const setupSelect2AndSearch = async () => { - const $input = $('#root'); - - setupSelect2($input); - - $input.select2('search', TEST_SEARCH); - - jest.runOnlyPendingTimers(); - await waitForPromises(); - }; - - describe('select2AxiosTransport', () => { - it('uses axios to make request', async () => { - // setup mock response - const replySpy = jest.fn(); - mock.onGet(TEST_URL).reply((...args) => replySpy(...args)); - - await setupSelect2AndSearch(); - - expect(replySpy).toHaveBeenCalledWith( - expect.objectContaining({ - url: TEST_URL, - method: 'get', - params: { - page: 1, - search: TEST_SEARCH, - ...TEST_SEARCH_DATA, - }, - }), - ); - }); - - it.each` - headers | pagination - ${{}} | ${{ more: false }} - ${{ 'X-PAGE': '1', 'x-next-page': 2 }} | ${{ more: true }} - `( - 'passes results and pagination to results callback, with headers=$headers', - async ({ headers, pagination }) => { - mock.onGet(TEST_URL).reply(200, TEST_DATA, headers); - - await setupSelect2AndSearch(); - - expect(resultsSpy).toHaveBeenCalledWith( - { results: TEST_DATA, pagination }, - 1, - expect.anything(), - ); - }, - ); - }); -}); |