Skip to content

Commit 33cb5ea

Browse files
committed
add test for koa
1 parent d61c165 commit 33cb5ea

File tree

1 file changed

+42
-24
lines changed

1 file changed

+42
-24
lines changed

test/functional/express-defaults.spec.ts renamed to test/functional/defaults.spec.ts

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import "reflect-metadata";
2-
import {createExpressServer, getMetadataArgsStorage} from "../../src/index";
2+
import { createExpressServer, getMetadataArgsStorage, createKoaServer } from '../../src/index';
33
import {ExpressMiddlewareInterface} from "../../src/driver/express/ExpressMiddlewareInterface";
44
import {Controller} from "../../src/decorator/Controller";
55
import {Get} from "../../src/decorator/Get";
@@ -10,10 +10,11 @@ import {NotAcceptableError} from "./../../src/http-error/NotAcceptableError";
1010
import {ExpressErrorMiddlewareInterface} from "./../../src/driver/express/ExpressErrorMiddlewareInterface";
1111
import { QueryParam } from '../../src/decorator/QueryParam';
1212
import { OnUndefined } from '../../src/decorator/OnUndefined';
13+
import { assertRequest } from './test-utils';
1314
const chakram = require("chakram");
1415
const expect = chakram.expect;
1516

16-
describe("express middlewares", () => {
17+
describe("defaults", () => {
1718

1819
before(() => {
1920

@@ -54,8 +55,9 @@ describe("express middlewares", () => {
5455

5556
let defaultUndefinedResultCode = 204;
5657
let defaultNullResultCode = 404;
57-
let app: any;
58-
before(done => app = createExpressServer({
58+
let expressApp: any;
59+
let kuaApp: any;
60+
before(done => expressApp = createExpressServer({
5961
defaults: {
6062
nullResultCode: defaultNullResultCode,
6163
undefinedResultCode: defaultUndefinedResultCode,
@@ -64,36 +66,52 @@ describe("express middlewares", () => {
6466
}
6567
}
6668
}).listen(3001, done));
67-
after(done => app.close(done));
68-
69-
it("should return undefinedResultCode from defaults config for void function", async () => {
70-
let res = await chakram.get("http://127.0.0.1:3001/voidfunc");
71-
expect(res).to.have.status(defaultUndefinedResultCode);
69+
before(done => kuaApp = createKoaServer({
70+
defaults: {
71+
nullResultCode: defaultNullResultCode,
72+
undefinedResultCode: defaultUndefinedResultCode,
73+
paramOptions: {
74+
required: true
75+
}
76+
}
77+
}).listen(3002, done));
78+
after(done => expressApp.close(done));
79+
after(done => kuaApp.close(done));
80+
81+
it("should return undefinedResultCode from defaults config for void function", () => {
82+
assertRequest([3001, 3002], 'get', 'voidfunc', res => {
83+
expect(res).to.have.status(defaultUndefinedResultCode);
84+
});
7285
});
7386

74-
it("should return undefinedResultCode from defaults config for promise void function", async () => {
75-
let res = await chakram.get("http://127.0.0.1:3001/promisevoidfunc");
76-
expect(res).to.have.status(defaultUndefinedResultCode);
87+
it("should return undefinedResultCode from defaults config for promise void function", () => {
88+
assertRequest([3001, 3002], 'get', 'promisevoidfunc', res => {
89+
expect(res).to.have.status(defaultUndefinedResultCode);
90+
});
7791
});
7892

79-
it("should return 400 from required paramOptions", async () => {
80-
let res = await chakram.get("http://127.0.0.1:3001/paramfunc");
81-
expect(res).to.have.status(400);
93+
it("should return 400 from required paramOptions", () => {
94+
assertRequest([3001, 3002], 'get', 'paramfunc', res => {
95+
expect(res).to.have.status(400);
96+
});
8297
});
8398

84-
it("should return nullResultCode from defaults config", async () => {
85-
let res = await chakram.get("http://127.0.0.1:3001/nullfunc");
86-
expect(res).to.have.status(defaultNullResultCode);
99+
it("should return nullResultCode from defaults config", () => {
100+
assertRequest([3001, 3002], 'get', 'nullfunc', res => {
101+
expect(res).to.have.status(defaultNullResultCode);
102+
});
87103
});
88104

89-
it("should return status code from OnUndefined annotation", async () => {
90-
let res = await chakram.get("http://127.0.0.1:3001/overridefunc");
91-
expect(res).to.have.status(404);
105+
it("should return status code from OnUndefined annotation", () => {
106+
assertRequest([3001, 3002], 'get', 'overridefunc', res => {
107+
expect(res).to.have.status(404);
108+
});
92109
});
93110

94-
it("should mark arg optional from QueryParam annotation", async () => {
95-
let res = await chakram.get("http://127.0.0.1:3001/overrideparamfunc");
96-
expect(res).to.have.status(200);
111+
it("should mark arg optional from QueryParam annotation", () => {
112+
assertRequest([3001, 3002], 'get', 'overrideparamfunc', res => {
113+
expect(res).to.have.status(200);
114+
});
97115
});
98116

99117
});

0 commit comments

Comments
 (0)