From 8efd1cf99b765ca67c955e621ac54b53e57f812c Mon Sep 17 00:00:00 2001
From: Henry Page <h.page@student.tudelft.nl>
Date: Fri, 24 Feb 2023 14:42:03 +0100
Subject: [PATCH] Augment test suite

---
 .../nl/tudelft/queue/service/RoleDTOService.java |  9 ++-------
 .../queue/service/LabStatusServiceTest.java      | 16 +++++++++++++++-
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/main/java/nl/tudelft/queue/service/RoleDTOService.java b/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
index 70f1ead5b..4108b3a4b 100644
--- a/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
+++ b/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
@@ -29,7 +29,6 @@ import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.labracore.lib.security.user.Person;
 import nl.tudelft.queue.cache.EditionRolesCacheManager;
 
-import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -41,9 +40,6 @@ public class RoleDTOService {
 	@Autowired
 	private RoleControllerApi rApi;
 
-	@Autowired
-	private ModelMapper mapper;
-
 	public List<String> names(List<PersonSummaryDTO> people) {
 		return people.stream().map(PersonSummaryDTO::getDisplayName).collect(Collectors.toList());
 	}
@@ -149,9 +145,8 @@ public class RoleDTOService {
 
 	public boolean isStaff(RoleDetailsDTO role) {
 		var type = role.getType();
-		return type.equals(RoleDetailsDTO.TypeEnum.TA) || type.equals(RoleDetailsDTO.TypeEnum.HEAD_TA)
-				|| type.equals(RoleDetailsDTO.TypeEnum.TEACHER)
-				|| type.equals(RoleDetailsDTO.TypeEnum.TEACHER_RO);
+		return Set.of(RoleDetailsDTO.TypeEnum.TA, RoleDetailsDTO.TypeEnum.HEAD_TA,
+				RoleDetailsDTO.TypeEnum.TEACHER, RoleDetailsDTO.TypeEnum.TEACHER_RO).contains(type);
 	}
 
 	public boolean isStaff(RolePersonDetailsDTO role) {
diff --git a/src/test/java/nl/tudelft/queue/service/LabStatusServiceTest.java b/src/test/java/nl/tudelft/queue/service/LabStatusServiceTest.java
index f84f60e9f..36b6204e0 100644
--- a/src/test/java/nl/tudelft/queue/service/LabStatusServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/LabStatusServiceTest.java
@@ -24,6 +24,7 @@ import java.util.Set;
 
 import javax.transaction.Transactional;
 
+import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
 import nl.tudelft.queue.model.LabRequest;
 import nl.tudelft.queue.model.labs.RegularLab;
 
@@ -51,6 +52,10 @@ class LabStatusServiceTest {
 
 	RegularLab oopNowRegularLab1;
 
+	RegularLab rlOopNowSharedLab;
+
+	EditionDetailsDTO oopNow;
+
 	LabRequest[] oopNowRegularLab1Requests;
 
 	@BeforeEach
@@ -59,6 +64,8 @@ class LabStatusServiceTest {
 
 		oopNowRegularLab1 = db.getOopNowRegularLab1();
 		oopNowRegularLab1Requests = db.getOopNowRegularLab1Requests();
+		rlOopNowSharedLab = db.getRlOopNowSharedLab();
+		oopNow = db.getOopNow();
 
 	}
 
@@ -67,7 +74,7 @@ class LabStatusServiceTest {
 
 		var result = sessionStatusService.getTimeSinceLastRequestTA(oopNowRegularLab1, new HashSet<>());
 		assertThat(result).hasSize(db.getOopNowHeadTAs().length + db.getOopNowTAs().length + 1); // 1 for teacher
-		assertThat(result.get("Student 211")).isEqualTo(Pair.of(-1L, "N/A"));
+		assertThat(result.get("Student 211")).isEqualTo(Pair.of(0L, "N/A"));
 		assertThat(result.get("Student 200").getKey()).isGreaterThan(0L).isLessThan(10L);
 		assertThat(result.get("Student 200").getValue()).isNotEqualTo("N/A");
 	}
@@ -79,4 +86,11 @@ class LabStatusServiceTest {
 		assertThat(result).isEmpty();
 	}
 
+	@Test
+	void filterYieldsOnlyRespectiveCourseStaff() throws Exception {
+		var result = sessionStatusService.getTimeSinceLastRequestTA(rlOopNowSharedLab,
+				Set.of(oopNow.getId()));
+		assertThat(result).hasSize(db.getOopNowHeadTAs().length + db.getOopNowTAs().length + 1);
+	}
+
 }
-- 
GitLab