diff --git a/view/src/main/java/se/su/dsv/scipro/grading/TemplatePanel.java b/view/src/main/java/se/su/dsv/scipro/grading/TemplatePanel.java index 394d086b53..3600223398 100644 --- a/view/src/main/java/se/su/dsv/scipro/grading/TemplatePanel.java +++ b/view/src/main/java/se/su/dsv/scipro/grading/TemplatePanel.java @@ -130,11 +130,13 @@ public class TemplatePanel extends Panel { list.get(i).setUpperLimit(gradeLimits[i - 1].getLowerLimit() - 1); } - list - .get(0) - .setUpperLimit( - grt.getCriteria().stream().map(GradingCriterionTemplate::getMaxPoints).reduce(0, Integer::sum) - ); + if (!list.isEmpty()) { + list + .get(0) + .setUpperLimit( + grt.getCriteria().stream().map(GradingCriterionTemplate::getMaxPoints).reduce(0, Integer::sum) + ); + } return list; } diff --git a/view/src/test/java/se/su/dsv/scipro/SciProTest.java b/view/src/test/java/se/su/dsv/scipro/SciProTest.java index 4c3fdfd589..b1b879b12b 100755 --- a/view/src/test/java/se/su/dsv/scipro/SciProTest.java +++ b/view/src/test/java/se/su/dsv/scipro/SciProTest.java @@ -52,11 +52,7 @@ import se.su.dsv.scipro.forum.ProjectForumService; import se.su.dsv.scipro.gdpr.Reporter; import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettings; import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettingsService; -import se.su.dsv.scipro.grading.ExaminerTimelineService; -import se.su.dsv.scipro.grading.GradingService; -import se.su.dsv.scipro.grading.NationalSubjectCategoryService; -import se.su.dsv.scipro.grading.PublicationMetadata; -import se.su.dsv.scipro.grading.PublicationMetadataService; +import se.su.dsv.scipro.grading.*; import se.su.dsv.scipro.group.GroupFacade; import se.su.dsv.scipro.group.GroupService; import se.su.dsv.scipro.mail.MailEventService; @@ -306,6 +302,9 @@ public abstract class SciProTest { @Mock protected GradingReportService gradingReportService; + @Mock + protected GradingReportTemplateService gradingReportTemplateService; + @Mock protected OppositionReportService oppositionReportService; diff --git a/view/src/test/java/se/su/dsv/scipro/grading/TemplatePanelTest.java b/view/src/test/java/se/su/dsv/scipro/grading/TemplatePanelTest.java index 0c83b129bb..b9c5b2ab46 100644 --- a/view/src/test/java/se/su/dsv/scipro/grading/TemplatePanelTest.java +++ b/view/src/test/java/se/su/dsv/scipro/grading/TemplatePanelTest.java @@ -8,8 +8,10 @@ import java.time.LocalDate; import java.time.Month; import org.apache.wicket.model.Model; import org.junit.jupiter.api.Test; +import org.mockito.Mockito; import se.su.dsv.scipro.SciProTest; import se.su.dsv.scipro.project.Project; +import se.su.dsv.scipro.report.GradingReportTemplate; import se.su.dsv.scipro.system.DegreeType; import se.su.dsv.scipro.system.ProjectType; @@ -78,6 +80,11 @@ public class TemplatePanelTest extends SciProTest { .build(); project.setStartDate(LocalDate.of(2017, Month.MAY, 29)); project.setCredits(credits); + + Mockito.when(gradingReportTemplateService.getCurrentTemplate(project.getProjectType())).thenReturn( + new GradingReportTemplate(projectType, LocalDate.of(2024, Month.JANUARY, 1)) + ); + panel = tester.startComponentInPage(new TemplatePanel("id", Model.of(project))); } }