Test add CRUD tests
boosting our test coverage
This commit is contained in:
53
src/crud-where.integration.test.js
Normal file
53
src/crud-where.integration.test.js
Normal file
@ -0,0 +1,53 @@
|
||||
import test from 'ava';
|
||||
import 'sinon-bluebird';
|
||||
import setup from '../test/integration-setup.js';
|
||||
|
||||
const STATUS_OK = 200;
|
||||
const STATUS_NOT_FOUND = 404;
|
||||
|
||||
setup(test);
|
||||
|
||||
test('single result /team?name=Baseball', async (t) => {
|
||||
const { server, instances } = t.context;
|
||||
const { team1 } = instances;
|
||||
const path = `/team?name=${team1.name}`;
|
||||
|
||||
const { result, statusCode } = await server.inject(path);
|
||||
t.is(statusCode, STATUS_OK);
|
||||
t.is(result.id, team1.id);
|
||||
t.is(result.name, team1.name);
|
||||
});
|
||||
|
||||
test('no results /team?name=Baseball&id=2', async (t) => {
|
||||
const { server, instances } = t.context;
|
||||
const { team1 } = instances;
|
||||
// this doesn't exist in our fixtures
|
||||
const path = `/team?name=${team1.name}&id=2`;
|
||||
|
||||
const { statusCode } = await server.inject(path);
|
||||
t.is(statusCode, STATUS_NOT_FOUND);
|
||||
});
|
||||
|
||||
test('single result from list query /teams?name=Baseball', async (t) => {
|
||||
const { server, instances } = t.context;
|
||||
const { team1 } = instances;
|
||||
const path = `/team?name=${team1.name}`;
|
||||
|
||||
const { result, statusCode } = await server.inject(path);
|
||||
t.is(statusCode, STATUS_OK);
|
||||
t.is(result.id, team1.id);
|
||||
t.is(result.name, team1.name);
|
||||
});
|
||||
|
||||
test('multiple results from list query /players?teamId=1', async (t) => {
|
||||
const { server, instances } = t.context;
|
||||
const { team1, player1, player2 } = instances;
|
||||
const path = `/players?teamId=${team1.id}`;
|
||||
|
||||
const { result, statusCode } = await server.inject(path);
|
||||
t.is(statusCode, STATUS_OK);
|
||||
const playerIds = result.map(({ id }) => id);
|
||||
t.truthy(playerIds.includes(player1.id));
|
||||
t.truthy(playerIds.includes(player2.id));
|
||||
});
|
||||
|
Reference in New Issue
Block a user