Skip to content
Snippets Groups Projects
Commit a9401b42 authored by Dominika Zemanovičová's avatar Dominika Zemanovičová
Browse files

Fix QuestionServiceTest

parent cc4bb1a5
No related branches found
No related tags found
3 merge requests!31M2,!30M2 exercise,!29M2 exercise
package org.fuseri.moduleexercise.question;
import jakarta.persistence.EntityNotFoundException;
import org.fuseri.moduleexercise.answer.Answer;
import org.fuseri.moduleexercise.exercise.Exercise;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
......@@ -10,21 +11,20 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@SpringBootTest
public class QuestionServiceTest {
class QuestionServiceTest {
@MockBean
QuestionRepository repository;
QuestionRepository questionRepository;
@Autowired
QuestionService service;
QuestionService questionService;
Exercise exercise;
Question question;
......@@ -32,7 +32,7 @@ public class QuestionServiceTest {
@BeforeEach
void setup() {
exercise = new Exercise("idioms", "exercise on basic idioms",2,1L,new HashSet<Question>());
exercise = new Exercise("idioms", "exercise on basic idioms",2,1L,new HashSet<>());
question = new Question("text",new HashSet<>(),exercise);
question1 = new Question("text2",new HashSet<>(),exercise);
}
......@@ -40,27 +40,44 @@ public class QuestionServiceTest {
@Test
void create() {
when(repository.save(question)).thenReturn(question);
Question result = service.create(question);
when(questionRepository.save(question)).thenReturn(question);
Question result = questionService.create(question);
Assertions.assertEquals(question, result);
verify(repository).save(question);
verify(questionRepository).save(question);
}
@Test
void notFound() {
when(repository.findById(anyLong())).thenReturn(Optional.empty());
when(questionRepository.findById(anyLong())).thenReturn(Optional.empty());
Assertions.assertThrows(EntityNotFoundException.class, () -> service.find(anyLong()));
Assertions.assertThrows(EntityNotFoundException.class, () -> questionService.find(anyLong()));
}
@Test
void find() {
when(repository.findById(anyLong())).thenReturn(Optional.of(question));
when(questionRepository.findById(anyLong())).thenReturn(Optional.of(question));
Question result = service.find(anyLong());
Question result = questionService.find(anyLong());
Assertions.assertEquals(question, result);
verify(repository).findById(anyLong());
verify(questionRepository).findById(anyLong());
}
@Test
void patchUpdateWithoutAnswers() {
when(questionRepository.findById(anyLong())).thenReturn(Optional.of(question));
when(questionRepository.save(question)).thenReturn(question);
Question result = questionService.patchUpdateWithoutAnswers(anyLong(), question);
Assertions.assertEquals(question, result);
}
@Test
void addAnswers() {
Set<Answer> answers = Set.of(new Answer("BA", true, question));
question.setAnswers(answers);
when(questionRepository.findById(anyLong())).thenReturn(Optional.of(question));
when(questionRepository.save(question)).thenReturn(question);
Question result = questionService.patchUpdateWithoutAnswers(anyLong(), question);
Assertions.assertEquals(question, result);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment