From 1aca4660326418b2c18f90333e0ed214da1ff022 Mon Sep 17 00:00:00 2001 From: Dominika Zemanovicova <xzemanov@fi.muni.cz> Date: Sun, 16 Apr 2023 06:42:53 +0200 Subject: [PATCH] Introduce UserRepositoryTest --- .../user/UserRepositoryTest.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/user/UserRepositoryTest.java diff --git a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/user/UserRepositoryTest.java b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/user/UserRepositoryTest.java new file mode 100644 index 00000000..3538aff2 --- /dev/null +++ b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/user/UserRepositoryTest.java @@ -0,0 +1,57 @@ +package org.fuseri.modulelanguageschool.user; + +import org.fuseri.modulelanguageschool.course.Course; +import org.fuseri.modulelanguageschool.course.Language; +import org.fuseri.modulelanguageschool.course.ProficiencyLevel; +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.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +@DataJpaTest +class UserRepositoryTest { + + @Autowired + private UserRepository userRepository; + + @Autowired + private TestEntityManager entityManager; + + private final Course course = new Course("AJ1", 10, Language.ENGLISH, ProficiencyLevel.B2); + private final Set<Course> COURSES = Set.of(course); + private final User user = new User( + "xnovak", UserType.STUDENT, + "1234fak", "xnovak@emample.com", "Peter", "Novak", + new Address(), COURSES, Map.of()); + + @Test + void getEnrolled() { + entityManager.persist(course); + entityManager.persist(user); + entityManager.flush(); + + List<Course> foundCourses = userRepository.getEnrolled(user.getId()); + assertNotNull(foundCourses); + assertEquals(new ArrayList<>(COURSES), foundCourses); + } + + @Test + void getFinished() { + course.setFinished(true); + entityManager.persist(course); + entityManager.persist(user); + entityManager.flush(); + + List<Course> foundCourses = userRepository.getFinished(user.getId()); + assertNotNull(foundCourses); + assertEquals(new ArrayList<>(COURSES), foundCourses); + } +} \ No newline at end of file -- GitLab