Guest User

Untitled

a guest
Feb 16th, 2018
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. const request = require('supertest');
  2.  
  3. const expect = require('expect');
  4.  
  5. const { app } = require('./../../app');
  6.  
  7. const { User } = require('./../models/User.js');
  8.  
  9. const { users, populateUsers } = require('./seeds');
  10.  
  11. beforeEach(populateUsers);
  12.  
  13.  
  14. describe('Post /users', () => {
  15. it('should create new user with valid data and create token', (done) => {
  16. const user = {
  17. name: 'Michal',
  18. email: 'michal@gmail.com',
  19. password: '123456aaa',
  20. type: 'couch',
  21. };
  22. request(app)
  23. .post('/users')
  24. .send(user)
  25. .expect(200)
  26. .expect((res) => {
  27. expect(res.headers['x-auth']).toExist();
  28. })
  29. .end(done);
  30. });
  31.  
  32. it('should not create user if invalid data', (done) => {
  33. const user = {
  34. name: 'Michal',
  35. email: 'invalid@',
  36. password: '123',
  37. type: 'couch',
  38. };
  39.  
  40. request(app)
  41. .post('/users')
  42. .send(user)
  43. .expect(400)
  44. .expect((res) => {
  45. expect(res.headers['x-auth']).toNotExist();
  46. })
  47. .end(done);
  48. });
  49.  
  50. it('should not create new user if already exist', (done) => {
  51. request(app)
  52. .post('/users')
  53. .send(users[0])
  54. .expect(400)
  55. .end(done);
  56. });
  57. });
  58.  
  59. describe('GET /users', () => {
  60. it('should respond 401 if user is not authenticated', (done) => {
  61. request(app)
  62. .get('/users')
  63. .expect(401)
  64. .end(done);
  65. });
  66.  
  67. it('should respond 200 if user is authenticated', (done) => {
  68. request(app)
  69. .get('/users')
  70. .set('x-auth', users[0].tokens[0].token)
  71. .expect(200)
  72. .end(done);
  73. });
  74. });
  75.  
  76. describe('POST /users/login', () => {
  77. it('should login user with valid credentials', (done) => {
  78. request(app)
  79. .post('/users/login')
  80. .send({ email: users[0].email, password: users[0].password })
  81. .expect(200)
  82. .expect((res) => {
  83. expect(res.headers['x-auth']).toExist();
  84. })
  85. .end(done);
  86. });
  87.  
  88. it('should not login user with invalid credentials', (done) => {
  89. request(app)
  90. .post('/users/login')
  91. .send({ email: users[0].email, password: `${users[0].password}r0r` })
  92. .expect(400)
  93. .expect((res) => {
  94. expect(res.headers['x-auth']).toNotExist();
  95. })
  96. .end(done);
  97. });
  98. });
  99.  
  100.  
  101. describe('DELETE /users/logout', () => {
  102. it('should logout user', (done) => {
  103. request(app)
  104. .delete('/users/logout')
  105. .set('x-auth', users[0].tokens[0].token)
  106. .expect(200)
  107. .expect((res) => {
  108. expect(res.headers['x-auth']).toNotExist();
  109. })
  110. .end(done);
  111. });
  112. });
Add Comment
Please, Sign In to add comment