UNPKG

kaizen-login

Version:

A default login using express and mongoose

78 lines (68 loc) 2.23 kB
var assert = require('assert'); var mongoose = require("mongoose"); var User = require("../model/user") var UserController = require('../controller/userApi'); var userController = new UserController(); var Response = function Response() { this.status = (statusCode) => { this.statusCode = statusCode; return this; } this.send = (responseObject) => { this.responseObject = responseObject; } } describe("User api", () => { before((done) => { mongoose.connect("mongodb://localhost/kaizen_user_login_test") .then(() => { return mongoose.connection.db.dropDatabase(); }) .then(() => done()); }) it("create User", (done) => { var request = { body: { username: "rodrigo.saint01@live.com", password: "test123", name: "Rodrigo" } } var response = new Response(); response.send = function(reponseObject) { assert.equal(response.statusCode, 202); assert.notEqual(reponseObject, null); done(); } userController.create(request, response); }) it("authenticate the user", (done) => { var request = { body: { username: "rodrigo.saint01@live.com", password: "test123" } } var response = new Response(); response.send = function(reponseObject) { assert.notEqual(response.statusCode, 500); assert.notEqual(reponseObject, null); done(); } userController.login(request, response); }) it("edit the user", (done) => { var request = { params: {}, body: { user: "rodrigo Santos", username: "rodrigo.saint01@live.com", password: "test123" } } var response = new Response(); response.send = function(reponseObject) { assert.notEqual(response.statusCode, 500); assert.notEqual(reponseObject, null); done(); } User.findOne({}, function(error, user) { request.params.id = user._id; userController.edit(request, response); }) }) })