From ff904a2ab66c863566cd57138968c6bedad98b57 Mon Sep 17 00:00:00 2001 From: Theresa Gresch Date: Mon, 12 Aug 2019 12:59:32 +0200 Subject: [PATCH] Add tests for user model --- frontend/tests/unit/model/user_test.js | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/frontend/tests/unit/model/user_test.js b/frontend/tests/unit/model/user_test.js index b48e10e81..084b0bb60 100644 --- a/frontend/tests/unit/model/user_test.js +++ b/frontend/tests/unit/model/user_test.js @@ -1,7 +1,11 @@ import assert from "assert"; import User from "model/user"; +import MockAdapter from "axios-mock-adapter"; +import Api from "common/api"; describe("model/user", () => { + const mock = new MockAdapter(Api); + it("should get entity name", () => { const values = {ID: 5, userFirstName: "Max", userLastName: "Last", userEmail: "test@test.com", userRole: "admin"}; const user = new User(values); @@ -25,4 +29,41 @@ describe("model/user", () => { const result = User.getCollectionResource(); assert.equal(result, "users"); }); + + it("should get register form", async() => { + mock.onAny("users/52/register").reply(200, "registerForm"); + const values = {ID: 52, userFirstName: "Max"}; + const user = new User(values); + const result = await user.getRegisterForm(); + assert.equal(result.definition, "registerForm"); + mock.reset(); + }); + + it("should get profile form", async() => { + mock.onAny("users/53/profile").reply(200, "profileForm"); + const values = {ID: 53, userFirstName: "Max"}; + const user = new User(values); + const result = await user.getProfileForm(); + assert.equal(result.definition, "profileForm"); + mock.reset(); + }); + + it("should get change password", async() => { + mock.onPut("users/54/password").reply(200, {password: "old", new_password: "new"}); + const values = {ID: 54, userFirstName: "Max", userLastName: "Last", userEmail: "test@test.com", userRole: "admin"}; + const user = new User(values); + const result = await user.changePassword("old", "new"); + assert.equal(result.new_password, "new"); + }); + + it("should save profile", async() => { + mock.onPost("users/55/profile").reply(200, {userFirstName: "MaxNew", userLastName: "LastNew"}); + const values = {ID: 55, userFirstName: "Max", userLastName: "Last", userEmail: "test@test.com", userRole: "admin"}; + const user = new User(values); + assert.equal(user.userFirstName, "Max"); + assert.equal(user.userLastName, "Last"); + await user.saveProfile(); + assert.equal(user.userFirstName, "MaxNew"); + assert.equal(user.userLastName, "LastNew"); + }); }); \ No newline at end of file