| Current Path : /home/deltalab/PMS/partner-manager-backend/test/ |
| Current File : //home/deltalab/PMS/partner-manager-backend/test/auth.test.js |
/**
* This is a simple test example.
*
* You can use this as a template for other examples
*/
// DEPENDENCIES ====================================
const { expect, assert } = require('chai');
const { dotenv } = require('dotenv').config();
const mongoose = require('mongoose');
// RESOURCES =======================================
const { checkLogin } = require('../services/auth');
const { userModel } = require('../models/mongoose/user');
// TEST CASES ======================================
let userId;
describe('auth', () => {
// Initialization --------------------------------
before((done) => {
mongoose.connect(process.env.database_url);
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error'));
db.once('open', function () {
console.log('We are connected to test database!');
done();
});
});
class NameClass {
constructor(nameObject) {
if (nameObject) {
this.name = nameObject.name;
}
}
name = 'String';
}
class FullNameClass extends NameClass {
constructor(nameObject) {
super(nameObject);
}
surname = 'String';
}
it('classTest', (done) => {
const nameObject = new NameClass();
nameObject.name = "my name";
const fullnameObject = new FullNameClass(nameObject);
fullnameObject.surname = "my surname";
console.log(fullnameObject);
done();
});
it('userCreation', (done) => {
// create a new random user to be used for these tests
const newUser = new userModel();
newUser.username = "test" + Date.now();
newUser.password = "password" + Date.now();
newUser.partnerId = "6180ef44876a9e71e53f3563";
newUser.email = "test@test.it";
console.log("saving new user...");
// persiste user in database
newUser.save()
.then((user) => {
console.log("user created " + user._id);
userId = user._id;
// look for a user with the given id
userModel.findById(userId, (err, dbuser) => {
if (err) {
console.log(err);
throw new Error(err);
}
// compare the database user with the usermodel created
console.log(dbuser);
assert(dbuser, 'No matching user found for id ' + userId);
expect(dbuser.username).to.eq(newUser.username);
done();
});
})
.catch(done);
});
it('userDelete', (done) => {
assert(userId, 'no userid specified: run userCreation before');
console.log("deleting user " + userId);
userModel.deleteOne({ _id: mongoose.Types.ObjectId(userId) })
.then((user) => {
console.log("delete one");
console.log(user);
done();
})
.catch(done);
});
it('checkLogin', () => {
console.log("checking login the easy way");
//TODO: use auth service
});
});