use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class DatabaseUtilService method addCourseExamExerciseGroupWithOneFileUploadExercise.
public FileUploadExercise addCourseExamExerciseGroupWithOneFileUploadExercise() {
ExerciseGroup exerciseGroup = addExerciseGroupWithExamAndCourse(true);
FileUploadExercise fileUploadExercise = ModelFactory.generateFileUploadExerciseForExam("pdf", exerciseGroup);
final var exercisesNrBefore = exerciseRepo.count();
exerciseRepo.save(fileUploadExercise);
assertThat(exercisesNrBefore + 1).as("one exercise got stored").isEqualTo(exerciseRepo.count());
return fileUploadExercise;
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class DatabaseUtilService method addCourseExamWithReviewDatesExerciseGroupWithOneTextExercise.
public TextExercise addCourseExamWithReviewDatesExerciseGroupWithOneTextExercise() {
ExerciseGroup exerciseGroup = addExerciseGroupWithExamWithReviewDatesAndCourse(true);
TextExercise textExercise = ModelFactory.generateTextExerciseForExam(exerciseGroup);
final var exercisesNrBefore = exerciseRepo.count();
exerciseRepo.save(textExercise);
assertThat(exercisesNrBefore + 1).as("one exercise got stored").isEqualTo(exerciseRepo.count());
return textExercise;
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class DatabaseUtilService method addCourseExamExerciseGroupWithOneTextExercise.
public TextExercise addCourseExamExerciseGroupWithOneTextExercise() {
ExerciseGroup exerciseGroup = addExerciseGroupWithExamAndCourse(true);
TextExercise textExercise = ModelFactory.generateTextExerciseForExam(exerciseGroup);
final var exercisesNrBefore = exerciseRepo.count();
textExercise.setKnowledge(textAssessmentKnowledgeService.createNewKnowledge());
exerciseRepo.save(textExercise);
assertThat(exercisesNrBefore + 1).as("one exercise got stored").isEqualTo(exerciseRepo.count());
return textExercise;
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class ExerciseGroupIntegrationTest method testAllPreAuthorize.
private void testAllPreAuthorize() throws Exception {
ExerciseGroup exerciseGroup = ModelFactory.generateExerciseGroup(true, exam1);
request.post("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups", exerciseGroup, HttpStatus.FORBIDDEN);
request.put("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups", exerciseGroup, HttpStatus.FORBIDDEN);
request.get("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups/" + exerciseGroup1.getId(), HttpStatus.FORBIDDEN, ExerciseGroup.class);
request.getList("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups", HttpStatus.FORBIDDEN, ExerciseGroup.class);
request.delete("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups/" + exerciseGroup1.getId(), HttpStatus.FORBIDDEN);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class ExerciseGroupIntegrationTest method testCreateExerciseGroup_asEditor.
@Test
@WithMockUser(username = "editor1", roles = "EDITOR")
public void testCreateExerciseGroup_asEditor() throws Exception {
ExerciseGroup exerciseGroup = ModelFactory.generateExerciseGroup(true, exam1);
exerciseGroup.setId(55L);
request.post("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups", exerciseGroup, HttpStatus.BAD_REQUEST);
exerciseGroup = ModelFactory.generateExerciseGroup(true, exam1);
exerciseGroup.setExam(null);
request.post("/api/courses/" + course1.getId() + "/exams/" + exam1.getId() + "/exerciseGroups", exerciseGroup, HttpStatus.CONFLICT);
exerciseGroup = ModelFactory.generateExerciseGroup(true, exam2);
request.post("/api/courses/" + course1.getId() + "/exams/" + exam2.getId() + "/exerciseGroups", exerciseGroup, HttpStatus.CREATED);
verify(examAccessService, times(1)).checkCourseAndExamAccessForEditorElseThrow(course1.getId(), exam2.getId());
}
Aggregations