Improved server reducer test

This commit is contained in:
Alejandro Celaya 2018-08-23 16:35:27 +02:00
parent ff28169c74
commit 53650938f7

View file

@ -2,9 +2,11 @@ import reduce, {
_createServer, _createServer,
_deleteServer, _deleteServer,
_listServers, _listServers,
_createServers,
FETCH_SERVERS, FETCH_SERVERS,
} from '../../../src/servers/reducers/server'; } from '../../../src/servers/reducers/server';
import * as sinon from 'sinon'; import * as sinon from 'sinon';
import { values } from 'ramda';
describe('serverReducer', () => { describe('serverReducer', () => {
const servers = { const servers = {
@ -15,6 +17,7 @@ describe('serverReducer', () => {
listServers: sinon.fake.returns(servers), listServers: sinon.fake.returns(servers),
createServer: sinon.fake(), createServer: sinon.fake(),
deleteServer: sinon.fake(), deleteServer: sinon.fake(),
createServers: sinon.fake(),
}; };
describe('reduce', () => { describe('reduce', () => {
@ -32,6 +35,7 @@ describe('serverReducer', () => {
ServersServiceMock.listServers.resetHistory(); ServersServiceMock.listServers.resetHistory();
ServersServiceMock.createServer.resetHistory(); ServersServiceMock.createServer.resetHistory();
ServersServiceMock.deleteServer.resetHistory(); ServersServiceMock.deleteServer.resetHistory();
ServersServiceMock.createServers.resetHistory();
}); });
describe('listServers', () => { describe('listServers', () => {
@ -42,6 +46,7 @@ describe('serverReducer', () => {
expect(ServersServiceMock.listServers.callCount).toEqual(1); expect(ServersServiceMock.listServers.callCount).toEqual(1);
expect(ServersServiceMock.createServer.callCount).toEqual(0); expect(ServersServiceMock.createServer.callCount).toEqual(0);
expect(ServersServiceMock.deleteServer.callCount).toEqual(0); expect(ServersServiceMock.deleteServer.callCount).toEqual(0);
expect(ServersServiceMock.createServers.callCount).toEqual(0);
}); });
}); });
@ -55,6 +60,7 @@ describe('serverReducer', () => {
expect(ServersServiceMock.createServer.callCount).toEqual(1); expect(ServersServiceMock.createServer.callCount).toEqual(1);
expect(ServersServiceMock.createServer.firstCall.calledWith(serverToCreate)).toEqual(true); expect(ServersServiceMock.createServer.firstCall.calledWith(serverToCreate)).toEqual(true);
expect(ServersServiceMock.deleteServer.callCount).toEqual(0); expect(ServersServiceMock.deleteServer.callCount).toEqual(0);
expect(ServersServiceMock.createServers.callCount).toEqual(0);
}); });
}); });
@ -66,9 +72,24 @@ describe('serverReducer', () => {
expect(result).toEqual({ type: FETCH_SERVERS, servers }); expect(result).toEqual({ type: FETCH_SERVERS, servers });
expect(ServersServiceMock.listServers.callCount).toEqual(1); expect(ServersServiceMock.listServers.callCount).toEqual(1);
expect(ServersServiceMock.createServer.callCount).toEqual(0); expect(ServersServiceMock.createServer.callCount).toEqual(0);
expect(ServersServiceMock.createServers.callCount).toEqual(0);
expect(ServersServiceMock.deleteServer.callCount).toEqual(1); expect(ServersServiceMock.deleteServer.callCount).toEqual(1);
expect(ServersServiceMock.deleteServer.firstCall.calledWith(serverToDelete)).toEqual(true); expect(ServersServiceMock.deleteServer.firstCall.calledWith(serverToDelete)).toEqual(true);
}); });
}); });
describe('createServer', () => {
it('creates multiple servers and then fetches servers again', () => {
const serversToCreate = values(servers);
const result = _createServers(ServersServiceMock, serversToCreate);
expect(result).toEqual({ type: FETCH_SERVERS, servers });
expect(ServersServiceMock.listServers.callCount).toEqual(1);
expect(ServersServiceMock.createServer.callCount).toEqual(0);
expect(ServersServiceMock.createServers.callCount).toEqual(1);
expect(ServersServiceMock.createServers.firstCall.calledWith(serversToCreate)).toEqual(true);
expect(ServersServiceMock.deleteServer.callCount).toEqual(0);
});
});
}); });
}); });