Skip to content

Instantly share code, notes, and snippets.

@mutaimwiti
Last active November 25, 2019 18:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mutaimwiti/b3e46e1bf91a9732ce12eff5c7d3cb36 to your computer and use it in GitHub Desktop.
Save mutaimwiti/b3e46e1bf91a9732ce12eff5c7d3cb36 to your computer and use it in GitHub Desktop.
Wrapper es5
// test/testUtils/app.js
var supertest = require('supertest');
var appDef = require('../../src/app');
var User = require('../../src/models').User;
var generateAuthToken = require('../../src/utils').generateAuthToken;
var app = {
client: supertest(appDef),
token: null,
login: function(user, done) {
generateAuthToken(user, function(err, token) {
app.token = token;
return err ? done(err) : done(null);
});
},
loginRandom: function(done) {
// get a random user - random is just an arbitrary function to get one user
var user = User.random();
generateAuthToken(user, function(err, token) {
app.token = token;
return err ? done(err) : done(null, user);
});
},
logout: function() {
app.token = null;
},
preRequest: function(request) {
return app.token ? request.set('authorization', app.token) : request;
},
get: function(url) {
var req = app.client.get(url);
return app.preRequest(req);
},
post: function(url) {
var req = app.client.post(url);
return app.preRequest(req);
},
put: function(url) {
var req = app.client.put(url);
return app.preRequest(req);
},
patch: function(url) {
var req = app.client.patch(url);
return app.preRequest(req);
},
delete: function(url) {
var req = app.client.delete(url);
return app.preRequest(req);
}
};
module.exports = app;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment