diff --git a/src/main/java/com/rte_france/antares/datamanager_back/service/impl/StudyServiceImpl.java b/src/main/java/com/rte_france/antares/datamanager_back/service/impl/StudyServiceImpl.java index 717c69e..e7dce91 100644 --- a/src/main/java/com/rte_france/antares/datamanager_back/service/impl/StudyServiceImpl.java +++ b/src/main/java/com/rte_france/antares/datamanager_back/service/impl/StudyServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.time.LocalDateTime; @@ -90,7 +91,11 @@ public void deleteStudyById(Integer id) { @Override public StudyDTO createStudy(StudyDTO studyDTO) { - String studyName = studyDTO.getName() + "-" + studyDTO.getHorizon() + "_REF"; + Assert.notNull(studyDTO.getName(), "Study name must be provided."); + Assert.notNull(studyDTO.getProject(), "Project name must be provided."); + Assert.notNull(studyDTO.getHorizon(), "Horizon year must be provided."); + + String studyName = studyDTO.getName() + "-" + (Integer.parseInt(studyDTO.getHorizon()) + 1) + "_REF"; studyDTO.setName(studyName); if (studyDTO.getProject() == null || studyDTO.getProject().isEmpty()) { throw new BadRequestException("Project name must be provided."); diff --git a/src/test/java/com/rte_france/antares/datamanager_back/service/StudyServiceImplTest.java b/src/test/java/com/rte_france/antares/datamanager_back/service/StudyServiceImplTest.java index 2029a92..821bafe 100644 --- a/src/test/java/com/rte_france/antares/datamanager_back/service/StudyServiceImplTest.java +++ b/src/test/java/com/rte_france/antares/datamanager_back/service/StudyServiceImplTest.java @@ -191,9 +191,9 @@ void createStudyUsesExistingProjectWhenProjectExists() { @Test void createStudyThrowsBadRequestWhenNoProjectNameProvided() { - StudyDTO studyDTO = StudyDTO.builder().name("Study 1").createdBy("User 1").build(); + StudyDTO studyDTO = StudyDTO.builder().name("Study 1").createdBy("User 1").horizon("2021").build(); - BadRequestException exception = assertThrows(BadRequestException.class, () -> { + IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { studyServiceImpl.createStudy(studyDTO); });