diff --git a/src/main/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTO.java b/src/main/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..b9883c740e03ff27f0c4a7961fe8703fc00c8f91 --- /dev/null +++ b/src/main/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTO.java @@ -0,0 +1,26 @@ +package idatt2106.systemutvikling.sparesti.dto; + +import jakarta.validation.constraints.NotNull; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + * Data transfer object for Milestone + * Used to transfer milestone data between layers + */ +@Getter +@Setter +public class MilestoneDTO { + @NotNull +private Long milestoneId; +private String username; +private String milestoneTitle; +private String milestoneDescription; +private Long milestoneGoalSum; +private Long milestoneCurrentSum; +private String milestoneImage; +private LocalDateTime deadlineDate; +private LocalDateTime startDate; + +} diff --git a/src/test/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTOTest.java b/src/test/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..b687184b5f059cafcc19c892f2a3842853a94298 --- /dev/null +++ b/src/test/java/idatt2106/systemutvikling/sparesti/dto/MilestoneDTOTest.java @@ -0,0 +1,52 @@ +package idatt2106.systemutvikling.sparesti.dto; + + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +import java.time.LocalDateTime; + +public class MilestoneDTOTest { + + private MilestoneDTO milestoneDTO; + private final Long milestoneId = 1L; + private final String username = "testUser"; + private final String milestoneTitle = "Test Milestone"; + private final String milestoneDescription = "Test Milestone Description"; + private final Long milestoneGoalSum = 1000L; + private final Long milestoneCurrentSum = 500L; + private final String milestoneImage = "test_image.jpg"; + private final LocalDateTime deadlineDate = LocalDateTime.of(2024, 4, 20, 0, 0); + private final LocalDateTime startDate = LocalDateTime.of(2024, 4, 1, 0, 0); + + @BeforeEach + public void setUp() { + milestoneDTO = new MilestoneDTO(); + milestoneDTO.setMilestoneId(milestoneId); + milestoneDTO.setUsername(username); + milestoneDTO.setMilestoneTitle(milestoneTitle); + milestoneDTO.setMilestoneDescription(milestoneDescription); + milestoneDTO.setMilestoneGoalSum(milestoneGoalSum); + milestoneDTO.setMilestoneCurrentSum(milestoneCurrentSum); + milestoneDTO.setMilestoneImage(milestoneImage); + milestoneDTO.setDeadlineDate(deadlineDate); + milestoneDTO.setStartDate(startDate); + } + + @Test + @DisplayName("MilestoneDTO is correctly instantiated") + public void testMilestoneDTOFields() { + assertNotNull(milestoneDTO); + assertEquals(milestoneId, milestoneDTO.getMilestoneId()); + assertEquals(username, milestoneDTO.getUsername()); + assertEquals(milestoneTitle, milestoneDTO.getMilestoneTitle()); + assertEquals(milestoneDescription, milestoneDTO.getMilestoneDescription()); + assertEquals(milestoneGoalSum, milestoneDTO.getMilestoneGoalSum()); + assertEquals(milestoneCurrentSum, milestoneDTO.getMilestoneCurrentSum()); + assertEquals(milestoneImage, milestoneDTO.getMilestoneImage()); + assertEquals(deadlineDate, milestoneDTO.getDeadlineDate()); + assertEquals(startDate, milestoneDTO.getStartDate()); + } +}