From 56dfc41ae18fe49cacef39ef86a11328510b6930 Mon Sep 17 00:00:00 2001
From: Elena-Oana Milchi <E.O.Milchi@student.tudelft.nl>
Date: Fri, 28 Mar 2025 17:35:44 +0100
Subject: [PATCH] Add test class for StudentGroupService

Signed-off-by: Elena-Oana Milchi <E.O.Milchi@student.tudelft.nl>
---
 .../service/StudentGroupServiceTest.java      | 75 +++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 src/test/java/nl/tudelft/queue/service/StudentGroupServiceTest.java

diff --git a/src/test/java/nl/tudelft/queue/service/StudentGroupServiceTest.java b/src/test/java/nl/tudelft/queue/service/StudentGroupServiceTest.java
new file mode 100644
index 000000000..b34eec526
--- /dev/null
+++ b/src/test/java/nl/tudelft/queue/service/StudentGroupServiceTest.java
@@ -0,0 +1,75 @@
+package nl.tudelft.queue.service;
+
+import nl.tudelft.labracore.api.dto.RoomDetailsDTO;
+import nl.tudelft.labracore.api.dto.StudentGroupDetailsDTO;
+import nl.tudelft.queue.model.SelectionRequest;
+import nl.tudelft.queue.model.embeddables.LabRequestConstraints;
+import nl.tudelft.queue.model.labs.CapacitySession;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import test.labracore.StudentGroupApiMocker;
+import test.test.TestQueueApplication;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import static java.time.LocalDateTime.now;
+
+@SpringBootTest(classes = TestQueueApplication.class)
+class StudentGroupServiceTest {
+
+    @Autowired
+    private StudentGroupApiMocker sgApiMocker;
+
+    @Autowired
+    private StudentGroupService studentGroupService;
+
+    private final RoomDetailsDTO room = new RoomDetailsDTO()
+            .id(3333L)
+            .capacity(3);
+
+    private CapacitySession capacitySession = CapacitySession.builder()
+            .modules(Set.of(3333L))
+            .constraints(LabRequestConstraints.builder().build())
+            .requests(new ArrayList<>())
+            .build();
+
+    private final StudentGroupDetailsDTO studentGroup1 = new StudentGroupDetailsDTO()
+            .id(3333L)
+            .memberUsernames(List.of("student1", "student2"));
+
+    private final StudentGroupDetailsDTO studentGroup2 = new StudentGroupDetailsDTO()
+            .id(3334L)
+            .memberUsernames(List.of("student3", "student4", "student5"));
+
+    @BeforeEach
+    void setup(){
+        SelectionRequest req1 = SelectionRequest.builder()
+                .createdAt(now())
+                .session(capacitySession)
+                .room(room.getId())
+                .studentGroup(studentGroup1.getId())
+                .build();
+        SelectionRequest req2 = SelectionRequest.builder()
+                .createdAt(now())
+                .session(capacitySession)
+                .room(room.getId())
+                .studentGroup(studentGroup2.getId())
+                .build();
+        capacitySession.setRequests(List.of(req1, req2));
+    }
+
+    @Test
+    void countSelectedStudentsInRoom() {
+
+
+
+    }
+
+    @Test
+    void countStudentsInStudentGroup() {
+    }
+}
\ No newline at end of file
-- 
GitLab