3204 Move tests to the new calendar year based methods

This commit is contained in:
Andreas Svanberg 2024-01-12 15:25:41 +01:00
parent 0d1650f3f3
commit 01daec2c0c

@ -3,6 +3,7 @@ package se.su.dsv.scipro.reviewing;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.reviewing.ReviewerCapacityService.Target;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.Language;
@ -14,13 +15,16 @@ import se.su.dsv.scipro.test.IntegrationTest;
import javax.inject.Inject;
import java.time.LocalDate;
import java.time.Month;
import java.time.Year;
import java.util.EnumSet;
import static org.junit.jupiter.api.Assertions.*;
class ReviewerCapacityServiceImplTest extends IntegrationTest {
private static DateRange VT24 = new DateRange(LocalDate.of(2024, Month.JANUARY, 1), LocalDate.of(2024, Month.JUNE, 30));
private static Year YEAR_2024 = Year.of(2024);
private static LocalDate SOME_DATE_IN_SPRING = LocalDate.of(YEAR_2024.getValue(), Month.APRIL, 1);
private static LocalDate SOME_DATE_IN_AUTUMN = LocalDate.of(YEAR_2024.getValue(), Month.OCTOBER, 1);
@Inject
ReviewerCapacityServiceImpl service;
@ -70,7 +74,7 @@ class ReviewerCapacityServiceImplTest extends IntegrationTest {
@Test
void reviewer_is_unavailable_without_target() {
// when
ReviewerCandidates candidates = service.getCandidatesToReview(project, VT24.from());
ReviewerCandidates candidates = service.getCandidatesToReview(project, SOME_DATE_IN_SPRING);
// then
assertTrue(candidates.unavailable().stream().anyMatch(c -> c.reviewer().equals(reviewer)));
@ -81,10 +85,10 @@ class ReviewerCapacityServiceImplTest extends IntegrationTest {
// given
reviewer.setLanguages(EnumSet.noneOf(Language.class));
reviewer.addResearchArea(researchArea);
service.assignTarget(reviewer, VT24, 3);
service.assignTarget(reviewer, YEAR_2024, autumnTarget(3));
// when
ReviewerCandidates candidates = service.getCandidatesToReview(project, VT24.from());
ReviewerCandidates candidates = service.getCandidatesToReview(project, SOME_DATE_IN_AUTUMN);
// then
assertTrue(candidates.mismatched().stream().anyMatch(c -> c.reviewer().equals(reviewer)));
@ -95,10 +99,10 @@ class ReviewerCapacityServiceImplTest extends IntegrationTest {
// given
reviewer.getResearchAreas().clear();
reviewer.setLanguages(EnumSet.allOf(Language.class));
service.assignTarget(reviewer, VT24, 3);
service.assignTarget(reviewer, YEAR_2024, springTarget(1));
// when
ReviewerCandidates candidates = service.getCandidatesToReview(project, VT24.from());
ReviewerCandidates candidates = service.getCandidatesToReview(project, SOME_DATE_IN_SPRING);
// then
assertTrue(candidates.mismatched().stream().anyMatch(c -> c.reviewer().equals(reviewer)));
@ -109,10 +113,10 @@ class ReviewerCapacityServiceImplTest extends IntegrationTest {
// given
reviewer.setLanguages(EnumSet.allOf(Language.class));
reviewer.addResearchArea(researchArea);
service.assignTarget(reviewer, VT24, 3);
service.assignTarget(reviewer, YEAR_2024, springTarget(2));
// when
ReviewerCandidates candidates = service.getCandidatesToReview(project, VT24.from());
ReviewerCandidates candidates = service.getCandidatesToReview(project, SOME_DATE_IN_SPRING);
// then
assertTrue(candidates.good().stream().anyMatch(c -> c.reviewer().equals(reviewer)));
@ -125,11 +129,19 @@ class ReviewerCapacityServiceImplTest extends IntegrationTest {
reviewer.addResearchArea(researchArea);
// when
service.assignTarget(reviewer, VT24, 3);
service.assignTarget(reviewer, VT24, 2);
service.assignTarget(reviewer, YEAR_2024, springTarget(3));
service.assignTarget(reviewer, YEAR_2024, springTarget(2));
// then
int candidates = service.getTarget(reviewer, VT24);
int candidates = service.getTarget(reviewer, YEAR_2024).spring();
assertEquals(2, candidates);
}
private static Target springTarget(final int target) {
return new Target(target, 0, "");
}
private static Target autumnTarget(final int target) {
return new Target(0, target, "");
}
}