From 463af01dc6d4dc876f6dfd834a5ed4292eb57057 Mon Sep 17 00:00:00 2001 From: Filip Izydorczyk Date: Tue, 5 Jan 2021 11:44:54 +0100 Subject: [PATCH] Added tests --- .../services/AssignmentService.java | 13 +++++-- .../plannaplan/services/CommisionService.java | 33 +++++++++-------- .../plannaplan/entities/AppConfigTest.java | 37 ++++++++++++++++--- .../services/ConfiguratorServiceTest.java | 29 ++++++++++++++- 4 files changed, 85 insertions(+), 27 deletions(-) diff --git a/buisnesslogic/src/main/java/com/plannaplan/services/AssignmentService.java b/buisnesslogic/src/main/java/com/plannaplan/services/AssignmentService.java index cb449d8..e5a8ccf 100755 --- a/buisnesslogic/src/main/java/com/plannaplan/services/AssignmentService.java +++ b/buisnesslogic/src/main/java/com/plannaplan/services/AssignmentService.java @@ -46,15 +46,20 @@ public class AssignmentService { return this.repo.save(assignment); } - /* - * getCommisionAssignments Return id of the commision + /** + * gets list of assignments of given commision + * + * @param com Commision to get assinments from + * @return list of assignments */ public List getCommisionAssignments(Commision com) { return this.repo.getByCommision(com.getId()); } - /* - * getAssignmentsAmmount Return count assignments ammount + /** + * get ammount of all assignments (not only for selected commision) + * + * @return long - ammount of assingments */ public long getAssignmentsAmmount() { return this.repo.count(); diff --git a/buisnesslogic/src/main/java/com/plannaplan/services/CommisionService.java b/buisnesslogic/src/main/java/com/plannaplan/services/CommisionService.java index 63d4c4f..109dfd4 100755 --- a/buisnesslogic/src/main/java/com/plannaplan/services/CommisionService.java +++ b/buisnesslogic/src/main/java/com/plannaplan/services/CommisionService.java @@ -12,7 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** - * Service of CommisionService which can save commision, get user's commisions, get newest user's commision, get ammount of commisions. + * Service of CommisionService which can save commision, get user's commisions, + * get newest user's commision, get ammount of commisions. */ @Service @@ -25,12 +26,6 @@ public class CommisionService { public CommisionService() { } - /* - * save - * - * @param commision which assignment should be save in service - * @return commision - */ public Commision save(Commision commision) { Optional lastCommision = this.getNewestCommision(commision.getCommisionOwner()); if (lastCommision.isPresent()) { @@ -45,25 +40,31 @@ public class CommisionService { } - /* - * getUsersCommisions - * Return given users id + /** + * gets user commisions + * + * @param user owner of commisions + * @return list of user commisions */ public List getUsersCommisions(User user) { return this.repo.getUsers(user.getId()); } - /* - * getNewestCommision - * Return the newest commision of the user + /** + * get newest commision ov given user + * + * @param user owener of commision we attemp to get + * @return optional if commition was found */ public Optional getNewestCommision(User user) { return this.repo.getNewestCommision(user.getId()).stream().findFirst(); } - /* - * getCommisionsAmmount - * Return ammount of commisions + /** + * get ammpounts of commisions + * + * @return long - ammounts of commisions (all even from history, not only + * cutrrent one) */ public long getCommisionsAmmount() { return this.repo.count(); diff --git a/buisnesslogic/src/test/java/com/plannaplan/entities/AppConfigTest.java b/buisnesslogic/src/test/java/com/plannaplan/entities/AppConfigTest.java index f03fc6e..2d8f64f 100755 --- a/buisnesslogic/src/test/java/com/plannaplan/entities/AppConfigTest.java +++ b/buisnesslogic/src/test/java/com/plannaplan/entities/AppConfigTest.java @@ -1,6 +1,5 @@ package com.plannaplan.entities; -import static org.junit.Assert.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import java.sql.Date; @@ -141,22 +140,50 @@ public class AppConfigTest { @Test public void shouldReturnFirstStartDatesCorns() { - assertFalse(false); + final Date firtstTourStart = Date.valueOf("2020-11-12"); + final Date firtstTourEnd = Date.valueOf("2020-11-13"); + final Date secondTourStart = Date.valueOf("2020-11-14"); + final Date secondTourEnd = Date.valueOf("2020-11-15"); + + final AppConfig config = new AppConfig(new TourData(firtstTourStart, firtstTourEnd), + new TourData(secondTourStart, secondTourEnd)); + assertTrue(config.getFirstTourStartCron().getExpression().equals("0 0 0 12 11 ?")); } @Test public void shouldReturnSecondStartDatesCorns() { - assertFalse(false); + final Date firtstTourStart = Date.valueOf("2020-11-12"); + final Date firtstTourEnd = Date.valueOf("2020-11-13"); + final Date secondTourStart = Date.valueOf("2020-11-14"); + final Date secondTourEnd = Date.valueOf("2020-11-15"); + + final AppConfig config = new AppConfig(new TourData(firtstTourStart, firtstTourEnd), + new TourData(secondTourStart, secondTourEnd)); + assertTrue(config.getSecondTourStartCron().getExpression().equals("0 0 0 14 11 ?")); } @Test public void shouldReturnFirstEndDatesCorns() { - assertFalse(false); + final Date firtstTourStart = Date.valueOf("2020-11-12"); + final Date firtstTourEnd = Date.valueOf("2020-11-13"); + final Date secondTourStart = Date.valueOf("2020-11-14"); + final Date secondTourEnd = Date.valueOf("2020-11-15"); + + final AppConfig config = new AppConfig(new TourData(firtstTourStart, firtstTourEnd), + new TourData(secondTourStart, secondTourEnd)); + assertTrue(config.getFirstTourEndCron().getExpression().equals("0 0 0 13 11 ?")); } @Test public void shouldReturnSecondEndDatesCorns() { - assertFalse(false); + final Date firtstTourStart = Date.valueOf("2020-11-12"); + final Date firtstTourEnd = Date.valueOf("2020-11-13"); + final Date secondTourStart = Date.valueOf("2020-11-14"); + final Date secondTourEnd = Date.valueOf("2020-11-15"); + + final AppConfig config = new AppConfig(new TourData(firtstTourStart, firtstTourEnd), + new TourData(secondTourStart, secondTourEnd)); + assertTrue(config.getSecondTourEndCron().getExpression().equals("0 0 0 15 11 ?")); } } diff --git a/buisnesslogic/src/test/java/com/plannaplan/services/ConfiguratorServiceTest.java b/buisnesslogic/src/test/java/com/plannaplan/services/ConfiguratorServiceTest.java index 1cd01d4..4e299d1 100755 --- a/buisnesslogic/src/test/java/com/plannaplan/services/ConfiguratorServiceTest.java +++ b/buisnesslogic/src/test/java/com/plannaplan/services/ConfiguratorServiceTest.java @@ -10,8 +10,11 @@ import org.springframework.test.context.junit4.SpringRunner; import static org.junit.Assert.assertTrue; import java.io.InputStream; +import java.lang.reflect.Field; import java.sql.Date; +import java.util.Map; import java.util.Optional; +import java.util.concurrent.ScheduledFuture; import com.plannaplan.TestApplication; import com.plannaplan.entities.AppConfig; @@ -46,6 +49,9 @@ public class ConfiguratorServiceTest { @Autowired private AppConfigRepository appConfigRepo; + @Autowired + private EventService eventService; + @Test public void shouldImportDataToDataBase() { final InputStream inputStream = getClass().getClassLoader() @@ -102,8 +108,27 @@ public class ConfiguratorServiceTest { } @Test - public void shlouldScheduleTaskWhenSetTourDate() { - assertTrue(false); + @DirtiesContext(methodMode = MethodMode.BEFORE_METHOD) + public void shlouldScheduleTaskWhenSetTourDate() + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + final InputStream inputStream = getClass().getClassLoader() + .getResourceAsStream(TestApplication.TEST_CONFIG_FILE); + final ConfigData data = new ConfigData( + new TourData(new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis() + 86400000)), + new TourData(new Date(System.currentTimeMillis() + 86400000), + new Date(System.currentTimeMillis() + 2 * 86400000)), + inputStream); + this.configuratorService.config(data); + + final Field reader = EventService.class.getDeclaredField("jobsMap"); + reader.setAccessible(true); + + @SuppressWarnings("unchecked") + final Map> map = (Map>) reader.get(this.eventService); + + assertTrue(map.size() == 2); + assertTrue(map.get(EventService.FIRST_TOUR_SCHEDULE).isDone() == false); + assertTrue(map.get(EventService.SECOND_TOUR_SCHEDULE).isDone() == false); } }