Skip to content

Commit

Permalink
wrote tests for edit user endpoint
Browse files Browse the repository at this point in the history
wrote tests for edit user endpoint
  • Loading branch information
NelsonPereira1991 committed Jul 7, 2017
1 parent 9512dc8 commit 216e369
Show file tree
Hide file tree
Showing 8 changed files with 598 additions and 333 deletions.
2 changes: 1 addition & 1 deletion src/controllers/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -641,7 +641,7 @@ exports.edit = function (req, res, next) {
{
user.save(function (err, editedUser) {
if (!err) {
req.flash('success', "User, " + editedUser.ddr.username + " edited.");
req.flash('success', "User " + editedUser.ddr.username + " edited.");
console.log("User " + editedUser.ddr.username + " edited.");
//res.redirect('/me');
if(changedPassword)
Expand Down
337 changes: 5 additions & 332 deletions test_new_structure/index.Test.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
var chai = require("chai");
var chaiHttp = require("chai-http");
const should = chai.should();
var _ = require("underscore");
chai.use(chaiHttp);

const Config = GLOBAL.Config;

const userUtils = require(Config.absPathInTestsFolder("utils/user/userUtils.js"));

const appUtils = require(Config.absPathInTestsFolder("utils/app/appUtils.js"));
var createUserUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createUsers.Unit.js"));
//TODO var createAvatarsForUsersUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createAvatarsForUsers.Unit.js"));

describe("[GET] /user/avatar", function (done) {

before(function (done) {
this.timeout(60000);
createUserUnit.setup(function (err, results) {
should.equal(err, null);
done();
});
});

it("[JSON] should give an unauthorized error if the current user is not authenticated", function (done) {

});

it("[JSON] should give a not found error if the avatar is from a user that does not exist and if the current user is authenticated", function (done) {

});

it("[JSON] should give an unauthorized error if the avatar is from a user that does not exist and if the current user is not authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser1 if the current user is authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser2 if the current user is authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser2 if the current user is authenticated", function (done) {

});

after(function (done) {
this.timeout(60000);
appUtils.clearAppState(function (err, data) {
should.equal(err, null);
done();
});
});

});
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
var chai = require("chai");
var chaiHttp = require("chai-http");
const should = chai.should();
var _ = require("underscore");
chai.use(chaiHttp);

const Config = GLOBAL.Config;

const userUtils = require(Config.absPathInTestsFolder("utils/user/userUtils.js"));

const appUtils = require(Config.absPathInTestsFolder("utils/app/appUtils.js"));
var createUserUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createUsers.Unit.js"));
//TODO var createAvatarsForUsersUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createAvatarsForUsers.Unit.js"));

describe("[GET] /user/demouser1/avatar", function (done) {

before(function (done) {
this.timeout(60000);
createUserUnit.setup(function (err, results) {
should.equal(err, null);
done();
});
});

it("[JSON] should give an unauthorized error if the current user is not authenticated", function (done) {

});

it("[JSON] should give a not found error if the avatar is from a user that does not exist and if the current user is authenticated", function (done) {

});

it("[JSON] should give an unauthorized error if the avatar is from a user that does not exist and if the current user is not authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser1 if the current user is authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser2 if the current user is authenticated", function (done) {

});

it("[JSON] should give the avatar for demouser2 if the current user is authenticated", function (done) {

});

after(function (done) {
this.timeout(60000);
appUtils.clearAppState(function (err, data) {
should.equal(err, null);
done();
});
});

});
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
var chai = require("chai");
var chaiHttp = require("chai-http");
const should = chai.should();
var _ = require("underscore");
chai.use(chaiHttp);

const Config = GLOBAL.Config;

const userUtils = require(Config.absPathInTestsFolder("utils/user/userUtils.js"));

const appUtils = require(Config.absPathInTestsFolder("utils/app/appUtils.js"));
var createUserUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createUsers.Unit.js"));

describe("/user/demouser1", function (done) {

const demouser1 = require(Config.absPathInTestsFolder("mockdata/users/demouser1.js"));
const falseUser = "demouser404";

before(function (done) {
this.timeout(60000);
createUserUnit.setup(function (err, results) {
should.equal(err, null);
done();
});
});

it("[JSON] should NOT access demouser1.username profile when given demouser1.username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(demouser1.username, true, agent, function(err, res){
res.should.have.status(401);
res.text.should.contain("You are not logged into the system.");
done();
})
});

it("[HTML] should NOT access demouser1.username profile when given demouser1.username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(demouser1.username, false, agent, function(err, res){
res.should.have.status(200);
res.redirects[0].should.contain("/login");
res.text.should.contain("Please log into the system");
done();
})
});
//review agent immediatly
it("[JSON] should access demouser1.username profile when given demouser1.username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(demouser1.username, true, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("\"username\":\"demouser1\"");
done();
})
})
});

it("[HTML] should access demouser1.username profile when given demouser1.username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(demouser1.username, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("Viewing user demouser1");
done();
})
})
});


it("[JSON] should NOT access demouser1.username profile when given non-existent username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(falseUser, true, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("demouser404 does not exist");
done();
})
})
});

it("[HTML] should NOT access demouser1.username profile when given non-existent username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(falseUser, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("demouser404 does not exist");
done();
})
})
});

it("[JSON] should NOT access demouser1.username profile when given non-existent username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(falseUser, true, agent, function(err, res){
res.should.have.status(401);
res.text.should.contain("You are not logged into the system");
done();
})
});

it("[HTML] should NOT access demouser1.username profile when given non-existent username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(falseUser, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("Please log into the system");
done();
})
});

after(function (done) {
this.timeout(60000);
appUtils.clearAppState(function (err, data) {
should.equal(err, null);
done();
});
});

});
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
var chai = require("chai");
var chaiHttp = require("chai-http");
const should = chai.should();
var _ = require("underscore");
chai.use(chaiHttp);

const Config = GLOBAL.Config;

const userUtils = require(Config.absPathInTestsFolder("utils/user/userUtils.js"));

const appUtils = require(Config.absPathInTestsFolder("utils/app/appUtils.js"));
var createUserUnit = appUtils.requireUncached(Config.absPathInTestsFolder("units/users/createUsers.Unit.js"));

describe("/user/demouser1", function (done) {

const demouser1 = require(Config.absPathInTestsFolder("mockdata/users/demouser1.js"));
const falseUser = "demouser404";

before(function (done) {
this.timeout(60000);
createUserUnit.setup(function (err, results) {
should.equal(err, null);
done();
});
});

it("[JSON] should NOT access demouser1.username profile when given demouser1.username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(demouser1.username, true, agent, function(err, res){
res.should.have.status(401);
res.text.should.contain("You are not logged into the system.");
done();
})
});

it("[HTML] should NOT access demouser1.username profile when given demouser1.username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(demouser1.username, false, agent, function(err, res){
res.should.have.status(200);
res.redirects[0].should.contain("/login");
res.text.should.contain("Please log into the system");
done();
})
});
//review agent immediatly
it("[JSON] should access demouser1.username profile when given demouser1.username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(demouser1.username, true, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("\"username\":\"demouser1\"");
done();
})
})
});

it("[HTML] should access demouser1.username profile when given demouser1.username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(demouser1.username, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("Viewing user demouser1");
done();
})
})
});


it("[JSON] should NOT access demouser1.username profile when given non-existent username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(falseUser, true, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("demouser404 does not exist");
done();
})
})
});

it("[HTML] should NOT access demouser1.username profile when given non-existent username and logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
userUtils.getUserInfo(falseUser, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("demouser404 does not exist");
done();
})
})
});

it("[JSON] should NOT access demouser1.username profile when given non-existent username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(falseUser, true, agent, function(err, res){
res.should.have.status(401);
res.text.should.contain("You are not logged into the system");
done();
})
});

it("[HTML] should NOT access demouser1.username profile when given non-existent username and NOT logged in",function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
userUtils.getUserInfo(falseUser, false, agent, function(err, res){
res.should.have.status(200);
res.text.should.contain("Please log into the system");
done();
})
});

after(function (done) {
this.timeout(60000);
appUtils.clearAppState(function (err, data) {
should.equal(err, null);
done();
});
});

});
Loading

0 comments on commit 216e369

Please sign in to comment.