aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java
diff options
context:
space:
mode:
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());
+ }
}