Skip to content
Snippets Groups Projects
Verified Commit fda86a36 authored by Ruben Backx's avatar Ruben Backx :coffee:
Browse files

Test demonstration

parent 68d646cf
No related tags found
No related merge requests found
......@@ -25,6 +25,7 @@ import java.util.stream.Collectors;
import javax.transaction.Transactional;
import lombok.Setter;
import nl.tudelft.labracore.api.AssignmentControllerApi;
import nl.tudelft.labracore.api.ModuleControllerApi;
import nl.tudelft.labracore.api.QuestionControllerApi;
......@@ -90,18 +91,12 @@ public class RequestService {
@Autowired
private AssignmentControllerApi asApi;
@Autowired
private RoleDTOService roleDTOService;
@Autowired
private PersonCacheManager pCache;
@Autowired
private RoomCacheManager rCache;
@Autowired
private SessionCacheManager sCache;
@Autowired
private ModuleControllerApi mApi;
......
package nl.tudelft.queue.repository;
import nl.tudelft.queue.model.LabRequest;
import nl.tudelft.queue.model.embeddables.AllowedRequest;
import nl.tudelft.queue.model.enums.CommunicationMethod;
import nl.tudelft.queue.model.enums.Language;
import nl.tudelft.queue.model.enums.RequestType;
import nl.tudelft.queue.model.labs.Lab;
import nl.tudelft.queue.model.labs.RegularLab;
import nl.tudelft.queue.model.labs.SlottedLab;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import test.dev.DevQueueApplication;
import test.nodb.NoDbTestQueueApplication;
import test.test.TestQueueApplication;
import javax.transaction.Transactional;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
@Transactional
@SpringBootTest(classes = NoDbTestQueueApplication.class)
public class LabRequestRepositoryTest {
@Autowired
private LabRepository labRepository;
@Autowired
private LabRequestRepository labRequestRepository;
private Lab lab;
@BeforeEach
void setUp() {
lab = labRepository.save(RegularLab.builder()
.session(1L)
.modules(Set.of(1L))
.communicationMethod(CommunicationMethod.TA_VISIT_STUDENT)
.allowedRequests(Set.of(AllowedRequest.of(1L, RequestType.QUESTION)))
.build());
}
@ParameterizedTest
@CsvSource({"ENGLISH_ONLY", "DUTCH_ONLY", "ANY"})
void anyLanguagePreferenceMatchesAllLabRequestLanguages(Language lrLanguage) {
LabRequest request = LabRequest.builder()
.requestType(RequestType.QUESTION)
.language(lrLanguage)
.requester(1L)
.studentGroup(1L)
.assignment(1L)
.session(lab)
.build();
labRequestRepository.save(request);
assertThat(labRequestRepository.findAll(labRequestRepository.matchesLanguagePreference(Language.ANY)))
.containsExactly(request);
}
}
package nl.tudelft.queue.service;
import nl.tudelft.queue.model.LabRequest;
import nl.tudelft.queue.model.Request;
import nl.tudelft.queue.model.SelectionRequest;
import nl.tudelft.queue.model.embeddables.RequestEventInfo;
import nl.tudelft.queue.model.enums.RequestStatus;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.security.access.AccessDeniedException;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doCallRealMethod;
import static org.mockito.Mockito.when;
public class RequestServiceUnitTest {
private final RequestService requestService = new RequestService();
@Test
void rejectSelectedRequestThrowsAccessDeniedException() {
SelectionRequest request = SelectionRequest.builder().eventInfo(RequestEventInfo.builder().status(RequestStatus.SELECTED).build()).build();
assertThrows(AccessDeniedException.class, () -> requestService.rejectSelectionRequest(request, null, null, null));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment