DefinitelyTyped/supertest/supertest-tests.ts
Tanguy Krotoff 15852a7145 Update SuperTest to version 1.1.0
- Callback now always takes 2 arguments, see https://github.com/visionmedia/superagent/commit/e440274
- Override superagent.Request.end() so it takes the proper callback signature
2015-11-24 11:27:45 +01:00

59 lines
1.3 KiB
TypeScript

/// <reference path="supertest.d.ts" />
/// <reference path="../express/express.d.ts" />
import * as supertest from 'supertest';
import * as express from 'express';
var app = express();
supertest(app)
.get('/user')
.expect('Content-Type', /json/)
.expect('Content-Length', '20')
.expect(201)
.end((err, res) => {
if (err) throw err;
});
// cookie scenario
var request = supertest(app);
var agent = supertest.agent();
request
.post('/login')
.end((err: any, res: supertest.Response) => {
if (err) throw err;
agent.saveCookies(res);
var req = request.get('/admin');
agent.attachCookies(req);
req.expect(200, (err: any, res: supertest.Response) => {
if (err) throw err;
});
});
// cookie scenario, new version
var client = supertest.agent(app);
client
.post('/login')
.end((err: any, res: supertest.Response) => {
if (err) throw err;
client.get('/admin')
.expect(200, (err: any, res: supertest.Response) => {
if (err) throw err;
});
});
// functional expect
supertest(app)
.get('/')
.expect(hasPreviousAndNextKeys)
.end((err: any, res: supertest.Response) => {
if (err) throw err;
});
function hasPreviousAndNextKeys(res: supertest.Response) {
if (!('next' in res.body)) return "missing next key";
if (!('prev' in res.body)) throw new Error("missing prev key");
}