const resources = listOf(() => ({...simpleObject(), id: integer(), displayName: string()}));
Пример #2
0
suite('store creation for production', () => {
  let sandbox;
  const initialState = simpleObject();
  const store = simpleObject();
  const composed = simpleObject();
  const combinedReducer = any.simpleObject();

  setup(() => {
    sandbox = sinon.createSandbox();
    sandbox.stub(reducers, 'getCombined').returns(combinedReducer);
    sandbox.stub(middlewares, 'getComposed').returns(composed);
    sandbox.stub(redux, 'createStore').withArgs(combinedReducer, fromJS(initialState), composed).returns(store);
  });

  teardown(() => {
    sandbox.restore();
  });

  test('that redux store is created from provided initial state', () => {
    assert.equal(configureStore({initialState}), store);
  });

  test('that devtools browser extension is initialized if present', () => {
    redux.createStore.withArgs(combinedReducer, fromJS(initialState)).returns(store);

    configureStore(initialState);

    assert.equal(configureStore({initialState}), store);
  });
});
Пример #3
0
  test('that the `fetch` hook returns a promise', () => {
    const type = string();
    const person = simpleObject();
    const dispatch = sinon.stub();
    const promise = simpleObject();
    duck.loadResources.withArgs(type).returns(person);
    dispatch.withArgs(person).returns(promise);

    assert.equal(ConnectedList['@@redial-hooks'].fetch({params: {type}, dispatch}), promise);
  });
  test('that redux state is mapped to props', () => {
    const resource = simpleObject();
    const loading = boolean();

    const wrapper = shallow(<ConnectedResource store={createStore(() => fromJS({resource: {resource, loading}}))} />);

    assert.deepEqual(wrapper.prop('resource'), resource);
    assert.equal(wrapper.prop('loading'), loading);
  });