Guest User

Untitled

a guest
Nov 18th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. process.env.NODE_ENV = "test";
  2. import * as mongoose from "mongoose";
  3. import * as request from "supertest";
  4. import server from "../../app";
  5. import config from "../../config";
  6. import { INVITE_EMAIL, mockUser } from "../../utils/test.utils";
  7. describe("Users Route", () => {
  8. beforeAll(done => {
  9. mongoose.connect(
  10. config.connectionStr.dev,
  11. done
  12. );
  13. });
  14. let token, id, mailConfirm: string;
  15. const user = { ...mockUser, email: "users.route@test.com" };
  16. describe("/POST users", () => {
  17. it("it should add a new user", done => {
  18. request(server)
  19. .post("/sign-up")
  20. .send(user)
  21. .end((err: any, res: any) => {
  22. expect(res.status).toBe(201);
  23. id = res.body.data._id;
  24. mailConfirm = res.body.data.mailConfirm;
  25. done();
  26. });
  27. });
  28. it("it should login with correct password", done => {
  29. request(server)
  30. .post("/sign-in")
  31. .send({ email: user.email, password: user.password })
  32. .end((err: any, res: any) => {
  33. expect(res.status).toBe(201);
  34. token = res.body.data.token;
  35. done();
  36. });
  37. });
  38. describe("/GET users", () => {
  39. it("it should be return a user by the given id", done => {
  40. request(server)
  41. .get(`/users/${id}`)
  42. .set({ Authorization: `Bearer ${token}` })
  43. .end((err: any, res: any) => {
  44. expect(res.status).toBe(200);
  45. done();
  46. });
  47. });
  48. describe("/PUT users", () => {
  49. it("it should send email to invite user", done => {
  50. request(server)
  51. .put(`/me/mail-confirm/${mailConfirm}`)
  52. .end((err: any, res: any) => {
  53. expect(res.status).toBe(201);
  54. done();
  55. });
  56. });
  57. });
  58. afterAll(done => {
  59. mongoose.connection.dropDatabase(() => {
  60. mongoose.connection.close(() => {
  61. done();
  62. });
  63. });
  64. });
  65. });
Add Comment
Please, Sign In to add comment