1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict';
- const methods = require('methods');
- const EggTest = require('./http_test');
- const mockHttpServer = require('./mock_http_server');
- // patch from https://github.com/visionmedia/supertest/blob/199506d8dbfe0bb1434fc07c38cdcd1ab4c7c926/index.js#L19
- /**
- * Test against the given `app`,
- * returning a new `Test`.
- *
- * @param {Application} app
- * @return {Test}
- * @api public
- */
- module.exports = app => {
- const server = mockHttpServer(app);
- const obj = {};
- for (const method of methods) {
- obj[method] = url => {
- // support pathFor(url)
- if (url[0] !== '/') {
- const realUrl = app.router.pathFor(url);
- if (!realUrl) throw new Error(`Can\'t find router:${url}, please check your \'app/router.js\'`);
- url = realUrl;
- }
- return new EggTest(server, method, url);
- };
- }
- obj.del = obj.delete;
- return obj;
- };
|