72 lines
2.1 KiB
JavaScript
72 lines
2.1 KiB
JavaScript
import { runSaga } from 'redux-saga';
|
|
|
|
import { setCountryFromThirdPartyAuthContext } from '../../../register/data/actions';
|
|
import initializeMockLogging from '../../../setupTest';
|
|
import * as actions from '../actions';
|
|
import { fetchThirdPartyAuthContext } from '../sagas';
|
|
import * as api from '../service';
|
|
|
|
const { loggingService } = initializeMockLogging();
|
|
|
|
describe('fetchThirdPartyAuthContext', () => {
|
|
const params = {
|
|
payload: { urlParams: {} },
|
|
};
|
|
|
|
const data = {
|
|
currentProvider: null,
|
|
providers: [],
|
|
secondaryProviders: [],
|
|
finishAuthUrl: null,
|
|
pipelineUserDetails: {},
|
|
};
|
|
|
|
beforeEach(() => {
|
|
loggingService.logError.mockReset();
|
|
});
|
|
|
|
it('should call service and dispatch success action', async () => {
|
|
const getThirdPartyAuthContext = jest.spyOn(api, 'getThirdPartyAuthContext')
|
|
.mockImplementation(() => Promise.resolve({
|
|
thirdPartyAuthContext: data,
|
|
fieldDescriptions: {},
|
|
optionalFields: {},
|
|
}));
|
|
|
|
const dispatched = [];
|
|
await runSaga(
|
|
{ dispatch: (action) => dispatched.push(action) },
|
|
fetchThirdPartyAuthContext,
|
|
params,
|
|
);
|
|
|
|
expect(getThirdPartyAuthContext).toHaveBeenCalledTimes(1);
|
|
expect(dispatched).toEqual([
|
|
actions.getThirdPartyAuthContextBegin(),
|
|
setCountryFromThirdPartyAuthContext(),
|
|
actions.getThirdPartyAuthContextSuccess({}, {}, data),
|
|
]);
|
|
getThirdPartyAuthContext.mockClear();
|
|
});
|
|
|
|
it('should call service and dispatch error action', async () => {
|
|
const getThirdPartyAuthContext = jest.spyOn(api, 'getThirdPartyAuthContext')
|
|
.mockImplementation(() => Promise.reject(new Error('something went wrong')));
|
|
|
|
const dispatched = [];
|
|
await runSaga(
|
|
{ dispatch: (action) => dispatched.push(action) },
|
|
fetchThirdPartyAuthContext,
|
|
params,
|
|
);
|
|
|
|
expect(getThirdPartyAuthContext).toHaveBeenCalledTimes(1);
|
|
expect(loggingService.logError).toHaveBeenCalled();
|
|
expect(dispatched).toEqual([
|
|
actions.getThirdPartyAuthContextBegin(),
|
|
actions.getThirdPartyAuthContextFailure(),
|
|
]);
|
|
getThirdPartyAuthContext.mockClear();
|
|
});
|
|
});
|