aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api/src')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java12
-rw-r--r--ufund-api/src/test/java/com/ufund/api/ufundapi/model/UserTest.java31
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);
}