diff options
Diffstat (limited to '')
-rw-r--r-- | ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java | 131 | ||||
-rw-r--r-- | ufund-api/src/test/java/com/ufund/api/ufundapi/controller/UserControllerTest.java | 3 |
2 files changed, 132 insertions, 2 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 new file mode 100644 index 0000000..04ce41d --- /dev/null +++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/CupboardControllerTest.java @@ -0,0 +1,131 @@ +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.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class CupboardControllerTest { + private CupboardController cupboardController; + private CupboardFileDao mockCupboardDAO; + + @BeforeEach + public void setupCupboardDAO() { + mockCupboardDAO = mock(CupboardFileDao.class); + cupboardController = new CupboardController(mockCupboardDAO); + } + + @Test + public void createNeed() 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.OK, res.getStatusCode()); + assertEquals(need, res.getBody()); + } + + @Test + public void getNeeds() { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.getNeeds()).thenReturn(new Need[]{need}); + + var res = cupboardController.getNeeds(); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertArrayEquals(new Need[]{need}, res.getBody()); + } + + @Test + public void getNeedsEmpty() { + when(mockCupboardDAO.getNeeds()).thenReturn(new Need[]{}); + + var res = cupboardController.getNeeds(); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertArrayEquals(new Need[]{}, res.getBody()); + } + + @Test + public void searchNeeds() { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.findNeeds("Na")).thenReturn(new Need[]{need}); + + var res = cupboardController.searchNeeds("Na"); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertArrayEquals(new Need[]{need}, res.getBody()); + } + + @Test + public void searchNeedsEmpty() { + when(mockCupboardDAO.findNeeds("Na")).thenReturn(new Need[]{}); + + var res = cupboardController.searchNeeds("Na"); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertArrayEquals(new Need[]{}, res.getBody()); + } + + @Test + public void getNeed() { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.getNeed(need.getId())).thenReturn(need); + + var res = cupboardController.getNeed(need.getId()); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertEquals(need, res.getBody()); + } + + @Test + public void getNeedFail() { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.getNeed(need.getId())).thenReturn(null); + + var res = cupboardController.getNeed(need.getId()); + + assertEquals(HttpStatus.NOT_FOUND, res.getStatusCode()); + assertNull(res.getBody()); + } + + @Test + public void updateNeeds() throws IOException { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.updateNeed(need)).thenReturn(need); + + var res = cupboardController.updateNeed(need); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + assertEquals(need, res.getBody()); + } + + @Test + public void deleteNeed() throws IOException { + var need = new Need("Name", 1, 100, Need.GoalType.MONETARY); + when(mockCupboardDAO.getNeed(1)).thenReturn(need); + when(mockCupboardDAO.deleteNeed(1)).thenReturn(true); + + var res = cupboardController.deleteNeed(1); + + assertEquals(HttpStatus.OK, res.getStatusCode()); + } + + @Test + public void deleteNeedFail() throws IOException { + when(mockCupboardDAO.getNeed(1)).thenReturn(null); + when(mockCupboardDAO.deleteNeed(1)).thenReturn(false); + + var res = cupboardController.deleteNeed(1); + + assertEquals(HttpStatus.NOT_FOUND, res.getStatusCode()); + } +} diff --git a/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/UserControllerTest.java b/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/UserControllerTest.java index c4a3a08..681f47c 100644 --- a/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/UserControllerTest.java +++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/controller/UserControllerTest.java @@ -134,10 +134,9 @@ public class UserControllerTest { // when updateUser is called, return true simulating successful // update and save when(mockUserDAO.updateUser(user, username)).thenReturn(user); - ResponseEntity<User> response = userController.updateUser(user, username); // Invoke - response = userController.updateUser(user, username); + ResponseEntity<User> response = userController.updateUser(user, username); // Analyze assertEquals(HttpStatus.OK, response.getStatusCode()); |