var chakram = require('chakram'), expect = chakram.expect; var env = require('../enviroment'); const URL = env.URL; describe('Account', function() { it('should create an admin account', function() { let name = env.randomWord(env.randomNumber(1, 25)); let testObject = { 'email': `${name}@admin.com`, 'permission': 'admin', 'registration': 'NMBR#123456789', 'username': `${name}`, 'name': `${name.replace(/\b\w/g, l => l.toUpperCase())}`, 'password': 'admin', }; return chakram.post(`${URL}end_users`, testObject).then(function(myResponse) { expect(myResponse).to.have.status(200); expect(myResponse.body.result.permission).to.contain('admin'); }); }); it('should create an user account', function() { let name = env.randomWord(env.randomNumber(1, 25)); let testObject = { 'email': `${name}@enduser.com`, 'permission': 'user', 'registration': 'NMBR#321654987', 'username': `${name}`, 'name': `${name.replace(/\b\w/g, l => l.toUpperCase())}`, 'password': 'end_user', }; return chakram.post(`${URL}end_users`, testObject).then(function(myResponse) { expect(myResponse).to.have.status(200); expect(myResponse.body.result.permission).to.contain('user'); }); }); it('should login to an admin account', function() { let testObject = { 'email': 'abc@admin.com', 'password': 'admin', }; return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) { expect(myResponse).to.have.status(200); expect(myResponse.body.result).to.be.a('object'); }); }); it('should login to an user account', function() { let testObject = { 'email': 'user@user.com', 'password': 'user', }; return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) { expect(myResponse).to.have.status(200); expect(myResponse.body.result).to.be.a('object'); }); }); it('should logout', function() { let testObject = { 'email': 'user@user.com', 'password': 'user', }; return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) { return chakram.post(`${URL}end_users/logout?access_token=${myResponse.body.result.id}`).then(function(myResponse2) { expect(myResponse2).to.have.status(200); }); }); }); });