Свойство 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"}]

0 ответов

Другие вопросы по тегам