use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class FileUploadExerciseIntegrationTest method createFileUploadExerciseForExam.
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createFileUploadExerciseForExam() throws Exception {
ExerciseGroup exerciseGroup = database.addExerciseGroupWithExamAndCourse(true);
FileUploadExercise fileUploadExercise = ModelFactory.generateFileUploadExerciseForExam(creationFilePattern, exerciseGroup);
gradingCriteria = database.addGradingInstructionsToExercise(fileUploadExercise);
FileUploadExercise createdFileUploadExercise = request.postWithResponseBody("/api/file-upload-exercises", fileUploadExercise, FileUploadExercise.class, HttpStatus.CREATED);
assertThat(createdFileUploadExercise).isNotNull();
assertThat(createdFileUploadExercise.getId()).isNotNull();
assertThat(createdFileUploadExercise.getFilePattern()).isEqualTo(creationFilePattern.toLowerCase().replaceAll("\\s+", ""));
assertThat(createdFileUploadExercise.isCourseExercise()).as("course was not set for exam exercise").isFalse();
assertThat(createdFileUploadExercise.getExerciseGroup()).as("exerciseGroup was set for exam exercise").isNotNull();
assertThat(createdFileUploadExercise.getExerciseGroup().getId()).as("exerciseGroupId was set correctly").isEqualTo(exerciseGroup.getId());
assertThat(createdFileUploadExercise.getGradingCriteria().get(0).getTitle()).isNull();
assertThat(createdFileUploadExercise.getGradingCriteria().get(1).getTitle()).isEqualTo("test title");
assertThat(gradingCriteria.get(0).getStructuredGradingInstructions()).hasSize(1);
assertThat(gradingCriteria.get(0).getStructuredGradingInstructions().get(0).getInstructionDescription()).isEqualTo("created first instruction with empty criteria for testing");
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class FileUploadExerciseIntegrationTest method createFileUploadExerciseForExam_invalidExercise_dates.
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@ArgumentsSource(InvalidExamExerciseDatesArgumentProvider.class)
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createFileUploadExerciseForExam_invalidExercise_dates(InvalidExamExerciseDateConfiguration invalidDates) throws Exception {
ExerciseGroup exerciseGroup = database.addExerciseGroupWithExamAndCourse(true);
FileUploadExercise fileUploadExercise = ModelFactory.generateFileUploadExerciseForExam(creationFilePattern, exerciseGroup);
request.postWithResponseBody("/api/file-upload-exercises", invalidDates.applyTo(fileUploadExercise), FileUploadExercise.class, HttpStatus.BAD_REQUEST);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class ModelingExerciseIntegrationTest method createModelingExercise_setCourseAndExerciseGroup_badRequest.
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createModelingExercise_setCourseAndExerciseGroup_badRequest() throws Exception {
ExerciseGroup exerciseGroup = database.addExerciseGroupWithExamAndCourse(true);
ModelingExercise modelingExercise = ModelFactory.generateModelingExerciseForExam(DiagramType.ClassDiagram, exerciseGroup);
modelingExercise.setCourse(exerciseGroup.getExam().getCourse());
request.postWithResponseBody("/api/modeling-exercises/", modelingExercise, ModelingExercise.class, HttpStatus.BAD_REQUEST);
}
use of de.tum.in.www1.artemis.domain.exam.ExerciseGroup in project ArTEMiS by ls1intum.
the class ModelingExerciseIntegrationTest method importModelingExerciseFromCourseToExam.
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void importModelingExerciseFromCourseToExam() throws Exception {
var now = ZonedDateTime.now();
Course course1 = database.addEmptyCourse();
ExerciseGroup exerciseGroup1 = database.addExerciseGroupWithExamAndCourse(true);
ModelingExercise modelingExercise = ModelFactory.generateModelingExercise(now.minusDays(1), now.minusHours(2), now.minusHours(1), DiagramType.ClassDiagram, course1);
modelingExercise.setReleaseDate(null);
modelingExercise.setDueDate(null);
modelingExercise.setAssessmentDueDate(null);
modelingExerciseRepository.save(modelingExercise);
modelingExercise.setCourse(null);
modelingExercise.setExerciseGroup(exerciseGroup1);
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 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);
}
Aggregations