diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
index a23569f0b273f85ec77b0752a1ebcf0e03b80373..3ec4537a4e897e0ba791c9c6a7a36d126cbb3ff7 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
@@ -60,19 +60,23 @@ public class FridgeController {
     }
 
 
-    @DeleteMapping("/group/product/delete/{fridgeProductId}/{amount}")
+    @DeleteMapping("/group/delete/product/{fridgeProductId}/{amount}")
     public ResponseEntity<?> deleteAmountFridgeProduct(@PathVariable("fridgeProductId") long fridgeProductId,
                                                        @PathVariable("amount") int amount){
         return fridgeService.deleteAmountFromFridge(fridgeProductId,amount).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
     }
 
 
-    /*
-    @DeleteMapping("/delete/{fridgeProductId}")
-    public ResponseEntity<String> removeProductFromFridge(@PathVariable("fridgeProductId") long FPId) {
-
+    /**
+     * Deletes a product from the fridge
+     * @param fridgeProductId the id of the fridge product association
+     * @return success if the product was deleted, bad request if the product wasn't found
+     */
+    @DeleteMapping("/delete/product/{fridgeProductId}")
+    public ResponseEntity<String> removeProductFromFridge(@PathVariable("fridgeProductId") long fridgeProductId) {
         try {
-            if (fridgeService.removeProductFromFridge(FPId)){
+            boolean success = fridgeService.removeProductFromFridge(fridgeProductId);
+            if (success){
                 return ResponseEntity.ok("Success");
             }
             return ResponseEntity.badRequest().body("Product not found in the fridge");
@@ -80,6 +84,25 @@ public class FridgeController {
             return ResponseEntity.status(500).body("Internal server error");
         }
     }
+
+    /**
+     * Deletes all products in a fridge
+     * @param fridgeId the id of the fridge
+     * @return success if the products were deleted, bad request if the fridge doesn't exist
+     *
+    @DeleteMapping("/delete/all/{fridgeId}")
+    public ResponseEntity<String> deleteAllProductsInFridge(@PathVariable("fridgeId") long fridgeId) {
+        try {
+            boolean success = fridgeService.deleteAllProductsInFridge(fridgeId);
+            if (success){
+                return ResponseEntity.ok("Success");
+            }
+            return ResponseEntity.badRequest().body("Fridge not found");
+        } catch (Exception e) {
+            return ResponseEntity.status(500).body("Internal server error");
+        }
+    }
+
     */
 
 }
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
index e37e378e0c89d364a70a3f965e679fec23d1f077..da4f5e880f4125d8084a85a47b4660af06e7fcc1 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
@@ -11,6 +11,8 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
+import org.hibernate.annotations.OnDelete;
+import org.hibernate.annotations.OnDeleteAction;
 
 /**
  * Fridge is an entity class representing a fridge in the system.
@@ -36,7 +38,8 @@ public class Fridge{
     @JsonIgnoreProperties("fridge")
     Group group;
     
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
+    @OnDelete(action = OnDeleteAction.CASCADE)
     @JoinColumn(name = "fridge_id")
     @JsonIgnoreProperties("fridge")
     List<FridgeProductAsso> products;
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
index 1772931f36915d996b1f2c6cc163243a444366b1..33fb63daf55f26f23eb784f15c3043a8eb783d75 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
@@ -11,6 +11,8 @@ import ntnu.idatt2016.v233.SmartMat.entity.ShoppingList;
 import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
 import ntnu.idatt2016.v233.SmartMat.entity.Recipe;
 import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
+import org.hibernate.annotations.OnDelete;
+import org.hibernate.annotations.OnDeleteAction;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -70,7 +72,8 @@ public class Product{
             inverseJoinColumns = @JoinColumn(name = "allergy_name"))
     List<Allergy> allergies;
 
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
+    @OnDelete(action = OnDeleteAction.CASCADE)
     @JoinColumn(name = "ean")
     @JsonIgnoreProperties({"products"})
     @JsonIgnore
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java
deleted file mode 100644
index b16d73a187f94437d0c0cb0f38c3e2592276fbef..0000000000000000000000000000000000000000
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package ntnu.idatt2016.v233.SmartMat.repository.group;
-
-import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-
-/**
- * FridgeProductAssoRepository is a repository class for fridge product associations
- * @author Birk
- * @version 1.0
- * @since 25.04.2023
- */
-
-@Repository
-public interface FridgeProductAssoRepository extends JpaRepository<FridgeProductAsso, Long> {
-    Optional<FridgeProductAsso> findById(long id);
-    int findAmountById(long id);
-
-}
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java
new file mode 100644
index 0000000000000000000000000000000000000000..2b1a9a9c825f9920ae7efe361f3c7cc8adcb2fb3
--- /dev/null
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java
@@ -0,0 +1,7 @@
+package ntnu.idatt2016.v233.SmartMat.repository.product;
+
+import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface FridgeProductAssoRepo extends JpaRepository<FridgeProductAsso, Long> {
+}
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java
deleted file mode 100644
index 3360059bbc4a6f7cb009d2b932d610e1701371b1..0000000000000000000000000000000000000000
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package ntnu.idatt2016.v233.SmartMat.service.group;
-
-import lombok.AllArgsConstructor;
-import ntnu.idatt2016.v233.SmartMat.dto.request.FridgeProductRequest;
-import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
-import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
-import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
-import ntnu.idatt2016.v233.SmartMat.repository.product.ProductRepository;
-import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeProductAssoRepository;
-import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository;
-import org.springframework.stereotype.Service;
-
-import java.sql.Date;
-import java.util.Calendar;
-import java.util.Optional;
-
-@Service
-@AllArgsConstructor
-public class FridgeProductAssoService {
-
-    FridgeProductAssoRepository fridgeProductAssoRepository;
-
-    FridgeRepository fridgeRepository;
-
-    ProductRepository productRepository;
-
-
-
-    /**
-     * Creates a fridge product association
-     * the FridgeProductAssosiation object needs to be added to the fridge and product
-     * @param fridge the fridge to add the product to
-     * @param product the product to add to the fridge
-     * @return the fridge product association
-     */
-    public FridgeProductAsso createFridgeProductAsso(Fridge fridge, Product product, int amount, int days) {
-        FridgeProductAsso temp = FridgeProductAsso.builder().fridgeId(fridge).ean(product).amount(amount).daysToExpiration(days).purchaseDate(new Date(Calendar.getInstance().getTime().getTime())).build();
-        fridgeProductAssoRepository.save(temp);
-        fridge.addProduct(temp);
-        product.addFridge(temp);
-        fridgeRepository.save(fridge);
-        productRepository.save(product);
-
-        return temp;
-    }
-
-    /**
-     * Deletes a fridge product association
-     * @param fridgeProductAsso the fridge product association to delete
-     */
-    public boolean deleteFridgeProductAsso(FridgeProductAsso fridgeProductAsso) {
-        fridgeProductAsso.getFridgeId().getProducts().remove(fridgeProductAsso);
-        fridgeProductAsso.getEan().getFridges().remove(fridgeProductAsso);
-        fridgeProductAssoRepository.delete(fridgeProductAsso);
-        fridgeRepository.save(fridgeProductAsso.getFridgeId());
-        productRepository.save(fridgeProductAsso.getEan());
-
-        return true;
-    }
-
-}
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 9a7d2b0c5c9d57fa0e17f4fe7a0a43fed6c72c1c..3665bc7e7ea56fc47520c7e21f48b4a0ffd6e138 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
@@ -5,16 +5,15 @@ import ntnu.idatt2016.v233.SmartMat.dto.request.FridgeProductRequest;
 import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
 import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
 import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
-import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeProductAssoRepository;
 import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository;
 import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
 import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
+import ntnu.idatt2016.v233.SmartMat.repository.product.FridgeProductAssoRepo;
 import ntnu.idatt2016.v233.SmartMat.service.product.ProductService;
 import org.springframework.stereotype.Service;
 
-import java.nio.channels.FileChannel;
-import java.sql.Date;
 import java.time.LocalDate;
+import java.util.Date;
 import java.util.Optional;
 
 /**
@@ -31,12 +30,10 @@ public class FridgeService {
     private final FridgeRepository fridgeRepository;
     private final ProductService productService;
 
-    private final FridgeProductAssoRepository fridgeProductAssoRepository;
-
-    private final FridgeProductAssoService fridgeProductAssoService;
-
     private final GroupRepository groupRepository;
 
+    private final FridgeProductAssoRepo fridgeProductAssoRepo;
+
     /**
      * Gets the fridge of a group
      *
@@ -58,42 +55,48 @@ public class FridgeService {
     }
 
 
-
+    /**
+     * Adds a product to the fridge of a group
+     * @param fridgeProductRequest the fridge product request
+     * @return the product that was added to the fridge
+     */
     public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) {
         Optional<Product> product = productService.getProductById(fridgeProductRequest.ean());
         Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId());
+
         if(product.isEmpty() || fridge.isEmpty()) return Optional.empty();
 
-        return Optional.of(fridgeProductAssoService.createFridgeProductAsso(fridge.get(), product.get(), fridgeProductRequest.amount(), fridgeProductRequest.days()));
+        fridge.get().addProduct(FridgeProductAsso.builder()
+                        .fridgeId(fridge.get())
+                        .ean(product.get())
+                        .amount(fridgeProductRequest.amount())
+                        .purchaseDate(java.sql.Date.valueOf(LocalDate.now()))
+                .build());
+
+        fridgeRepository.save(fridge.get());
+        return Optional.of(product);
 
     }
 
     /**
      * Remove a product from the fridge of a group
      *
-     * @param groupId the id of the group
-     *                group must exist
+     * @param FPId the id of the fridge product association
      * @return true if the product was removed
      */
-    /*public boolean removeProductFromFridge( long FPId) {
-        FridgeProductAsso fridgeProductAsso = fridgeProductAssoRepository.findById(FPId).get();
-        Optional<Product> product = productService.getProductById(fridgeProductAsso.getEan().getEan());
-        Fridge fridge = fridgeRepository.findByGroupGroupId(fridgeProductAsso.getFridgeId().getFridgeId()).orElseThrow(() -> new IllegalArgumentException("Fridge does not exist"));
-        if (product.isPresent()) {
-            Product productToRemove = product.get();
-            if (!fridge.getProducts().contains(
-                    new FridgeProductAsso(fridge, productToRemove,))) {
-                return false;
-            }
-            FridgeProductAsso fridgeProductAsso1 = FridgeProductAsso.builder().id(FPId)..build()
-            fridgeProductAssoService.deleteFridgeProductAsso(new FridgeProductAsso(fridge,
-                    productToRemove, purchaseDate));
-
-            return true;
-        } else {
-            return false;
-        }
-    }*/
+    public boolean removeProductFromFridge(long FPId) {
+        Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findById(FPId);
+
+        if (fridgeProductAsso.isEmpty()) return false;
+
+        Fridge fridge = fridgeRepository.findById(fridgeProductAsso.get().getFridgeId().getFridgeId())
+                .get();
+
+
+        fridgeProductAssoRepo.delete(fridgeProductAsso.get());
+
+        return true;
+    }
 
     /**
      * Updates a fridge
@@ -121,12 +124,31 @@ public class FridgeService {
         }
     }
 
+    /**
+     * Delete an amount from a fridge product
+     * @param fridgeProductId the id of the fridge product
+     * @param amount the amount to delete
+     * @return an optional containing the fridge product if it exists
+     */
     public Optional<Object> deleteAmountFromFridge(long fridgeProductId, int amount) {
-        if(amount < fridgeProductAssoRepository.findAmountById(fridgeProductId)){
+        if(amount < 0 ){
             System.out.println("Given amount " + amount + " < " + " Stored in db");
         } else {
             System.out.println("Given amount " + amount + " > " + " Stored in db");
         }
         return Optional.empty();
     }
+
+    /**
+     * Delete all products in a fridge
+     * @param fridgeId the id of the fridge
+     * @return true if the fridge was deleted
+     *
+    public boolean deleteAllProductsInFridge(long fridgeId) {
+        Optional<Fridge> fridge = fridgeRepository.findById(fridgeId);
+        if(fridge.isEmpty()) return false;
+        fridgeProductAssoService.deleteAllFridgeProducts(fridgeId);
+        return true;
+    }
+    */
 }
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java
deleted file mode 100644
index 40e558343eefb8d7b2712edbe180f0374ad6dadf..0000000000000000000000000000000000000000
--- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package ntnu.idatt2016.v233.SmartMat.service.group;
-
-import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
-import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
-import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
-import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeProductAssoRepository;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
-import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
-
-import java.sql.Date;
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@DataJpaTest
-class FridgeProductAssoServiceTest {
-
-    @Autowired
-    TestEntityManager entityManager;
-
-    @Autowired
-    FridgeProductAssoRepository fridgeProductAssoRepository;
-
-    private Product product;
-
-    private Fridge fridge;
-    @BeforeEach
-    void setUp() {
-        entityManager.clear();
-
-        product = Product.builder()
-                .ean(1234567890123L)
-                .name("Test")
-                .description("Test")
-                .build();
-
-        fridge = Fridge.builder()
-                .build();
-
-        FridgeProductAsso fridgeProductAsso = FridgeProductAsso.builder()
-                .ean(product)
-                .fridgeId(fridge)
-                .purchaseDate(Date.valueOf("2023-04-24"))
-                .build();
-
-        product.addFridge(fridgeProductAsso);
-        fridge.addProduct(fridgeProductAsso);
-
-        entityManager.persist(product);
-        entityManager.persist(fridge);
-        entityManager.persist(fridgeProductAsso);
-
-    }
-/*
-    @Test
-    void createFridgeProductAsso() {
-        Optional<FridgeProductAsso> temp = fridgeProductAssoRepository.findById(
-                new FridgeProductId(fridge.getFridgeId(), product.getEan(), Date.valueOf("2023-04-24")));
-        assertTrue(temp.isPresent());
-
-        assertTrue(entityManager.find(Fridge.class, fridge.getFridgeId()).getProducts().contains(temp.get()));
-        assertTrue(entityManager.find(Product.class, product.getEan()).getFridges().contains(temp.get()));
-
-        assertEquals(product.getEan(), temp.get().getEan().getEan());
-        assertEquals(fridge.getFridgeId(), temp.get().getFridgeId().getFridgeId());
-    }
-
-    @Test
-    void deleteFridgeProductAsso() {
-
-        Optional<FridgeProductAsso> temp = fridgeProductAssoRepository.findById(
-                new FridgeProductId(fridge.getFridgeId(), product.getEan(), Date.valueOf("2023-04-24")));
-        assertTrue(temp.isPresent());
-
-        fridgeProductAssoRepository.delete(temp.get());
-
-        assertFalse(fridgeProductAssoRepository.findById(
-                new FridgeProductId(fridge.getFridgeId(), product.getEan(), Date.valueOf("2023-04-24"))).isPresent());
-
-        fridge.getProducts().remove(temp.get());
-        product.getFridges().remove(temp.get());
-
-        entityManager.persist(fridge);
-        entityManager.persist(product);
-
-        assertFalse(entityManager.find(Fridge.class, fridge.getFridgeId()).getProducts().contains(temp.get()));
-        assertFalse(entityManager.find(Product.class, product.getEan()).getFridges().contains(temp.get()));
-    }*/
-}
\ No newline at end of file
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 1c960383d4a4062f4d3223180d1edd9d4d040378..4505cff9f3a233079c77b41e77802bdd2a90ca9e 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
@@ -1,28 +1,14 @@
 package ntnu.idatt2016.v233.SmartMat.service.group;
 
-import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
-import java.sql.Date;
-import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.Optional;
-
-import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
 import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
-import ntnu.idatt2016.v233.SmartMat.service.group.FridgeProductAssoService;
-import ntnu.idatt2016.v233.SmartMat.service.group.FridgeService;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
-import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
-import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
-import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
 import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository;
 import ntnu.idatt2016.v233.SmartMat.service.product.ProductService;
 
@@ -35,8 +21,6 @@ public class FridgeServiceTest {
     @Mock
     private ProductService productService;
 
-    @Mock
-    private FridgeProductAssoService fridgeProductAssoService;
 
     @Mock
     private GroupRepository groupRepository;