From 9f27a5d59a04c54791938e41ef104498115587e1 Mon Sep 17 00:00:00 2001
From: Dominika Zemanovicova <xzemanov@fi.muni.cz>
Date: Sun, 16 Apr 2023 17:30:32 +0200
Subject: [PATCH] Fix AnswerFacadeTest

---
 .../answer/AnswerFacadeTest.java              | 74 +++++--------------
 1 file changed, 18 insertions(+), 56 deletions(-)

diff --git a/application/module-exercise/src/test/java/org/fuseri/moduleexercise/answer/AnswerFacadeTest.java b/application/module-exercise/src/test/java/org/fuseri/moduleexercise/answer/AnswerFacadeTest.java
index af06853f..f0faeeba 100644
--- a/application/module-exercise/src/test/java/org/fuseri/moduleexercise/answer/AnswerFacadeTest.java
+++ b/application/module-exercise/src/test/java/org/fuseri/moduleexercise/answer/AnswerFacadeTest.java
@@ -2,90 +2,52 @@ package org.fuseri.moduleexercise.answer;
 
 import org.fuseri.model.dto.exercise.AnswerCreateDto;
 import org.fuseri.model.dto.exercise.AnswerDto;
-import org.fuseri.model.dto.exercise.AnswerInQuestionCreateDto;
-import org.fuseri.model.dto.exercise.AnswersCreateDto;
-import org.fuseri.model.dto.exercise.QuestionUpdateDto;
 import org.fuseri.moduleexercise.exercise.Exercise;
 import org.fuseri.moduleexercise.question.Question;
-import org.fuseri.moduleexercise.question.QuestionService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 
 import java.util.HashSet;
-import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 @SpringBootTest
-public class AnswerFacadeTest {
+class AnswerFacadeTest {
 
-    private final Exercise exercise = new Exercise();
-    private final Question question = new Question("text",new HashSet<>(),exercise);
-
-
-    private final AnswerDto answerDto = new AnswerDto("name",true);
-
-    private final AnswerCreateDto answerCreateDto = new AnswerCreateDto("name",true,1L);
-    private final AnswerInQuestionCreateDto inQuestionCreateDto = new AnswerInQuestionCreateDto("name",true);
-    private final AnswersCreateDto answersCreateDto = new AnswersCreateDto(1L, List.of(inQuestionCreateDto));
-
-    private final QuestionUpdateDto questionUpdateDto = QuestionUpdateDto.builder().build();
-
-    private final Answer answer = new Answer("name",true,question);
-
-    @MockBean
-    AnswerRepository repository;
     @Autowired
-    AnswerFacade facade;
+    private AnswerFacade answerFacade;
 
     @MockBean
-    AnswerService service;
+    private AnswerService answerService;
 
     @MockBean
-    QuestionService questionService;
+    private AnswerMapper answerMapper;
 
-    @MockBean
-    AnswerMapper mapper;
-    @Test
-    void create() {
-        long id = 1;
-        when(service.find(id)).thenReturn(answer);
-        when(mapper.fromCreateDto(inQuestionCreateDto)).thenReturn(answer);
-        when(service.create(answer)).thenReturn(answer);
-        when(mapper.toDto(answer)).thenReturn(answerDto);
-        when(questionService.find(id)).thenReturn(question);
-        when(mapper.toDtoList(List.of(answer))).thenReturn(List.of(answerDto));
-
-        var actualDto = facade.createMultiple(answersCreateDto);
-
-        assertEquals(List.of(answerDto), actualDto);
-
-    }
+    private final AnswerDto answerDto = new AnswerDto("name", true);
+    private final AnswerCreateDto answerCreateDto = new AnswerCreateDto("name", true, 1L);
+    private final Question question = new Question("text", new HashSet<>(), new Exercise());
+    private final Answer answer = new Answer("name", true, question);
 
     @Test
     void update() {
-        Long id = 1L;
-        when(repository.existsById(id)).thenReturn(true);
-        when(service.find(id)).thenReturn(answer);
-        when(mapper.fromCreateDto(answerCreateDto)).thenReturn(answer);
-        when(service.update(answer)).thenReturn(answer);
-        when(mapper.toDto(answer)).thenReturn(answerDto);
-        AnswerDto actualDto = facade.update(id,answerCreateDto);
-
+        long id = 1L;
+        when(answerMapper.fromCreateDto(answerCreateDto)).thenReturn(answer);
+        when(answerService.update(id, answer)).thenReturn(answer);
+        when(answerMapper.toDto(answer)).thenReturn(answerDto);
 
+        AnswerDto actualDto = answerFacade.update(id, answerCreateDto);
         assertEquals(answerDto, actualDto);
     }
+
     @Test
-    void testDelete() {
-        Long id = 1L;
-        when(service.find(id)).thenReturn(answer);
-        when(questionService.find(answer.getId())).thenReturn(question);
-        facade.delete(id);
-        verify(service).delete(id);
+    void delete() {
+        long id = 1L;
+        answerFacade.delete(id);
+        verify(answerService).delete(id);
     }
 
 }
-- 
GitLab