diff --git a/promisify-supertest/promisify-supertest-tests.ts b/promisify-supertest/promisify-supertest-tests.ts new file mode 100644 index 0000000000..cef9173b18 --- /dev/null +++ b/promisify-supertest/promisify-supertest-tests.ts @@ -0,0 +1,18 @@ +/// +/// + +import * as request from 'promisify-supertest'; +import * as express from 'express'; + +let app = express(); + +request(app) + .get('/') + .expect(200) + .end() + .then(function(res) { + // blah blah blah + }) + .catch(function(err) { + throw err; + }); diff --git a/promisify-supertest/promisify-supertest.d.ts b/promisify-supertest/promisify-supertest.d.ts new file mode 100644 index 0000000000..dd9c703b42 --- /dev/null +++ b/promisify-supertest/promisify-supertest.d.ts @@ -0,0 +1,45 @@ +// Type definitions for promisify-supertest v1.0.0 +// Project: https://www.npmjs.com/package/promisify-supertest +// Definitions by: Leo Liang +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// + +declare module 'promisify-supertest' { + // Mostly copy-pasted from supertest.d.ts + + import * as superagent from 'superagent'; + import * as express from 'express'; + + type CallbackHandler = (err: any, res: supertest.Response) => void; + + function supertest(app: express.Express): supertest.SuperTest; + + module supertest { + function agent(app?: any): supertest.SuperTest; + + interface SuperTest extends superagent.SuperAgent { + } + + interface Test extends superagent.Request { + url: string; + serverAddress(app: any, path: string): string; + expect(status: number, callback?: CallbackHandler): Test; + expect(status: number, body: string, callback?: CallbackHandler): Test; + expect(body: string, callback?: CallbackHandler): Test; + expect(body: RegExp, callback?: CallbackHandler): Test; + expect(body: Object, callback?: CallbackHandler): Test; + expect(field: string, val: string, callback?: CallbackHandler): Test; + expect(field: string, val: RegExp, callback?: CallbackHandler): Test; + expect(checker: (res: Response) => any): Test; + end(callback: CallbackHandler): Test; + end(): Promise; + } + + interface Response extends superagent.Response { + } + } + + export = supertest; +}