fb-test-module
Version:
How to use: ``` import {store, getStore} from 'fb-test-module'; conf.DialogramApi = "API_BASE_URL"; conf.Platform = "mobile"; //use "web" if you are on webApp getStore(); //Inject store in your provider ``` and you'r readyt to go. # Base ## Act
51 lines (43 loc) • 1.6 kB
JavaScript
var expect = require('chai').expect;
var index = require('../dist/index.js');
var put = require('redux-saga/effects').put;
var take = require('redux-saga/effects').take;
var call = require('redux-saga/effects').call;
var ApiType = require('../dist/BaseType.js');
var apiMonitor = require('../dist/saga.js').ApiMonitor;
var USER_ENTITY = require('../dist/type.js');
var LoadingApiCall = require('../dist/BaseAction.js').LoadingApiCall;
var FailureApiCall = require('../dist/BaseAction.js').FailureApiCall;
var SuccessApiCall = require('../dist/BaseAction.js').SuccessApiCall;
var setEntity = require('../dist/BaseAction.js').setEntity;
var callApi = require('../dist/axios.js').callApi;
//https://github.com/antoinejaussoin/redux-saga-testing/blob/master/package.json VOIR ICI POUR LA CONFIG
describe('ApiMonitor Testing', () => {
const actionSuccess = {
type: ApiType.Dialogram,
payload: {
meta: {
entity: USER_ENTITY,
method: "post",
url: "/api/session",
data: {
"email": "a@a.fr",
"password": "zouzou100"
}
}
}
}
const genSuccess = apiMonitor(actionSuccess);
it('isLoading', () => {
expect(genSuccess.next().value).to.eql(put(LoadingApiCall(USER_ENTITY)));
});
it('Call API', () => {
expect(genSuccess.next().value).to.eql(call(callApi,
actionSuccess.payload.meta
))
})
it('isSuccess', () => {
genSuccess.next();
expect(genSuccess.next().value).to.eql(put(SuccessApiCall(actionSuccess.payload.meta.entity)));
})
});