From c549fe4fbef413c7f0a25069ceed50808d193444 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <xpokorn8@fi.muni.cz>
Date: Sun, 16 Apr 2023 00:36:07 +0200
Subject: [PATCH] fixed mocking facade in CertificateControllerTests

---
 .../CertificateControllerTests.java           | 31 +++++++++----------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
index 105d07a0..6a9a5b8d 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
@@ -8,7 +8,7 @@ import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
-import org.fuseri.modulecertificate.service.CertificateController;
+import org.fuseri.modulecertificate.service.CertificateFacade;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.Mockito;
@@ -19,10 +19,8 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
-import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.http.ResponseEntity;
 
 import java.time.Instant;
 import java.util.List;
@@ -42,10 +40,12 @@ class CertificateControllerTests {
     private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE);
     private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(),
             Instant.now(), COURSE.getId(), "", "");
+
     @Autowired
     private MockMvc mockMvc;
+
     @MockBean
-    private CertificateController certificateController;
+    private CertificateFacade certificateFacade;
 
     private static String asJsonString(final Object obj) {
         try {
@@ -57,8 +57,8 @@ class CertificateControllerTests {
 
     @Test
     void generateCertificate() throws Exception {
-        Mockito.when(certificateController.generate(ArgumentMatchers.any(CertificateCreateDto.class)))
-                .thenReturn(ResponseEntity.status(HttpStatus.CREATED).body(certificateDto));
+        Mockito.when(certificateFacade.generate(ArgumentMatchers.any(CertificateCreateDto.class)))
+                .thenReturn(certificateDto);
 
         mockMvc.perform(post("/certificates")
                         .content(asJsonString(certificateCreateDto))
@@ -98,7 +98,7 @@ class CertificateControllerTests {
 
     @Test
     void findCertificate() throws Exception {
-        Mockito.when(certificateController.find(ArgumentMatchers.anyLong())).thenReturn(ResponseEntity.ok(certificateDto));
+        Mockito.when(certificateFacade.findById(ArgumentMatchers.anyLong())).thenReturn(certificateDto);
 
         mockMvc.perform(get("/certificates/" + certificateDto.getId()))
                 .andExpect(status().isOk())
@@ -113,7 +113,7 @@ class CertificateControllerTests {
 
     @Test
     void findCertificatesForUser() throws Exception {
-        Mockito.when(certificateController.findForUser(ArgumentMatchers.anyLong())).thenReturn(ResponseEntity.ok(List.of(certificateDto)));
+        Mockito.when(certificateFacade.findByUserId(ArgumentMatchers.anyLong())).thenReturn(List.of(certificateDto));
 
         mockMvc.perform(get("/certificates/findForUser").param("userId", "0"))
                 .andExpect(status().isOk())
@@ -129,9 +129,9 @@ class CertificateControllerTests {
 
     @Test
     void findCertificateIdForUserAndCourse() throws Exception {
-        Mockito.when(certificateController.findForUserAndCourse(ArgumentMatchers.anyLong(),
+        Mockito.when(certificateFacade.findByUserIdAndCourseId(ArgumentMatchers.anyLong(),
                         ArgumentMatchers.anyLong()))
-                .thenReturn(ResponseEntity.ok(List.of(certificateDto)));
+                .thenReturn(List.of(certificateDto));
 
         mockMvc.perform(get("/certificates/findForUserAndCourse")
                         .param("userId", "0")
@@ -163,8 +163,7 @@ class CertificateControllerTests {
 
     @Test
     void deleteCertificate() throws Exception {
-        Mockito.when(certificateController.delete(ArgumentMatchers.anyLong())).
-                thenReturn(ResponseEntity.noContent().build());
+        Mockito.doNothing().when(certificateFacade).deleteCertificate(ArgumentMatchers.anyLong());
 
         mockMvc.perform(delete("/certificates/" + 0L))
                 .andExpect(status().is2xxSuccessful());
@@ -178,8 +177,8 @@ class CertificateControllerTests {
 
     @Test
     void findAllCertificates() throws Exception {
-        Mockito.when(certificateController.findAllCertificates(ArgumentMatchers.any(Pageable.class)))
-                .thenReturn(ResponseEntity.ok(Page.empty(PageRequest.of(0, 1))));
+        Mockito.when(certificateFacade.findAll(ArgumentMatchers.any(Pageable.class)))
+                .thenReturn(Page.empty(PageRequest.of(0, 1)));
 
         mockMvc.perform(get("/certificates")
                         .param("page", "0")
@@ -191,8 +190,8 @@ class CertificateControllerTests {
 
     @Test
     void findAllCertificatesWithoutParam() throws Exception {
-        Mockito.when(certificateController.findAllCertificates(ArgumentMatchers.any(Pageable.class)))
-                .thenReturn(ResponseEntity.ok(Page.empty(PageRequest.of(0, 1))));
+        Mockito.when(certificateFacade.findAll(ArgumentMatchers.any(Pageable.class)))
+                .thenReturn(Page.empty(PageRequest.of(0, 1)));
 
         mockMvc.perform(get("/certificates"))
                 .andExpect(status().isOk())
-- 
GitLab