github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/blockapps-ba-master/tests/v1/login.test.js (about) 1 const chai = require('chai'); 2 const chaiHttp = require('chai-http'); 3 const server = require('../../server'); 4 const ba = require('blockapps-rest'); 5 const common = ba.common; 6 const should = common.should; 7 const assert = common.assert; 8 const expect = common.expect; 9 const config = common.config; 10 const rest = ba.rest; 11 const UserRole = rest.getEnums(`${config.libPath}/user/contracts/UserRole.sol`).UserRole; 12 13 chai.use(chaiHttp); 14 15 describe("Login Test", function(){ 16 const username = "Supplier1"; 17 const password = "1234"; 18 19 it('should fail to login with wrong password', function(done) { 20 this.timeout(config.timeout); 21 chai.request(server) 22 .post('/api/v1/login') 23 .send({ 24 username: username , 25 password: password + 'x', 26 }) 27 .end((err, res) => { 28 assert.equal(res.statusCode, 401, 'Login should fail'); 29 done(); 30 }); 31 }); 32 33 it('should fail to login with wrong username', function(done) { 34 this.timeout(config.timeout); 35 chai.request(server) 36 .post('/api/v1/login') 37 .send({ 38 username: username + 'x', 39 password: password , 40 }) 41 .end((err, res) => { 42 assert.equal(res.statusCode, 401, 'Login should fail'); 43 done(); 44 }); 45 }); 46 47 it('should log the user in', function(done) { 48 this.timeout(config.timeout); 49 chai.request(server) 50 .post('/api/v1/login') 51 .send({ 52 username: username, 53 password: password, 54 }) 55 .end((err, res) => { 56 const data = assert.apiData(err, res); 57 const authenticate = data.authenticate; 58 const user = data.user; 59 60 assert.isOk(authenticate, 'Should be authenticated'); 61 assert.equal(user.username, username, 'Username should be ' + username); 62 assert.equal(parseInt(user.role), UserRole.SUPPLIER, 'Role should be Supplier'); 63 done(); 64 }); 65 }); 66 });