Fixed SuperAgentRequest methods' return type

This commit is contained in:
Pap Lőrinc
2017-06-30 12:59:16 +03:00
parent fff5814931
commit c9b1f2158e
5 changed files with 15 additions and 15 deletions

View File

@@ -19,7 +19,7 @@ declare namespace supertest {
interface SuperTest extends superagent.SuperAgent<Test> {
}
interface Test extends superagent.Request {
interface Test extends superagent.SuperAgentRequest {
url: string;
serverAddress(app: any, path: string): string;
expect(status: number, callback?: CallbackHandler): this;

View File

@@ -34,7 +34,7 @@ declare namespace request {
serialize: { [type: string]: Serializer };
}
interface SuperAgent<Req> extends stream.Stream {
interface SuperAgent<Req extends SuperAgentRequest> extends stream.Stream {
attachCookies(req: Req): void;
checkout(url: string, callback?: CallbackHandler): Req;
connect(url: string, callback?: CallbackHandler): Req;

View File

@@ -31,7 +31,7 @@ declare namespace request {
agent(): SuperAgent<SuperAgentRequest>;
}
interface SuperAgent<Req> extends stream.Stream {
interface SuperAgent<Req extends SuperAgentRequest> extends stream.Stream {
get(url: string, callback?: CallbackHandler): Req;
post(url: string, callback?: CallbackHandler): Req;
put(url: string, callback?: CallbackHandler): Req;

View File

@@ -13,11 +13,11 @@ declare namespace supertest {
interface Response extends superagent.Response {
}
interface Request extends superagent.Request {
interface Request extends superagent.SuperAgentRequest {
}
type CallbackHandler = (err: any, res: Response) => void;
interface Test extends Request {
interface Test extends superagent.SuperAgentRequest {
app?: any;
url: string;
serverAddress(app: any, path: string): string;
@@ -34,7 +34,7 @@ declare namespace supertest {
function agent(app?: any): SuperTest<Test>;
interface SuperTest<T> extends superagent.SuperAgent<T> {
interface SuperTest<T extends superagent.SuperAgentRequest> extends superagent.SuperAgent<T> {
}
}

View File

@@ -3,9 +3,10 @@ import * as supertest from 'supertest';
import * as express from 'express';
const app = express();
const request: supertest.SuperTest<supertest.Test> = supertest(app);
supertest(app)
.get('/user')
(request
.get('/user') as supertest.Test)
.expect('Content-Type', /json/)
.expect('Content-Length', '20')
.expect(201)
@@ -14,7 +15,6 @@ supertest(app)
});
// cookie scenario
const request = supertest(app);
const agent = supertest.agent();
request
.post('/login')
@@ -22,7 +22,7 @@ request
if (err) throw err;
agent.saveCookies(res);
const req = request.get('/admin');
const req = request.get('/admin') as supertest.Test;
agent.attachCookies(req);
req.expect(200, (err: any, res: supertest.Response) => {
if (err) throw err;
@@ -36,15 +36,15 @@ client
.end((err: any, res: supertest.Response) => {
if (err) throw err;
client.get('/admin')
(client.get('/admin') as supertest.Test)
.expect(200, (err: any, res: supertest.Response) => {
if (err) throw err;
});
});
// functional expect
supertest(app)
.get('/')
(request
.get('/') as supertest.Test)
.expect(hasPreviousAndNextKeys)
.end((err: any, res: supertest.Response) => {
if (err) throw err;
@@ -56,8 +56,8 @@ function hasPreviousAndNextKeys(res: supertest.Response) {
}
// object expect
supertest(app)
.get('/')
(request
.get('/') as supertest.Test)
.expect(200, { foo: 'bar' })
.end((err: any, res: supertest.Response) => {
if (err) throw err;