user.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. process.env.NODE_ENV = 'test'
  2. let chai = require('chai')
  3. let chaiHttp = require('chai-http')
  4. let server = require('../server')
  5. let should = chai.should()
  6. let User = require('../models').User
  7. const Errors = require('../lib/errors.js');
  8. chai.use(chaiHttp)
  9. describe('User', () => {
  10. //Delete all rows in table after
  11. //tests completed
  12. after((done) => {
  13. User.sync({ force: true })
  14. .then(() => {
  15. done(null);
  16. })
  17. .catch((err) => {
  18. done(err)
  19. })
  20. })
  21. describe('/POST user', () => {
  22. it('should create an account', (done) => {
  23. chai.request(server)
  24. .post('/api/v1/user')
  25. .set('content-type', 'application/x-www-form-urlencoded')
  26. .send({
  27. username: 'test',
  28. password: 'pass'
  29. })
  30. .end((err, res) => {
  31. res.should.have.status(200)
  32. res.should.be.json
  33. res.body.should.have.property('username', 'test')
  34. res.body.should.have.property('hash')
  35. done()
  36. })
  37. })
  38. it('should throw an error if no username', (done) => {
  39. chai.request(server)
  40. .post('/api/v1/user')
  41. .set('content-type', 'application/x-www-form-urlencoded')
  42. .send({
  43. password: 'pass'
  44. })
  45. .end((err, res) => {
  46. res.should.have.status(500)
  47. res.should.be.json
  48. res.body.should.have.property('error')
  49. res.body.error.should.deep.equal()
  50. done()
  51. })
  52. })
  53. it('should throw an error if no pass', (done) => {
  54. chai.request(server)
  55. .post('/api/v1/user')
  56. .set('content-type', 'application/x-www-form-urlencoded')
  57. .send({
  58. username: 'test1'
  59. })
  60. .end((err, res) => {
  61. res.should.have.status(200)
  62. res.should.be.json
  63. res.body.should.have.property('username', 'test')
  64. res.body.should.have.property('hash')
  65. done()
  66. })
  67. })
  68. })
  69. })