diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java index 3403a36c0c7abb157c7f0a8e488c1fccd53634cc..b888a8f66c46db34f14b29c3711a096e721bc18c 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java @@ -58,14 +58,7 @@ public class FridgeService { } - /** - * Add a product to the fridge of a group - * - * @param groupId the id of the group - * group must exist - * @param ean the ean of the product - * @return true if the product was added - */ + public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) { Optional<Product> product = productService.getProductById(fridgeProductRequest.productId()); Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId()); diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupService.java index 5c228956d8cb2d33b2a454b2c059539e07d93bf1..615b3e29c0a13bd2e134eeba6eb7bcf34e733674 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupService.java @@ -1,8 +1,10 @@ package ntnu.idatt2016.v233.SmartMat.service.group; import lombok.AllArgsConstructor; +import ntnu.idatt2016.v233.SmartMat.entity.ShoppingList; import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge; import ntnu.idatt2016.v233.SmartMat.entity.group.Group; +import ntnu.idatt2016.v233.SmartMat.repository.ShoppingListRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.util.GroupUtil; @@ -25,6 +27,7 @@ public class GroupService { private final GroupRepository groupRepository; private final FridgeRepository fridgeRepository; + private ShoppingListRepository shoppingListRepository; /** * Gets a group by its name @@ -63,7 +66,10 @@ public class GroupService { code = GroupUtil.generateUniqueCode(); } group.setLinkCode(code); - return groupRepository.save(group); + Group newGroup = groupRepository.save(group); + group.setFridge(fridgeRepository.save(Fridge.builder().fridgeId(newGroup.getGroupId()).group(group).build())); + shoppingListRepository.save(ShoppingList.builder().shoppingListID(newGroup.getGroupId()).groupID(group.getGroupId()).build()); + return groupRepository.save(newGroup); } /** diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupServiceTest.java index bb980bfa66ca08c7cc88269fece031a42ab7b909..066acc64f5fc923fd727d048c5241d08dd322f15 100644 --- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupServiceTest.java +++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/GroupServiceTest.java @@ -2,6 +2,7 @@ package ntnu.idatt2016.v233.SmartMat.service.group; import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge; import ntnu.idatt2016.v233.SmartMat.entity.group.Group; +import ntnu.idatt2016.v233.SmartMat.repository.ShoppingListRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import org.junit.jupiter.api.BeforeEach; @@ -24,6 +25,9 @@ public class GroupServiceTest { @Mock private FridgeRepository fridgeRepository; + @Mock + private ShoppingListRepository shoppingListRepository; + @InjectMocks private GroupService groupService;