239 lines
6.9 KiB
CoffeeScript
239 lines
6.9 KiB
CoffeeScript
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.true
|
|
expect(body.error).to.be.undefined
|
|
done()
|
|
)
|
|
)
|
|
describe('invite',->
|
|
describe('add',->
|
|
it('-> validate',(done)->
|
|
lib.login((j)->
|
|
invite = {
|
|
username: 'test',
|
|
password:'test'
|
|
}
|
|
request({method: 'POST',uri:config.ADDRESS+"/invite",jar:j,json:invite},(err,res,body)->
|
|
expect(err).to.be.null
|
|
expect(res.statusCode).to.be.equal(200)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.error).to.be.undefined
|
|
expect(body.data).to.be.true
|
|
expect(body.session.login).to.not.be.null
|
|
done()
|
|
)
|
|
)
|
|
)
|
|
)
|
|
describe('list',->
|
|
it('-> validate',(done)->
|
|
lib.login((j)->
|
|
request({method: 'GET',uri:config.ADDRESS+"/invite",jar:j},(err,res,body)->
|
|
expect(err).to.be.null
|
|
expect(res.statusCode).to.be.equal(200)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.error).to.be.undefined
|
|
expect(body.data).to.be.a("array")
|
|
expect(body.session.login).to.not.be.null
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('username')
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('password')
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.true
|
|
expect(body.error).to.be.undefined
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('session')
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.true
|
|
expect(body.error).to.be.undefined
|
|
expect(body.session.login).to.be.undefined
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('session')
|
|
expect(body.session.login).to.be.undefined
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('currentpassword')
|
|
expect(body.session.login).to.not.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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('newpassword')
|
|
expect(body.session.login).to.not.be.undefined
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.true
|
|
expect(body.error).to.be.undefined
|
|
request({method: 'POST',uri: config.ADDRESS+"/password",json:{
|
|
currentpassword: config.testdata.password+"f",
|
|
newpassword: config.testdata.password,
|
|
},jar:j},(err,res,body)->
|
|
expect(body.data).to.be.true
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.false
|
|
expect(body.error.msg).to.not.be.null
|
|
expect(body.error.fields).to.include('session')
|
|
expect(body.session.login).to.be.undefined
|
|
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)
|
|
if(typeof body == "string")
|
|
body = JSON.parse(body)
|
|
expect(body.data).to.be.true
|
|
expect(body.error).to.be.undefined
|
|
expect(body.session.login).to.be.undefined
|
|
done()
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|