Search in sources :

Example 6 with ExerciseGroup

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;
}
Also used : ExerciseGroup(de.tum.in.www1.artemis.domain.exam.ExerciseGroup)

Example 7 with ExerciseGroup

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;
}
Also used : ExerciseGroup(de.tum.in.www1.artemis.domain.exam.ExerciseGroup)

Example 8 with ExerciseGroup

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;
}
Also used : ExerciseGroup(de.tum.in.www1.artemis.domain.exam.ExerciseGroup)

Example 9 with ExerciseGroup

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);
}
Also used : ExerciseGroup(de.tum.in.www1.artemis.domain.exam.ExerciseGroup)

Example 10 with ExerciseGroup

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());
}
Also used : ExerciseGroup(de.tum.in.www1.artemis.domain.exam.ExerciseGroup) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test)

Aggregations

ExerciseGroup (de.tum.in.www1.artemis.domain.exam.ExerciseGroup)126 WithMockUser (org.springframework.security.test.context.support.WithMockUser)76 Test (org.junit.jupiter.api.Test)70 Exam (de.tum.in.www1.artemis.domain.exam.Exam)64 StudentExam (de.tum.in.www1.artemis.domain.exam.StudentExam)46 ModelingExercise (de.tum.in.www1.artemis.domain.modeling.ModelingExercise)46 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)24 QuizExercise (de.tum.in.www1.artemis.domain.quiz.QuizExercise)22 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)22 AbstractSpringIntegrationBambooBitbucketJiraTest (de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)20 BadRequestAlertException (de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException)20 StudentParticipation (de.tum.in.www1.artemis.domain.participation.StudentParticipation)18 EntityNotFoundException (de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException)14 TextExercise (de.tum.in.www1.artemis.domain.TextExercise)12 ZonedDateTime (java.time.ZonedDateTime)12 de.tum.in.www1.artemis.domain (de.tum.in.www1.artemis.domain)10 de.tum.in.www1.artemis.repository (de.tum.in.www1.artemis.repository)10 Collectors (java.util.stream.Collectors)10 ModelingSubmission (de.tum.in.www1.artemis.domain.modeling.ModelingSubmission)8 Participation (de.tum.in.www1.artemis.domain.participation.Participation)8