debian-mirror-gitlab/spec/frontend/lib/utils/suppress_ajax_errors_during_navigation_spec.js

34 lines
1.1 KiB
JavaScript
Raw Normal View History

2019-12-21 20:55:43 +05:30
import waitForPromises from 'helpers/wait_for_promises';
2020-01-01 13:55:28 +05:30
import suppressAjaxErrorsDuringNavigation from '~/lib/utils/suppress_ajax_errors_during_navigation';
2019-12-21 20:55:43 +05:30
describe('suppressAjaxErrorsDuringNavigation', () => {
const OTHER_ERR_CODE = 'foo';
const NAV_ERR_CODE = 'ECONNABORTED';
it.each`
2020-01-01 13:55:28 +05:30
isUserNavigating | code
${false} | ${OTHER_ERR_CODE}
${false} | ${NAV_ERR_CODE}
${true} | ${OTHER_ERR_CODE}
`('should return a rejected Promise', ({ isUserNavigating, code }) => {
2019-12-21 20:55:43 +05:30
const err = { code };
2020-01-01 13:55:28 +05:30
const actual = suppressAjaxErrorsDuringNavigation(err, isUserNavigating);
2019-12-21 20:55:43 +05:30
return expect(actual).rejects.toBe(err);
});
it('should return a Promise that never resolves', () => {
const err = { code: NAV_ERR_CODE };
2020-01-01 13:55:28 +05:30
const actual = suppressAjaxErrorsDuringNavigation(err, true);
2019-12-21 20:55:43 +05:30
const thenCallback = jest.fn();
const catchCallback = jest.fn();
actual.then(thenCallback).catch(catchCallback);
return waitForPromises().then(() => {
expect(thenCallback).not.toHaveBeenCalled();
expect(catchCallback).not.toHaveBeenCalled();
});
});
});