33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
import waitForPromises from 'helpers/wait_for_promises';
|
|
import suppressAjaxErrorsDuringNavigation from '~/lib/utils/suppress_ajax_errors_during_navigation';
|
|
|
|
describe('suppressAjaxErrorsDuringNavigation', () => {
|
|
const OTHER_ERR_CODE = 'foo';
|
|
const NAV_ERR_CODE = 'ECONNABORTED';
|
|
|
|
it.each`
|
|
isUserNavigating | code
|
|
${false} | ${OTHER_ERR_CODE}
|
|
${false} | ${NAV_ERR_CODE}
|
|
${true} | ${OTHER_ERR_CODE}
|
|
`('should return a rejected Promise', ({ isUserNavigating, code }) => {
|
|
const err = { code };
|
|
const actual = suppressAjaxErrorsDuringNavigation(err, isUserNavigating);
|
|
|
|
return expect(actual).rejects.toBe(err);
|
|
});
|
|
|
|
it('should return a Promise that never resolves', () => {
|
|
const err = { code: NAV_ERR_CODE };
|
|
const actual = suppressAjaxErrorsDuringNavigation(err, true);
|
|
|
|
const thenCallback = jest.fn();
|
|
const catchCallback = jest.fn();
|
|
actual.then(thenCallback).catch(catchCallback);
|
|
|
|
return waitForPromises().then(() => {
|
|
expect(thenCallback).not.toHaveBeenCalled();
|
|
expect(catchCallback).not.toHaveBeenCalled();
|
|
});
|
|
});
|
|
});
|