UNPKG

strapi-plugin-testing

Version:
74 lines (63 loc) 2.08 kB
const request = require("supertest"); // user mock data const mockUserData = { username: "tester", email: "tester@strapi.com", provider: "local", password: "1234abc", confirmed: true, blocked: null, }; describe("/user", () => { it("should login user and return jwt token", async (done) => { /** Creates a new user and save it to the database */ await strapi.plugins["users-permissions"].services.user.add({ ...mockUserData, }); await request(strapi.server) // app server is an instance of Class: http.Server .post("/auth/local") .set("accept", "application/json") .set("Content-Type", "application/json") .send({ identifier: mockUserData.email, password: mockUserData.password, }) .expect("Content-Type", /json/) .expect(200) .then((data) => { expect(data.body.jwt).toBeDefined(); }); done(); }); it("should return users data for authenticated user", async (done) => { /** Gets the default user role */ const defaultRole = await strapi .query("role", "users-permissions") .findOne({}, []); const role = defaultRole ? defaultRole.id : null; /** Creates a new user an push to database */ const user = await strapi.plugins["users-permissions"].services.user.add({ ...mockUserData, username: "tester2", email: "tester2@strapi.com", role, }); const jwt = strapi.plugins["users-permissions"].services.jwt.issue({ id: user.id, }); await request(strapi.server) // app server is an instance of Class: http.Server .get("/users/me") .set("accept", "application/json") .set("Content-Type", "application/json") .set("Authorization", "Bearer " + jwt) .expect("Content-Type", /json/) .expect(200) .then((data) => { expect(data.body).toBeDefined(); expect(data.body.id).toBe(user.id); expect(data.body.username).toBe(user.username); expect(data.body.email).toBe(user.email); }); done(); }); });