diff --git a/backend/router/verifyJwtToken.js b/backend/router/verifyJwtToken.js index 683449cb118570ded9c25439799264eb39624a38..3dce7fa4e6026d2d88b024ac2e716c0267dcf3f8 100644 --- a/backend/router/verifyJwtToken.js +++ b/backend/router/verifyJwtToken.js @@ -27,7 +27,7 @@ verifyToken = (req, res, next) => { } isAdmin = (req, res, next) => { - User.findByPk(req.body.id) + User.findByPk(req.body.userId) .then(user => { user.getRole().then(role => { if (role.name === 'Master Admin Diskominfo' || role.name === 'Admin Diskominfo' || role.name === 'Admin Dinas') { diff --git a/backend/test/user_test.js b/backend/test/user_test.js index e664382331c0e36b375f7874f9b4fd061c2df209..fe72f74f1c379db6e5564c4c520727bea73cefa5 100644 --- a/backend/test/user_test.js +++ b/backend/test/user_test.js @@ -7,6 +7,7 @@ const User = models.user; let app = require('../app.js') let should = chai.should(); let expect = chai.expect; +var bcrypt = require('bcryptjs') chai.use(chaiHttp); @@ -42,6 +43,53 @@ describe('Users', () => { }); }); +describe("Create user", () => { + it("Creating user", (done) => { + User.findOne({ + where: { + username:"komisama" + }, + attributes: ['id'] + }).then(result => { + console.log("Find done"); + let user = { + "username":"komisama", + "password":"komisama" + }; + chai.request('http://127.0.0.1:8081') + .post('/api/auth/login') + .send(user) + .then(res => { + console.log("sign done"); + let req = { + "userId":result.id, + "name":"Udin", + "username":"udin", + "email":"udin@udin.com", + "password":"udin", + "role":"Master Admin Diskominfo" + }; + console.log(req) + chai.request('http://127.0.0.1:8081') + .post('/api/user/create') + .set('x-access-token', res.body.accessToken) + .send(req) + .end((err, res)=>{ + console.log(res.text); + should.exist(res); + res.should.have.status(200); + expect(res.text).to.equal('User created successfully!'); + done(); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }); +}); + describe("Fetch 'em All", () => { it('Fetch all user', (done) =>{ User.findOne({ @@ -61,22 +109,22 @@ describe("Fetch 'em All", () => { .then(res => { console.log("sign done"); let req = { - "id":result.id + "userId":result.id }; console.log(req) chai.request('http://127.0.0.1:8081') - .post('/api/user/all') - .set('x-access-token', res.body.accessToken) - .send(req) - .end((err, res)=>{ - console.log(res.text); - should.exist(res); - res.should.have.status(200); - expect(res.body.users[0].id).to.equal(req.id); - expect(res.body.users[0].name).to.equal('Komi Shouko'); - expect(res.body.users[0].role.id).to.equal(1); - expect(res.body.users[0].role.name).to.equal("Master Admin Diskominfo"); - done(); + .post('/api/user/all') + .set('x-access-token', res.body.accessToken) + .send(req) + .end((err, res)=>{ + console.log(res.text); + should.exist(res); + res.should.have.status(200); + expect(res.body.users[0].id).to.equal(req.userId); + expect(res.body.users[0].name).to.equal('Komi Shouko'); + expect(res.body.users[0].role.id).to.equal(1); + expect(res.body.users[0].role.name).to.equal("Master Admin Diskominfo"); + done(); }); }).catch(err => { res.status(500).send('Error -> ' + err); @@ -85,4 +133,140 @@ describe("Fetch 'em All", () => { res.status(500).send('Error -> ' + err); }); }); +}); + +describe("Edit user", () => { + it("Editing user", (done) => { + User.findOne({ + where: { + username:"komisama" + }, + attributes: ['id'] + }).then(result => { + console.log("Find done"); + let user = { + "username":"komisama", + "password":"komisama" + }; + chai.request('http://127.0.0.1:8081') + .post('/api/auth/login') + .send(user) + .then(res => { + console.log("sign done"); + let req = { + "userId":result.id, + "id":result.id, + "name":"Di-Komix Aja", + "username":"komisama", + "email":"komix@yahoo.com", + "password":"komisama", + "role":"Master Admin Diskominfo" + }; + console.log(req) + chai.request('http://127.0.0.1:8081') + .post('/api/user/edit') + .set('x-access-token', res.body.accessToken) + .send(req) + .end((err, res)=>{ + console.log(res.text); + should.exist(res); + res.should.have.status(200); + expect(res.text).to.equal('User edited successfully!'); + done(); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }); +}); + +describe("View detail", () => { + it("Detail user", (done) => { + User.findOne({ + where: { + username:"komisama" + }, + attributes: ['id'] + }).then(result => { + console.log("Find done"); + let user = { + "username":"komisama", + "password":"komisama" + }; + chai.request('http://127.0.0.1:8081') + .post('/api/auth/login') + .send(user) + .then(res => { + console.log("sign done"); + let req = { + "userId":result.id, + "id":result.id + }; + console.log(req) + chai.request('http://127.0.0.1:8081') + .post('/api/user/detail') + .set('x-access-token', res.body.accessToken) + .send(req) + .end((err, res)=>{ + console.log(res.text); + should.exist(res); + res.should.have.status(200); + expect(res.body.users.name).to.equal('Di-Komix Aja'); + expect(res.body.users.email).to.equal('komix@yahoo.com'); + expect(res.body.users.username).to.equal('komisama'); + done(); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }); +}); + +describe("Delete User", () => { + it("Delete user", (done) => { + User.findOne({ + where: { + username:"komisama" + }, + attributes: ['id'] + }).then(result => { + console.log("Find done"); + let user = { + "username":"komisama", + "password":"komisama" + }; + chai.request('http://127.0.0.1:8081') + .post('/api/auth/login') + .send(user) + .then(res => { + console.log("sign done"); + let req = { + "userId":result.id, + "id":result.id + }; + console.log(req) + chai.request('http://127.0.0.1:8081') + .post('/api/user/delete') + .set('x-access-token', res.body.accessToken) + .send(req) + .end((err, res)=>{ + console.log(res.text); + should.exist(res); + res.should.have.status(200); + expect(res.text).to.equal('User deleted successfully!'); + done(); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }).catch(err => { + res.status(500).send('Error -> ' + err); + }); + }); }); \ No newline at end of file