From d05ea47e726137a1ed1a5ebbd87015808d4ab4c7 Mon Sep 17 00:00:00 2001 From: Alexander Maier Date: Tue, 27 Jun 2023 19:44:30 +0200 Subject: [PATCH] created mapOffer test --- .../service/mapping/OfferMapperTest.java | 60 ++++++++++++++++++- .../validation/OfferValidatorTest.java | 2 +- .../service/writer/OfferWriterTest.java | 2 +- 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/test/java/de/rwu/easydrop/service/mapping/OfferMapperTest.java b/src/test/java/de/rwu/easydrop/service/mapping/OfferMapperTest.java index 02bfb7f..099d63c 100644 --- a/src/test/java/de/rwu/easydrop/service/mapping/OfferMapperTest.java +++ b/src/test/java/de/rwu/easydrop/service/mapping/OfferMapperTest.java @@ -1,5 +1,63 @@ package de.rwu.easydrop.service.mapping; -public class OfferMapperTest { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Modifier; + +import org.junit.jupiter.api.Test; + +import de.rwu.easydrop.api.dto.OfferDTO; +import de.rwu.easydrop.model.Offer; +import de.rwu.easydrop.model.Product; +import de.rwu.easydrop.model.Webshop; + +class OfferMapperTest { + + @Test + void testConstructorIsPrivate() + throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { + // Check for private constructor + Constructor constructor = OfferMapper.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + + // Make sure exception is thrown when instantiating + constructor.setAccessible(true); + assertThrows(InvocationTargetException.class, () -> { + constructor.newInstance(); + }); + } + + + @Test + void mapOfferToDTO() { + // Arrange + Product product = new Product(); + product.setProductId("12345"); + product.setDataOrigin(Webshop.AMAZON); + product.setAvailable(true); + product.setCurrentPrice(9.99); + product.setDeliveryPrice(2.50); + product.setMerchant("Seller1"); + + Offer offer = new Offer(); + offer.setOfferId("68735"); + offer.setLastUpdate("2020-07-07"); + offer.setSourceProduct(product); + offer.setTargetProduct(product); + + // Act + OfferDTO dto = OfferMapper.mapOfferToDTO(offer); + + // Assert + assertEquals("68735", dto.getOfferId()); + assertEquals("2020-07-07", dto.getLastUpdate()); + + } + + } diff --git a/src/test/java/de/rwu/easydrop/service/validation/OfferValidatorTest.java b/src/test/java/de/rwu/easydrop/service/validation/OfferValidatorTest.java index bb16c4b..5982b83 100644 --- a/src/test/java/de/rwu/easydrop/service/validation/OfferValidatorTest.java +++ b/src/test/java/de/rwu/easydrop/service/validation/OfferValidatorTest.java @@ -13,7 +13,7 @@ import de.rwu.easydrop.exception.InvalidOfferException; import de.rwu.easydrop.model.Offer; -public class OfferValidatorTest { +class OfferValidatorTest { @Test void validate_Offer_ValidProduct_NoExceptionThrown() { diff --git a/src/test/java/de/rwu/easydrop/service/writer/OfferWriterTest.java b/src/test/java/de/rwu/easydrop/service/writer/OfferWriterTest.java index 70bf52a..62ef077 100644 --- a/src/test/java/de/rwu/easydrop/service/writer/OfferWriterTest.java +++ b/src/test/java/de/rwu/easydrop/service/writer/OfferWriterTest.java @@ -16,7 +16,7 @@ import de.rwu.easydrop.model.Offer; import de.rwu.easydrop.model.Product; import de.rwu.easydrop.model.Webshop; -public class OfferWriterTest { +class OfferWriterTest { @Mock private OfferDTO offerDTO;