From a1d3d0be8d813593b8b9a255c0bbc9746b707169 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Mon, 16 Dec 2024 14:20:41 +0100 Subject: [PATCH] Fix certain milestones not getting activated (#54) There was a missing bean definition that was responsible for marking certain milestones based on system events. Fixes #53 ## How to test 1. Log in as an author 2. Go to "Peer" tab within a project 3. Request a peer review 4. [If needed] Switch to another author and request another review 5. Perform a peer review 6. See that the peer reviewer completed milestone (first or second depending) is marked as completed Reviewed-on: https://gitea.dsv.su.se/DMC/scipro/pulls/54 Reviewed-by: Nico Athanassiadis <nico@dsv.su.se> Co-authored-by: Andreas Svanberg <andreass@dsv.su.se> Co-committed-by: Andreas Svanberg <andreass@dsv.su.se> --- .../main/java/se/su/dsv/scipro/CoreConfig.java | 18 ++++++++++++++++++ .../dsv/scipro/test/BeanDefinitionsTest.java | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 core/src/test/java/se/su/dsv/scipro/test/BeanDefinitionsTest.java diff --git a/core/src/main/java/se/su/dsv/scipro/CoreConfig.java b/core/src/main/java/se/su/dsv/scipro/CoreConfig.java index 2dc8f54929..43c4d7ed10 100644 --- a/core/src/main/java/se/su/dsv/scipro/CoreConfig.java +++ b/core/src/main/java/se/su/dsv/scipro/CoreConfig.java @@ -96,6 +96,7 @@ import se.su.dsv.scipro.match.TargetRepository; import se.su.dsv.scipro.match.TargetServiceImpl; import se.su.dsv.scipro.milestones.MilestoneActivityTemplateRepository; import se.su.dsv.scipro.milestones.service.ActivateCompletedMilestonesOnNewProjects; +import se.su.dsv.scipro.milestones.service.MilestoneActivator; import se.su.dsv.scipro.milestones.service.MilestoneActivityTemplateService; import se.su.dsv.scipro.milestones.service.impl.MilestoneActivityTemplateServiceImpl; import se.su.dsv.scipro.milestones.service.impl.MilestonePhaseTemplateServiceImpl; @@ -1129,4 +1130,21 @@ public class CoreConfig { public GroupFacadeImpl groupFacade() { return new GroupFacadeImpl(); } + + @Bean + public MilestoneActivator milestoneActivator( + EventBus eventBus, + MilestoneServiceImpl milestoneService, + MilestoneActivityTemplateService milestoneActivityTemplateService, + FinalSeminarService finalSeminarService, + NotificationController notificationController + ) { + return new MilestoneActivator( + milestoneActivityTemplateService, + milestoneService, + eventBus, + finalSeminarService, + notificationController + ); + } } diff --git a/core/src/test/java/se/su/dsv/scipro/test/BeanDefinitionsTest.java b/core/src/test/java/se/su/dsv/scipro/test/BeanDefinitionsTest.java new file mode 100644 index 0000000000..8dd6ff6130 --- /dev/null +++ b/core/src/test/java/se/su/dsv/scipro/test/BeanDefinitionsTest.java @@ -0,0 +1,18 @@ +package se.su.dsv.scipro.test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import jakarta.inject.Inject; +import org.junit.jupiter.api.Test; +import se.su.dsv.scipro.milestones.service.MilestoneActivator; + +public class BeanDefinitionsTest extends IntegrationTest { + + @Inject + MilestoneActivator milestoneActivator; + + @Test + public void milestone_activator() { + assertNotNull(milestoneActivator); + } +}