aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-03-07 12:24:14 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-03-07 12:24:14 -0500
commitdd2b912af94b08c2daae20bf861a6f30b5c20253 (patch)
treebc68cb449baec0d5f1e712dcfdc52370f449e943 /ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
parent34903015992ac0cd7719b662af3ceb54a801351c (diff)
parente4e6ae9a3d142fc78f31ee19464ec5e54bfb516f (diff)
downloadJellySolutions-dd2b912af94b08c2daae20bf861a6f30b5c20253.tar.gz
JellySolutions-dd2b912af94b08c2daae20bf861a6f30b5c20253.tar.bz2
JellySolutions-dd2b912af94b08c2daae20bf861a6f30b5c20253.zip
Merge branch 'main' into api-auth
# Conflicts: # ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java # ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
Diffstat (limited to 'ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java')
-rw-r--r--ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java91
1 files changed, 82 insertions, 9 deletions
diff --git a/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java b/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
index 1cc84bf..839c518 100644
--- a/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
+++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
@@ -1,24 +1,26 @@
package com.ufund.api.ufundapi.controller;
-import com.ufund.api.ufundapi.model.Need;
-import com.ufund.api.ufundapi.persistence.CupboardFileDAO;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.http.HttpStatus;
-
import java.io.IOException;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import org.springframework.http.HttpStatus;
+
+import com.ufund.api.ufundapi.model.Need;
+import com.ufund.api.ufundapi.persistence.CupboardFileDao;
public class CupboardControllerTest {
private CupboardController cupboardController;
- private CupboardFileDAO mockCupboardDAO;
+ private CupboardFileDao mockCupboardDAO;
@BeforeEach
public void setupCupboardDAO() {
- mockCupboardDAO = mock(CupboardFileDAO.class);
+ mockCupboardDAO = mock(CupboardFileDao.class);
cupboardController = new CupboardController(mockCupboardDAO);
}
@@ -34,6 +36,26 @@ public class CupboardControllerTest {
}
@Test
+ public void createNeedBadMaxGoal() throws IOException {
+ var need = new Need("Name", 1, -100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.createNeed(need)).thenReturn(need);
+
+ var res = cupboardController.createNeed(need);
+
+ assertEquals(HttpStatus.BAD_REQUEST, res.getStatusCode());
+ }
+
+ @Test
+ public void createNeedIOException() throws IOException {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.createNeed(need)).thenThrow(new IOException());
+
+ var res = cupboardController.createNeed(need);
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
+
+ @Test
public void getNeeds() {
var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
when(mockCupboardDAO.getNeeds()).thenReturn(new Need[]{need});
@@ -45,6 +67,16 @@ public class CupboardControllerTest {
}
@Test
+ public void getNeedsIOException() {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.getNeeds()).thenThrow(new IOException());
+
+ var res = cupboardController.getNeeds();
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
+
+ @Test
public void getNeedsEmpty() {
when(mockCupboardDAO.getNeeds()).thenReturn(new Need[]{});
@@ -66,6 +98,16 @@ public class CupboardControllerTest {
}
@Test
+ public void searchNeedsIOException() {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.findNeeds("Na")).thenThrow(new IOException());
+
+ var res = cupboardController.searchNeeds("Na");
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
+
+ @Test
public void searchNeedsEmpty() {
when(mockCupboardDAO.findNeeds("Na")).thenReturn(new Need[]{});
@@ -87,6 +129,16 @@ public class CupboardControllerTest {
}
@Test
+ public void getNeedIOException() {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.getNeed(need.getId())).thenThrow(new IOException());
+
+ var res = cupboardController.getNeed(need.getId());
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
+
+ @Test
public void getNeedFail() {
var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
when(mockCupboardDAO.getNeed(need.getId())).thenReturn(null);
@@ -109,6 +161,16 @@ public class CupboardControllerTest {
}
@Test
+ public void updateNeedsIOException() throws IOException {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.updateNeed(need)).thenThrow(new IOException());
+
+ var res = cupboardController.updateNeed(need);
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
+
+ @Test
public void deleteNeed() throws IOException {
var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
when(mockCupboardDAO.getNeed(1)).thenReturn(need);
@@ -128,4 +190,15 @@ public class CupboardControllerTest {
assertEquals(HttpStatus.NOT_FOUND, res.getStatusCode());
}
+
+ @Test
+ public void deleteNeedIOException() throws IOException {
+ var need = new Need("Name", 1, 100, Need.GoalType.MONETARY);
+ when(mockCupboardDAO.getNeed(1)).thenReturn(need);
+ when(mockCupboardDAO.deleteNeed(1)).thenThrow(new IOException());
+
+ var res = cupboardController.deleteNeed(1);
+
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, res.getStatusCode());
+ }
}