From 10e660588c2b009776068e67b3b3cd8ede48c77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <xpokorn8@fi.muni.cz> Date: Sun, 9 Apr 2023 18:10:54 +0200 Subject: [PATCH] created CertificateMapperTests --- .../CertificateMapperTests.java | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java new file mode 100644 index 00000000..bc816f69 --- /dev/null +++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java @@ -0,0 +1,132 @@ +package org.fuseri.modulecertificate; + +import org.fuseri.model.dto.certificate.CertificateCreateDto; +import org.fuseri.model.dto.certificate.CertificateSimpleDto; +import org.fuseri.model.dto.course.CourseDto; +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.CertificateMapper; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; + +import java.time.Instant; +import java.util.Collections; +import java.util.List; + +@SpringBootTest +final class CertificateMapperTests { + + private final UserDto USER = new UserDto("novakovat", + "novakova@gamil.com", "Tereza", "Nováková", new AddressDto()); + private final CourseDto COURSE = new CourseDto("AJ1", 10, + LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1); + private final Instant instant = Instant.now(); + private final String fileName = "fileName"; + private final String file = "file"; + private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(), + instant, COURSE.getId(), file, fileName); + private final Certificate certificate = new Certificate(USER.getId(), + instant, COURSE.getId(), file, fileName); + private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE); + @Autowired + private CertificateMapper certificateMapper; + + @Test + void mapNullToSimpleDto() { + var createdSimpleDto = certificateMapper.mapToSimpleDto(null); + + Assertions.assertNull(createdSimpleDto); + } + + @Test + void mapToSimpleDto() { + var createdSimpleDto = certificateMapper.mapToSimpleDto(certificate); + + Assertions.assertEquals(createdSimpleDto.getUserId(), certificateDto.getUserId()); + Assertions.assertEquals(createdSimpleDto.getGeneratedAt(), certificateDto.getGeneratedAt()); + Assertions.assertEquals(createdSimpleDto.getCourseId(), certificateDto.getCourseId()); + Assertions.assertEquals(createdSimpleDto.getCertificateFile(), certificateDto.getCertificateFile()); + Assertions.assertEquals(createdSimpleDto.getCertificateFileName(), certificateDto.getCertificateFileName()); + } + + @Test + void mapNullToCertificate() { + var createdCertificate = certificateMapper.mapToCertificate(null); + + Assertions.assertNull(createdCertificate); + } + + @Test + void mapToCertificate() { + var createdCertificate = certificateMapper.mapToCertificate(certificateCreateDto); + + Assertions.assertEquals(createdCertificate.getUserId(), certificateDto.getUserId()); + Assertions.assertTrue(createdCertificate.getGeneratedAt().isBefore(Instant.now())); + Assertions.assertEquals(createdCertificate.getCourseId(), certificateDto.getCourseId()); + Assertions.assertNull(createdCertificate.getCertificateFile()); + Assertions.assertNull(createdCertificate.getCertificateFileName()); + } + + @Test + void mapNullToList() { + var certificateSimpleDtos = certificateMapper.mapToList(null); + + Assertions.assertNull(certificateSimpleDtos); + } + + @Test + void mapToEmptyList() { + var certificateSimpleDtos = certificateMapper.mapToList(Collections.emptyList()); + + Assertions.assertEquals(certificateSimpleDtos.size(), 0); + } + + @Test + void mapToList() { + var certificateSimpleDtos = certificateMapper.mapToList(Collections.singletonList(certificate)); + + Assertions.assertEquals(certificateSimpleDtos.size(), 1); + Assertions.assertEquals(certificateSimpleDtos.get(0).getUserId(), certificateDto.getUserId()); + Assertions.assertEquals(certificateSimpleDtos.get(0).getGeneratedAt(), certificateDto.getGeneratedAt()); + Assertions.assertEquals(certificateSimpleDtos.get(0).getCourseId(), certificateDto.getCourseId()); + Assertions.assertEquals(certificateSimpleDtos.get(0).getCertificateFile(), certificateDto.getCertificateFile()); + Assertions.assertEquals(certificateSimpleDtos.get(0).getCertificateFileName(), certificateDto.getCertificateFileName()); + + + } + + @Test + void mapToEmptyPageDto() { + Page<CertificateSimpleDto> pageDto = certificateMapper.mapToPageDto(Page.empty()); + + Assertions.assertEquals(1, pageDto.getTotalPages()); + } + + @Test + void mapToPageDto() { + List<Certificate> certificates = List.of(certificate); + Page<Certificate> page = new PageImpl<>(certificates, PageRequest.of(0, 1), certificates.size()); + Page<CertificateSimpleDto> pageDto = certificateMapper.mapToPageDto(page); + + Assertions.assertEquals(page.getTotalPages(), pageDto.getTotalPages()); + Assertions.assertEquals(page.getNumber(), pageDto.getNumber()); + Assertions.assertEquals(page.getNumberOfElements(), pageDto.getNumberOfElements()); + Assertions.assertEquals(page.getSize(), pageDto.getSize()); + Assertions.assertEquals(page.getTotalElements(), pageDto.getTotalElements()); + + Assertions.assertEquals(certificate.getId(), pageDto.getContent().get(0).getId()); + Assertions.assertEquals(certificate.getGeneratedAt(), pageDto.getContent().get(0).getGeneratedAt()); + Assertions.assertEquals(certificate.getUserId(), pageDto.getContent().get(0).getUserId()); + Assertions.assertEquals(certificate.getCourseId(), pageDto.getContent().get(0).getCourseId()); + Assertions.assertEquals(certificate.getCertificateFile(), pageDto.getContent().get(0).getCertificateFile()); + Assertions.assertEquals(certificate.getCertificateFileName(), pageDto.getContent().get(0).getCertificateFileName()); + } + +} -- GitLab