Skip to content
Snippets Groups Projects
Select Git revision
  • e8903f07d5ebeaf6ffdb5a6b7f5f4f3efca32609
  • main default protected
  • demo
  • tolsztoj
4 results

DocumentRepositoryTests.java

Blame
  • DocumentRepositoryTests.java 3.27 KiB
    package hu.pazmany;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.annotation.DirtiesContext;
    
    import java.util.List;
    import static org.assertj.core.api.Assertions.assertThat;
    
    @SpringBootTest
    @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
    public class DocumentRepositoryTests {
    
        @Autowired
        private DocumentRepository documentRepository;
    
        @Autowired
        private UserRepository userRepository;
    
        @Autowired
        private SubjectRepository subjectRepository;
    
        @Test
        public void testFindAllByUser() {
            User user = new User();
            user.setUsername("testUser");
            user.setPassword("testPassword");
            userRepository.save(user);
    
            Subject subject = new Subject();
            subject.setSubjectId("testId");
            subject.setName("testName");
            subjectRepository.save(subject);
    
            int n = 4;
            for (int i = 0; i < n; i++) {
                Document document = new Document();
                document.setUser(user);
                document.setSubject(subject);
                document.setTitle("testTitle" + i);
                document.setFilepath("testFilepath" + i);
                documentRepository.save(document);
            }
    
            List<Document> documents = documentRepository.findAllByUser(user);
    
            assertThat(documents).hasSize(n);
            for (int i = 0; i < n; i++) {
                assertThat(documents.get(i).getUser().getUsername()).isEqualTo(user.getUsername());
            }
        }
    
        @Test
        public void testFindAllBySubject() {
            Subject subject = new Subject();
            subject.setSubjectId("testId");
            subject.setName("testName");
            subjectRepository.save(subject);
    
            User user = new User();
            user.setUsername("testUser");
            user.setPassword("testPassword");
            userRepository.save(user);
    
            int n = 4;
            for (int i = 0; i < n; i++) {
                Document document = new Document();
                document.setUser(user);
                document.setSubject(subject);
                document.setTitle("testTitle" + i);
                document.setFilepath("testFilepath" + i);
                documentRepository.save(document);
            }
    
            List<Document> documents = documentRepository.findAllBySubject(subject);
    
            assertThat(documents).hasSize(n);
            for (int i = 0; i < n; i++) {
                assertThat(documents.get(i).getSubject().getSubjectId()).isEqualTo(subject.getSubjectId());
            }
        }
    
        @Test
        public void testFindById() {
            Subject subject = new Subject();
            subject.setSubjectId("testId");
            subject.setName("testName");
            subjectRepository.save(subject);
    
            User user = new User();
            user.setUsername("testUser");
            user.setPassword("testPassword");
            userRepository.save(user);
    
            Document document = new Document();
            document.setUser(user);
            document.setSubject(subject);
            document.setTitle("testTitle");
            document.setFilepath("testFilepath");
            documentRepository.save(document);
    
            Document found = documentRepository.findById(document.getId()).get();
    
            assertThat(found.getTitle()).isEqualTo(document.getTitle());
        }
    }