Skip to content
Snippets Groups Projects
Commit 1f2399bd authored by Pedro Pablo Cardona Arroyave's avatar Pedro Pablo Cardona Arroyave
Browse files

When a new group is created, a fridge and shopping_list is also create

parent e171dd85
No related branches found
No related tags found
No related merge requests found
...@@ -58,14 +58,7 @@ public class FridgeService { ...@@ -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) { public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) {
Optional<Product> product = productService.getProductById(fridgeProductRequest.productId()); Optional<Product> product = productService.getProductById(fridgeProductRequest.productId());
Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId()); Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId());
......
package ntnu.idatt2016.v233.SmartMat.service.group; package ntnu.idatt2016.v233.SmartMat.service.group;
import lombok.AllArgsConstructor; 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.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.group.Group; 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.FridgeRepository;
import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
import ntnu.idatt2016.v233.SmartMat.util.GroupUtil; import ntnu.idatt2016.v233.SmartMat.util.GroupUtil;
...@@ -25,6 +27,7 @@ public class GroupService { ...@@ -25,6 +27,7 @@ public class GroupService {
private final GroupRepository groupRepository; private final GroupRepository groupRepository;
private final FridgeRepository fridgeRepository; private final FridgeRepository fridgeRepository;
private ShoppingListRepository shoppingListRepository;
/** /**
* Gets a group by its name * Gets a group by its name
...@@ -63,7 +66,10 @@ public class GroupService { ...@@ -63,7 +66,10 @@ public class GroupService {
code = GroupUtil.generateUniqueCode(); code = GroupUtil.generateUniqueCode();
} }
group.setLinkCode(code); 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);
} }
/** /**
......
...@@ -2,6 +2,7 @@ package ntnu.idatt2016.v233.SmartMat.service.group; ...@@ -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.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.group.Group; 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.FridgeRepository;
import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
...@@ -24,6 +25,9 @@ public class GroupServiceTest { ...@@ -24,6 +25,9 @@ public class GroupServiceTest {
@Mock @Mock
private FridgeRepository fridgeRepository; private FridgeRepository fridgeRepository;
@Mock
private ShoppingListRepository shoppingListRepository;
@InjectMocks @InjectMocks
private GroupService groupService; private GroupService groupService;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment