diff options
Diffstat (limited to 'ufund-api')
-rw-r--r-- | ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java | 12 | ||||
-rw-r--r-- | ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java | 31 |
2 files changed, 33 insertions, 10 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index 61293b9..f08f9f0 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -14,7 +14,7 @@ public class User { @JsonProperty("username") private final String username; @JsonProperty("passwordHash") private int passwordHash; - @JsonProperty("basket") private final List<Need> basket; + @JsonProperty("basket") private final List<Integer> basket; @JsonProperty("type") private final UserType type; /** @@ -23,7 +23,7 @@ public class User { * @param username The name of the user * @param basket A basket to copy from */ - public User(@JsonProperty("username") String username, @JsonProperty("passwordHash") int passwordHash, @JsonProperty("basket") List<Need> basket, @JsonProperty("type") UserType userType) { + public User(@JsonProperty("username") String username, @JsonProperty("passwordHash") int passwordHash, @JsonProperty("basket") List<Integer> basket, @JsonProperty("type") UserType userType) { this.username = username; this.basket = basket; this.passwordHash = passwordHash; @@ -48,15 +48,15 @@ public class User { } public void addToBasket(Need need) { - basket.add(need); + basket.add(need.getId()); } - public Need[] getBasketNeeds() { - return basket.toArray(Need[]::new); + public Integer[] getBasketNeeds() { + return basket.toArray(Integer[]::new); } public void removeBasketNeed(Need need) { - basket.remove(need); + basket.remove(need.getId()); } public User withoutPasswordHash() { diff --git a/ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java b/ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java index 5e017dd..54aa4d1 100644 --- a/ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java +++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java @@ -4,10 +4,25 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; + +import java.io.IOException; + +import org.junit.jupiter.api.BeforeEach; +import static org.mockito.Mockito.when; + +import com.ufund.api.ufundapi.service.CupboardService; @Tag("Model-tier") public class UserTest { + private CupboardService cupboardService; + + @BeforeEach + public void setup() { + cupboardService = mock(CupboardService.class); + } + @Test public void createUser() { @@ -32,7 +47,7 @@ public class UserTest { } @Test - public void addNeedToBasket() { + public void addNeedToBasket() throws IOException { String expectedName = "Bob"; @@ -40,14 +55,18 @@ public class UserTest { Need need = new Need("Test", 0, 100, Need.GoalType.MONETARY); Need[] needs = { need }; + when(cupboardService.getNeed(0)).thenReturn(need); + user.addToBasket(need); - assertEquals(needs[0], user.getBasketNeeds()[0]); + Need getNeed = cupboardService.getNeed(user.getBasketNeeds()[0]); + + assertEquals(needs[0], getNeed); } @Test - public void testRemoveBasketNeed() { + public void testRemoveBasketNeed() throws IOException { String expectedName = "Bob"; @@ -55,11 +74,15 @@ public class UserTest { Need need = new Need("Test", 0, 100, Need.GoalType.MONETARY); Need need2 = new Need("Test2", 0, 100, Need.GoalType.MONETARY); + when(cupboardService.getNeed(0)).thenReturn(need2); + user.addToBasket(need); user.removeBasketNeed(need); user.addToBasket(need2); - assertEquals(need2, user.getBasketNeeds()[0]); + Need getNeed = cupboardService.getNeed(user.getBasketNeeds()[0]); + + assertEquals(need2, getNeed); } |