Свойство Config добавлено в ложный ответ
Я пытаюсь смоделировать ответ, используя axios-mock-adapter с шуткой. Свойство config добавлено в мой объект mockResponse, что делает мой тест неудачным. Как мне предотвратить это?
// campaign_data_actions.test.js
import axios from 'axios';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import promise from 'redux-promise';
import MockAdapter from 'axios-mock-adapter';
import { fetchCampaignData, FETCH_CAMPAIGN_DATA_SUCCESS, FETCH_CAMPAIGN_DATA_ERROR } from '../campaign_data_actions';
import {API_ROOT} from '../../../config';
const createMockStore = configureMockStore([promise, thunk]);
const store = createMockStore({ campaignData: {} });
describe('fetchCampaignData', () => {
it('returns campaign data when called', () => {
var mock = new MockAdapter(axios);
const mockResponse = {
"status":"success",
"success":true,
"message":null,
"error":[],
"data":[
{
"id":"12345"
}
]
}
const mockCampaignId = 12345;
const mockUrl = `${API_ROOT}/campaigns/${mockCampaignId}`;
mock.onGet(mockUrl).reply(200, mockResponse);
const expectedActions = [{ payload: mockResponse, type: FETCH_CAMPAIGN_DATA_SUCCESS }];
return store.dispatch(fetchCampaignData(mockCampaignId)).then(() => {
expect(store.getActions()).toEqual(expectedActions);
});
});
});
//campaign_data_actions.js
import axios from 'axios';
import {API_ROOT} from '../../config';
export const FETCH_CAMPAIGN_DATA_SUCCESS = 'fetch_campaign_data_success';
export const FETCH_CAMPAIGN_DATA_ERROR = 'fetch_campaign_data_success';
const USER_TOKEN = window.user_token;
export function fetchCampaignData(campaignId) {
return (dispatch, getState) => {
return axios({
method: 'get',
url: `${API_ROOT}/campaigns/${campaignId}`,
headers: {
"USER_TOKEN": USER_TOKEN
}
}).then(function(response){
dispatch({
type: FETCH_CAMPAIGN_DATA_SUCCESS,
payload: response
});
}).catch(function(response){
dispatch({
type: FETCH_CAMPAIGN_DATA_ERROR,
payload: response
});
});
}
}
Это мой провальный тест:
FAIL src / actions / tests / campaign_data_actions.test.js fetchCampaignData ›возвращает данные кампании при вызове
expect(received).toEqual(expected)
Expected value to equal:
[{"payload": {"data": [{"id": "12345"}], "error": [], "message": null, "status": "success", "success": true}, "type": "fetch_campaign_data_success"}]
Received:
[{"payload": {"config": {"adapter": null, "data": undefined, "headers": {"Accept": "application/json, text/plain, */*", "USER_TOKEN": undefined}, "maxContentLength": -1, "method": "get", "timeout": 0, "transformRequest": {"0": [Function transformRequest]}, "transformResponse": {"0": [Function transformResponse]}, "url": "MYURL", "validateStatus": [Function validateStatus], "xsrfCookieName": "XSRF-TOKEN", "xsrfHeaderName": "X-XSRF-TOKEN"}, "data": {"data": [{"id": "12345"}], "error": [], "message": null, "status": "success", "success": true}, "headers": undefined, "status": 200}, "type": "fetch_campaign_data_success"}]