expect = require("chai").expect request = require('request') lib = require('./lib') config = require('./config') describe('API',-> it('status',(done)-> request({method: 'GET',uri:config.ADDRESS+"/status"},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true done() ) ) describe('login',-> it('-> wrong username',(done)-> request({method: 'POST',uri: config.ADDRESS+"/login",json:{ username: config.testdata.username+"f", password: config.testdata.password }},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) expect(body.data).to.be.false done() ) ) it('-> wrong password',(done)-> request({method: 'POST',uri: config.ADDRESS+"/login",json:{ username: config.testdata.username, password: config.testdata.password+"f" }},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) expect(body.data).to.be.false done() ) ) it('-> validate',(done)-> request({method: 'POST',uri: config.ADDRESS+"/login",json:{ username: config.testdata.username, password: config.testdata.password }},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) expect(body.data).to.be.true expect(body.session.login.active).to.be.true done() ) ) ) describe('logout',-> it('-> without login',(done)-> request({method: 'GET',uri:config.ADDRESS+"/logout"},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null done() ) ) it('-> validate',(done)-> lib.login((j)-> request({method: 'GET',uri:config.ADDRESS+"/logout",jar:j},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null done() ) ) ) ) describe('password',-> it('-> without login',(done)-> request({method: 'POST',uri: config.ADDRESS+"/password",json:{ username: config.testdata.username, password: config.testdata.password }},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null done() ) ) it('-> wrong current password',(done)-> lib.login((j)-> request({method: 'POST',uri: config.ADDRESS+"/password",json:{ currentpassword: config.testdata.password+"f", newpassword: config.testdata.password+"ff", },jar:j},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.false expect(x.session.login).to.be.null done() ) ) ) it('-> wrong new password',(done)-> lib.login((j)-> request({method: 'POST',uri: config.ADDRESS+"/password",json:{ currentpassword: config.testdata.password, newpassword: "", },jar:j},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.false expect(x.session.login).to.be.null done() ) ) ) it('-> validate',(done)-> lib.login((j)-> request({method: 'POST',uri: config.ADDRESS+"/password",json:{ currentpassword: config.testdata.password, newpassword: config.testdata.password+"f", },jar:j},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null request({method: 'POST',uri: config.ADDRESS+"/password",json:{ currentpassword: config.testdata.password+"f", newpassword: config.testdata.password, },jar:j},(err,res,body)-> done() ) ) ) ) ) describe('delete',-> it('-> without login',(done)-> request({method: 'GET',uri:config.ADDRESS+"/delete"},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null done() ) ) it('-> validate',(done)-> lib.login((j)-> request({method: 'GET',uri:config.ADDRESS+"/delete",jar:j},(err,res,body)-> expect(err).to.be.null expect(res.statusCode).to.be.equal(200) x = JSON.parse(body) expect(x.data).to.be.true expect(x.session.login).to.be.null done() ) ) ) ) )