From 832a62819118f75ea3e30536da0f8f17ec42f677 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Heine=20M=C3=A6rde=20Brakstad?= <heinemb@stud.ntnu.no>
Date: Sun, 7 Apr 2024 10:36:49 +0200
Subject: [PATCH] improved test coverage to 65%

---
 .../QuestionNotFoundExceptionTest.java        | 14 +++++++
 .../exception/QuizNotFoundExceptionTest.java  | 14 +++++++
 .../exception/UserNotFoundExceptionTest.java  | 14 +++++++
 .../idatt2105/model/QuestionAnswerTest.java   | 17 ++++++--
 .../ntnu/idatt2105/model/QuestionTest.java    | 18 ++++++++
 .../edu/ntnu/idatt2105/model/RoleTest.java    |  6 +++
 .../edu/ntnu/idatt2105/model/UserTest.java    | 41 ++++++++++++++++++-
 7 files changed, 118 insertions(+), 6 deletions(-)
 create mode 100644 FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuestionNotFoundExceptionTest.java
 create mode 100644 FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuizNotFoundExceptionTest.java
 create mode 100644 FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/UserNotFoundExceptionTest.java

diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuestionNotFoundExceptionTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuestionNotFoundExceptionTest.java
new file mode 100644
index 0000000..10952eb
--- /dev/null
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuestionNotFoundExceptionTest.java
@@ -0,0 +1,14 @@
+package edu.ntnu.idatt2105.exception;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+public class QuestionNotFoundExceptionTest {
+
+  @Test
+  public void testExceptionMessage() {
+    String message = "Question not found!";
+    QuestionNotFoundException exception = new QuestionNotFoundException(message);
+    assertEquals(message, exception.getMessage());
+  }
+}
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuizNotFoundExceptionTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuizNotFoundExceptionTest.java
new file mode 100644
index 0000000..b3dc0be
--- /dev/null
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/QuizNotFoundExceptionTest.java
@@ -0,0 +1,14 @@
+package edu.ntnu.idatt2105.exception;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+public class QuizNotFoundExceptionTest {
+
+  @Test
+  public void testExceptionMessage() {
+    String message = "Quiz not found!";
+    QuizNotFoundException exception = new QuizNotFoundException(message);
+    assertEquals(message, exception.getMessage());
+  }
+}
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/UserNotFoundExceptionTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/UserNotFoundExceptionTest.java
new file mode 100644
index 0000000..ff4f6a0
--- /dev/null
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/exception/UserNotFoundExceptionTest.java
@@ -0,0 +1,14 @@
+package edu.ntnu.idatt2105.exception;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+public class UserNotFoundExceptionTest {
+
+  @Test
+  public void testExceptionMessage() {
+    String message = "User not found!";
+    UserNotFoundException exception = new UserNotFoundException(message);
+    assertEquals(message, exception.getMessage());
+  }
+}
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionAnswerTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionAnswerTest.java
index 068ad4f..706091c 100644
--- a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionAnswerTest.java
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionAnswerTest.java
@@ -4,9 +4,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
 
 @SpringBootTest
 public class QuestionAnswerTest {
@@ -40,11 +38,22 @@ public class QuestionAnswerTest {
 
     @Test
     public void testIsCorrect() {
-        // Test isCorrect method
+        // Test isCorrect method with correct answer
         assertTrue(questionAnswer.isCorrect());
 
         // Change the given answer and test again
         questionAnswer.setGivenAnswer("Bergen");
         assertFalse(questionAnswer.isCorrect());
     }
+
+    @Test
+    public void testGetQuizResult() {
+        // Test getQuizResult method
+        assertNull(questionAnswer.getQuizResult());
+
+        // Set a quiz result and test again
+        QuizResult quizResult = new QuizResult();
+        questionAnswer.setQuizResult(quizResult);
+        assertEquals(quizResult, questionAnswer.getQuizResult());
+    }
 }
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionTest.java
index 0d9972e..6048226 100644
--- a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionTest.java
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/QuestionTest.java
@@ -6,16 +6,22 @@ import org.springframework.boot.test.context.SpringBootTest;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 @SpringBootTest
 public class QuestionTest {
 
     private Question question;
+    private Quiz quiz;
 
     @BeforeEach
     public void setUp() {
         // Create a sample question
+
+        quiz = new Quiz("Test quiz", new User() , QuizCategory.CULTURE_AND_TRADITIONS, QuizDifficulty.EASY);
         question = new Question("What is the capital of Norway?", QuestionType.MULTIPLE_CHOICE, 10, "Oslo", "Oslo*Bergen*Trondheim*Stavanger");
+        question.setId(1);
+        question.setQuiz(quiz);
     }
 
     @Test
@@ -54,4 +60,16 @@ public class QuestionTest {
         assertEquals("Trondheim", question.getOptionsList().get(2));
         assertEquals("Stavanger", question.getOptionsList().get(3));
     }
+
+    @Test
+    public void testGetId() {
+        // Test getId method
+        assertEquals(1, question.getId());
+    }
+
+    @Test
+    public void testGetQuiz() {
+        // Test getQuiz method
+        assertEquals(quiz, question.getQuiz());
+    }
 }
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/RoleTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/RoleTest.java
index ac8d412..f7f97c4 100644
--- a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/RoleTest.java
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/RoleTest.java
@@ -37,4 +37,10 @@ public class RoleTest {
         // Test toString method
         assertEquals("Role{roleId=1, authority='ROLE_USER'}", role.toString());
     }
+
+    @Test
+    public void testGetAuthority() {
+        // Test getAuthority method
+        assertEquals("ROLE_USER", role.getAuthority());
+    }
 }
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/UserTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/UserTest.java
index 397ff25..1923a58 100644
--- a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/UserTest.java
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/model/UserTest.java
@@ -7,8 +7,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import java.util.HashSet;
 import java.util.Set;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.*;
 
 @SpringBootTest
 public class UserTest {
@@ -42,4 +41,42 @@ public class UserTest {
         user.setAuthorities(newRoles);
         assertEquals(newRoles, user.getAuthorities());
     }
+
+    @Test
+    public void testGetId() {
+        // Test getId method
+        assertNull(user.getId());
+    }
+
+    @Test
+    public void testIsAccountNonExpired() {
+        // Test isAccountNonExpired method
+        assertTrue(user.isAccountNonExpired());
+    }
+
+    @Test
+    public void testIsAccountNonLocked() {
+        // Test isAccountNonLocked method
+        assertTrue(user.isAccountNonLocked());
+    }
+
+    @Test
+    public void testIsCredentialsNonExpired() {
+        // Test isCredentialsNonExpired method
+        assertTrue(user.isCredentialsNonExpired());
+    }
+
+    @Test
+    public void testIsEnabled() {
+        // Test isEnabled method
+        assertTrue(user.isEnabled());
+    }
+
+    @Test
+    public void testGetAuthorities() {
+        // Test getAuthorities method
+        assertNotNull(user.getAuthorities());
+        assertEquals(1, user.getAuthorities().size());
+        assertEquals("ROLE_USER", user.getAuthorities().iterator().next().getAuthority());
+    }
 }
-- 
GitLab