test: api

This commit is contained in:
DIYgod
2019-01-22 18:47:24 +08:00
parent 0bc83858f2
commit 6b74c3f974
2 changed files with 31 additions and 3 deletions

View File

@@ -26,7 +26,7 @@ function responseHandler() {
ctx.statusCodes = ctx.res.statusCodes;
ctx.res.success = ({ statusCode, data = null, message = null }) => {
const status = 'success';
const status = 0;
if (!!statusCode && statusCode < 400) {
ctx.status = statusCode;
@@ -38,7 +38,7 @@ function responseHandler() {
};
ctx.res.fail = ({ statusCode, code, data = null, message = null }) => {
const status = 'fail';
const status = -1;
if (!!statusCode && (statusCode >= 400 && statusCode < 500)) {
ctx.status = statusCode;
@@ -50,7 +50,7 @@ function responseHandler() {
};
ctx.res.error = ({ statusCode, code, data = null, message = null }) => {
const status = 'error';
const status = -2;
if (!!statusCode && (statusCode >= 500 && statusCode < 600)) {
ctx.status = statusCode;

View File

@@ -72,4 +72,32 @@ describe('response', () => {
await checkRSS(response);
});
it(`/api/routes/test`, async () => {
const response = await request.get('/api/routes/test');
expect(response.status).toBe(200);
expect(response.body).toEqual({
status: 0,
data: {
test: {
routes: ['/test'],
},
},
message: 'request returned 1 route',
});
});
it(`/api/routes`, async () => {
const response = await request.get('/api/routes');
expect(response.status).toBe(200);
expect(response.body).toMatchObject({
status: 0,
data: {
test: {
routes: ['/test'],
},
},
message: expect.stringMatching(/request returned (\d+) routes/),
});
});
});