From 3b2bb24a3809d9fc044757f11064e5f222ace99e Mon Sep 17 00:00:00 2001 From: birkon <birkon@stud.ntnu.no> Date: Thu, 4 May 2023 16:01:12 +0200 Subject: [PATCH] added test for delete entire product --- .../service/group/FridgeServiceTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeServiceTest.java index 7034e9a0..470c485c 100644 --- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeServiceTest.java +++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeServiceTest.java @@ -217,7 +217,58 @@ public class FridgeServiceTest { @Test void deleteEntireAmountFromProduct(){ + // Arrange + long ean = 12345L; + Product product = Product.builder() + .ean(ean) + .name("Test Product") + .build(); + + Fridge fridge = Fridge.builder() + .fridgeId(1234L) + .build(); + fridge.setProducts(new ArrayList<>()); + Group group = new Group(); + fridge.setGroup(group); + group.setFridge(fridge); + + FridgeProductAsso fridgepr = FridgeProductAsso.builder() + .fridgeId(fridge) + .ean(product) + .id(123456L) + .amount(2) + .build(); + + fridge.addProduct(fridgepr); + product.addFridge(fridgepr); + + when(fridgeProductAssoRepo.findById(123456L)).thenReturn(Optional.of(fridgepr)); + when(fridgeProductAssoRepo.findAllById(123456L)).thenReturn(Optional.of(fridgepr)); + when(productService.getProductById(ean)).thenReturn(Optional.of(product)); + + double newAmount = fridgepr.getAmount() - 1; + + + when(fridgeProductAssoRepo.save(FridgeProductAsso.builder() + .amount(newAmount) + .id(123456L) + .ean(product) + .fridgeId(fridge) + .build() + )).thenReturn(FridgeProductAsso.builder() + .amount(newAmount) + .id(139132L) + .ean(product) + .fridgeId(fridge) + .build()); + + // Act + Optional<FridgeProductAsso> result = fridgeService.deleteAmountFromFridge(123456L, 2); + + // Assert + assertTrue(result.isEmpty()); + verify(fridgeProductAssoRepo).delete(any(FridgeProductAsso.class)); } } -- GitLab