use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project Artemis by ls1intum.
the class ModelingExerciseIntegrationTest method createModelingExerciseForExam_invalidExercise_dates.
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@ArgumentsSource(InvalidExamExerciseDatesArgumentProvider.class)
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createModelingExerciseForExam_invalidExercise_dates(InvalidExamExerciseDateConfiguration invalidDates) throws Exception {
ExerciseGroup exerciseGroup = database.addExerciseGroupWithExamAndCourse(true);
ModelingExercise modelingExercise = ModelFactory.generateModelingExerciseForExam(DiagramType.ClassDiagram, exerciseGroup);
request.postWithResponseBody("/api/modeling-exercises/", invalidDates.applyTo(modelingExercise), ProgrammingExercise.class, HttpStatus.BAD_REQUEST);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project Artemis by ls1intum.
the class ModelingExerciseIntegrationTest method importModelingExerciseFromExamToExam.
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void importModelingExerciseFromExamToExam() throws Exception {
ExerciseGroup exerciseGroup1 = database.addExerciseGroupWithExamAndCourse(true);
ExerciseGroup exerciseGroup2 = database.addExerciseGroupWithExamAndCourse(true);
ModelingExercise modelingExercise = ModelFactory.generateModelingExerciseForExam(DiagramType.ClassDiagram, exerciseGroup1);
modelingExerciseRepository.save(modelingExercise);
modelingExercise.setExerciseGroup(exerciseGroup2);
request.postWithResponseBody("/api/modeling-exercises/import/" + modelingExercise.getId(), modelingExercise, ModelingExercise.class, HttpStatus.CREATED);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project Artemis by ls1intum.
the class ModelingExerciseIntegrationTest method createModelingExerciseForExam.
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createModelingExerciseForExam() throws Exception {
ExerciseGroup exerciseGroup = database.addExerciseGroupWithExamAndCourse(true);
ModelingExercise modelingExercise = ModelFactory.generateModelingExerciseForExam(DiagramType.ClassDiagram, exerciseGroup);
String title = "New Exam Modeling Exercise";
DifficultyLevel difficulty = DifficultyLevel.HARD;
modelingExercise.setTitle(title);
modelingExercise.setDifficulty(difficulty);
ModelingExercise newModelingExercise = request.postWithResponseBody("/api/modeling-exercises/", modelingExercise, ModelingExercise.class, HttpStatus.CREATED);
assertThat(newModelingExercise.getTitle()).as("modeling exercise title was correctly set").isEqualTo(title);
assertThat(newModelingExercise.getDifficulty()).as("modeling exercise difficulty was correctly set").isEqualTo(difficulty);
assertThat(newModelingExercise.isCourseExercise()).as("course was not set for exam exercise").isFalse();
assertThat(newModelingExercise.getExerciseGroup()).as("exerciseGroup was set for exam exercise").isNotNull();
assertThat(newModelingExercise.getExerciseGroup().getId()).as("exerciseGroupId was set correctly").isEqualTo(exerciseGroup.getId());
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project Artemis by ls1intum.
the class TextAssessmentIntegrationTest method getDataForTextEditor_BeforeExamPublishDate_Forbidden.
@Test
@WithMockUser(username = "student1", roles = "USER")
public void getDataForTextEditor_BeforeExamPublishDate_Forbidden() throws Exception {
// create exam
Exam exam = database.addExamWithExerciseGroup(course, true);
exam.setStartDate(now().minusHours(2));
exam.setEndDate(now().minusHours(1));
exam.setVisibleDate(now().minusHours(3));
exam.setPublishResultsDate(now().plusHours(3));
// creating exercise
ExerciseGroup exerciseGroup = exam.getExerciseGroups().get(0);
TextExercise textExercise = ModelFactory.generateTextExerciseForExam(exerciseGroup);
exerciseGroup.addExercise(textExercise);
exerciseGroupRepository.save(exerciseGroup);
textExercise = exerciseRepo.save(textExercise);
examRepository.save(exam);
TextSubmission textSubmission = ModelFactory.generateTextSubmission("Some text", Language.ENGLISH, true);
textSubmission = database.saveTextSubmissionWithResultAndAssessor(textExercise, textSubmission, "student1", "tutor1");
request.get("/api/text-editor/" + textSubmission.getParticipation().getId(), HttpStatus.FORBIDDEN, Participation.class);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project Artemis by ls1intum.
the class ExerciseTest method getExamViaExerciseGroupOrCourseMember_withExamExercise.
@Test
public void getExamViaExerciseGroupOrCourseMember_withExamExercise() {
Exercise examExercise = mock(Exercise.class, CALLS_REAL_METHODS);
when(examExercise.isExamExercise()).thenReturn(true);
when(examExercise.getExerciseGroup()).thenReturn(exerciseGroup);
when(exerciseGroup.getExam()).thenReturn(exam);
Exam result = examExercise.getExamViaExerciseGroupOrCourseMember();
assertThat(result).isEqualTo(exam);
}
Aggregations