From 8d29f93c9ccd6f5ad3baf9ecdd39652b32a83fee Mon Sep 17 00:00:00 2001
From: Titus Kristiansen <titusk@stud.ntnu.no>
Date: Mon, 25 Apr 2022 13:57:27 +0200
Subject: [PATCH] API login frontend tests and mock tests

---
 tests/unit/apiutil-login-mock.spec.js |  8 ++++----
 tests/unit/apiutil-login.spec.js      | 16 ++++++++++++++++
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 tests/unit/apiutil-login.spec.js

diff --git a/tests/unit/apiutil-login-mock.spec.js b/tests/unit/apiutil-login-mock.spec.js
index b1c99b4..5b6a07b 100644
--- a/tests/unit/apiutil-login-mock.spec.js
+++ b/tests/unit/apiutil-login-mock.spec.js
@@ -6,9 +6,9 @@ jest.mock("axios");
 describe("testing mocking of apiutil.js", () => {
   it("check that login fails with wrong credentials - against mock", async () => {
     // mock api response on POST call (once)
-    const expectedLoginResponse = { response: "Login failed" };
+    const expectedLoginResponse = "Login failed" ;
     axios.post.mockImplementation(() =>
-      Promise.resolve({ data: expectedLoginResponse })
+      Promise.resolve(expectedLoginResponse)
     );
 
     // do the call
@@ -28,8 +28,8 @@ describe("testing mocking of apiutil.js", () => {
       response:
         "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
     };
-    const expectedLoginResponse = { response: "Login failed" };
-    axios.post.mockImplementation(() => Promise.resolve({ data: apiResponse }));
+    const expectedLoginResponse = "Login failed";
+    axios.post.mockImplementation(() => Promise.resolve(apiResponse ));
 
     // do the call
     const loginRequest = {
diff --git a/tests/unit/apiutil-login.spec.js b/tests/unit/apiutil-login.spec.js
new file mode 100644
index 0000000..50212b6
--- /dev/null
+++ b/tests/unit/apiutil-login.spec.js
@@ -0,0 +1,16 @@
+import { doLogin } from '@/utils/apiutil'
+
+describe('testing apiutil.js', () => {
+    it('test API call utility function - login Success', async () => {
+        const loginRequest = { username:"test@test.com", password: "hei" };
+        const loginResponse = await doLogin(loginRequest);
+        const expectedLoginResponse = "Login failed";
+        expect(loginResponse).not.toEqual(expectedLoginResponse);
+    })
+    it('test API call utility function - login Fail', async () => {
+        const loginRequest = { username:"failed@failed.com", password: "failed123" };
+        const loginResponse = await doLogin(loginRequest);
+        const expectedLoginResponse = "Login failed";
+        expect(loginResponse.data).toEqual(expectedLoginResponse);
+    })
+})
-- 
GitLab