aboutsummaryrefslogtreecommitdiff
path: root/node_modules/supertest/lib/agent.js
diff options
context:
space:
mode:
authorHumairAK <humair88@hotmail.com>2016-07-26 07:43:04 +0000
committerHumairAK <humair88@hotmail.com>2016-07-26 07:43:04 +0000
commitf016bdbc35b7efa44bd63413bde09433ea916c59 (patch)
tree238a4ffbd447907876b2f1624cdb6f4abc3009eb /node_modules/supertest/lib/agent.js
parent10f1c442e27d82d1fc2c94d1bc0a2ad27917b287 (diff)
added some unit testing, need a lot more
Diffstat (limited to 'node_modules/supertest/lib/agent.js')
-rw-r--r--node_modules/supertest/lib/agent.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/supertest/lib/agent.js b/node_modules/supertest/lib/agent.js
new file mode 100644
index 0000000..ccd2cfd
--- /dev/null
+++ b/node_modules/supertest/lib/agent.js
@@ -0,0 +1,54 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Agent = require('superagent').agent
+ , methods = require('methods')
+ , http = require('http')
+ , Test = require('./test');
+
+/**
+ * Expose `Agent`.
+ */
+
+module.exports = TestAgent;
+
+/**
+ * Initialize a new `TestAgent`.
+ *
+ * @param {Function|Server} app
+ * @param {Object} options
+ * @api public
+ */
+
+function TestAgent(app, options){
+ if (!(this instanceof TestAgent)) return new TestAgent(app, options);
+ if ('function' == typeof app) app = http.createServer(app);
+ if (options) this._ca = options.ca;
+ Agent.call(this);
+ this.app = app;
+}
+
+/**
+ * Inherits from `Agent.prototype`.
+ */
+
+TestAgent.prototype.__proto__ = Agent.prototype;
+
+// override HTTP verb methods
+methods.forEach(function(method){
+ TestAgent.prototype[method] = function(url, fn){
+ var req = new Test(this.app, method.toUpperCase(), url);
+ req.ca(this._ca);
+
+ req.on('response', this.saveCookies.bind(this));
+ req.on('redirect', this.saveCookies.bind(this));
+ req.on('redirect', this.attachCookies.bind(this, req));
+ this.attachCookies(req);
+
+ return req;
+ };
+});
+
+TestAgent.prototype.del = TestAgent.prototype.delete;