From ddfcd99d7c17e6eca94f9db499da2d88956bf029 Mon Sep 17 00:00:00 2001 From: Lara Blersch <lb210@hdm-stuttgart.de> Date: Mon, 15 Jan 2024 19:00:54 +0100 Subject: [PATCH] added builder annotation to WishListEntry and startet implementing WishListRepositoryTest --- .../hdm/mi/growbros/models/WishListEntry.java | 2 + .../repositories/WishListRepositoryTest.java | 80 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java diff --git a/src/main/java/hdm/mi/growbros/models/WishListEntry.java b/src/main/java/hdm/mi/growbros/models/WishListEntry.java index a8254b6..a645419 100644 --- a/src/main/java/hdm/mi/growbros/models/WishListEntry.java +++ b/src/main/java/hdm/mi/growbros/models/WishListEntry.java @@ -12,6 +12,8 @@ import java.util.Date; @Entity @EntityListeners(AuditingEntityListener.class) +@Data +@Builder @Getter @Setter @AllArgsConstructor diff --git a/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java b/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java new file mode 100644 index 0000000..ea42d2d --- /dev/null +++ b/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java @@ -0,0 +1,80 @@ +package hdm.mi.growbros.repositories; + +import hdm.mi.growbros.models.WishListEntry; +import hdm.mi.growbros.models.plant.Plant; +import hdm.mi.growbros.models.user.Role; +import hdm.mi.growbros.models.user.User; +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 org.springframework.security.web.access.channel.RetryWithHttpEntryPoint; +import org.springframework.test.context.ActiveProfiles; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; + +@DataJpaTest +@ActiveProfiles("test") +public class WishListRepositoryTest { + + @Autowired + private WishListRepository underTest; + + @Autowired + private TestEntityManager entityManager; + + private WishListEntry we1, we2, we3, we4; + private User user1, user2; + + @BeforeEach + void setupEach() { + user1 = User.builder() + .email("user1@gmail.com") + .role(Role.USER) + .password("safePassword123!") + .build(); + entityManager.persist(user1); + + user2 = User.builder() + .email("user2@gmail.com") + .role(Role.USER) + .password("safePassword123!") + .build(); + entityManager.persist(user2); + + Plant p1 = Plant.builder() + .name("Early plant") + .plantWeekStart(1) + .plantWeekEnd(3) + .harvestWeekStart(10) + .harvestWeekEnd(15) + .build(); + entityManager.persist(p1); + Plant p2 = Plant.builder() + .name("Medium late plant") + .plantWeekStart(4) + .plantWeekEnd(6) + .harvestWeekStart(18) + .harvestWeekEnd(20) + .build(); + entityManager.persist(p2); + Plant p3 = Plant.builder() + .name("Late plant") + .plantWeekStart(10) + .plantWeekEnd(15) + .harvestWeekStart(25) + .harvestWeekEnd(30) + .build(); + entityManager.persist(p3); + + we1 = WishListEntry.builder().id(0L).plant(p1).user(user1).build(); + we2 = WishListEntry.builder().id(0L).plant(p2).user(user1).build(); + we3 = WishListEntry.builder().id(0L).plant(p3).user(user1).build(); + we4 = WishListEntry.builder().id(0L).plant(p3).user(user2).build(); + underTest.saveAll(List.of(we1, we2, we3, we4)); + } +} -- GitLab