Fix certain milestones not getting activated ()

There was a missing bean definition that was responsible for marking certain milestones based on system events.

Fixes 

## 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: 
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>
This commit is contained in:
Andreas Svanberg 2024-12-16 14:20:41 +01:00 committed by Nico Athanassiadis
parent 5fbf4ec0c0
commit a1d3d0be8d
2 changed files with 36 additions and 0 deletions
core/src
main/java/se/su/dsv/scipro
test/java/se/su/dsv/scipro/test

@ -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
);
}
}

@ -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);
}
}