diff --git a/src/main/java/org/example/LoanServices.java b/src/main/java/org/example/LoanServices.java index c5230081..78b6ea15 100644 --- a/src/main/java/org/example/LoanServices.java +++ b/src/main/java/org/example/LoanServices.java @@ -6,6 +6,8 @@ public class LoanServices { + + // Kolla om en bok är utlånad public boolean isBookLoaned(Long bookId, EntityManager em) { List loans = em.createQuery( diff --git a/src/test/java/org/example/BookSearchTest.java b/src/test/java/org/example/BookSearchTest.java index 838d7582..090c05c0 100644 --- a/src/test/java/org/example/BookSearchTest.java +++ b/src/test/java/org/example/BookSearchTest.java @@ -10,6 +10,7 @@ @Disabled("Integration test – runs locally only") class BookSearchTest { + private static EntityManagerFactory emf; private EntityManager em; diff --git a/src/test/java/org/example/LoanServicesTest.java b/src/test/java/org/example/LoanServicesTest.java new file mode 100644 index 00000000..6d8d31fa --- /dev/null +++ b/src/test/java/org/example/LoanServicesTest.java @@ -0,0 +1,75 @@ +package org.example; + +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.Persistence; +import org.junit.jupiter.api.*; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +@Disabled("Integration test – runs locally only") +public class LoanServicesTest { + + private static EntityManagerFactory emf; + private EntityManager em; + + @BeforeAll + static void init() { + emf = Persistence.createEntityManagerFactory("library_system"); + } + + @AfterAll + static void shutdown() { + emf.close(); + } + + @BeforeEach + void setUp() { + em = emf.createEntityManager(); + } + + @AfterEach + void tearDown() { + em.close(); + } + + // test - isBookLoaned funkar utan error + @Test + void isBookLoaned_executes_without_error() { + LoanServices service = new LoanServices(); + boolean result = service.isBookLoaned(1L, em); + assertNotNull(result); + } + + // test - loanBook funkar utan error + @Test + void loanBook_executes_without_error() { + LoanServices service = new LoanServices(); + User user = em.find(User.class, 1L); + Book book = em.find(Book.class, 1L); + boolean result = service.loanBook(user, book, em); + assertNotNull(result); + } + + // test - returnBook funkar utan error + @Test + void returnBook_executes_without_error() { + LoanServices service = new LoanServices(); + + User user = em.find(User.class, 1L); + Book book = em.find(Book.class, 1L); + + boolean result = service.returnBook(user, book, em); + + assertNotNull(result); + } + + // test - activeLoans funkar utan error + @Test + void activeLoans_executes_without_error() { + LoanServices service = new LoanServices(); + List result = service.activeLoans(em.find(User.class, 1L), em); + assertNotNull(result); + } +}