import React from 'react';
import {expect} from 'chai';
import {popup} from "../../src/reducer/popup";
import {CLOSE_POPUP, OPEN_POPUP} from "../../src/action/popup";
describe('Popup Reducer Spec', () => {
describe('OPEN Popup Action', () => {
let position = {top: 10, left: 10, uuid: 'asdasdkjhqwe'};
it('without state', () => {
let nextState = popup(undefined, {type: 'Another Type'});
expect(nextState).to.deep.equal({name: ''});
});
it('without state "name"', () => {
let nextState = popup({}, {type: OPEN_POPUP});
expect(nextState).to.deep.equal({name: ''});
});
it('changes state "name" with action.name', () => {
let nextState = popup({}, {type: OPEN_POPUP, name: 'handsome name'});
expect(nextState).to.deep.equal({name: 'handsome name'});
});
it('changes state "name" without position', () => {
let nextState = popup({}, {type: OPEN_POPUP, name: 'handsome name'});
expect(nextState).to.deep.equal({name: 'handsome name'});
});
it('changes state "name" with position', () => {
let nextState = popup({}, {type: OPEN_POPUP, name: 'handsome name',position: position});
expect(nextState).to.deep.equal({name: 'handsome name', position: position});
});
});
describe('CLOSE Popup Action', () => {
it('changes state "name" with "" ', () => {
let nextState = popup({name: 'some existing'}, {type: CLOSE_POPUP});
expect(nextState).to.equal('');
});
});
describe('Default Action', () => {
it('returns initialState', () => {
let nextState = popup({}, {type: ''});
expect(nextState).to.deep.equal({});
});
});
}); |