use of de.tum.in.www1.artemis.domain.modeling.ModelingExercise in project ArTEMiS by ls1intum.
the class ExampleSubmissionIntegrationTest method createAndDeleteExampleModelingSubmissionWithResult.
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@ValueSource(booleans = { true, false })
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void createAndDeleteExampleModelingSubmissionWithResult(boolean usedForTutorial) throws Exception {
exampleSubmission = database.generateExampleSubmission(validModel, modelingExercise, false, usedForTutorial);
exampleSubmission.addTutorParticipations(new TutorParticipation());
ExampleSubmission returnedExampleSubmission = request.postWithResponseBody("/api/exercises/" + modelingExercise.getId() + "/example-submissions", exampleSubmission, ExampleSubmission.class, HttpStatus.OK);
Long submissionId = returnedExampleSubmission.getSubmission().getId();
database.checkModelingSubmissionCorrectlyStored(submissionId, validModel);
Optional<ExampleSubmission> storedExampleSubmission = exampleSubmissionRepo.findBySubmissionId(submissionId);
assertThat(storedExampleSubmission).as("example submission correctly stored").isPresent();
assertThat(storedExampleSubmission.get().getSubmission().isExampleSubmission()).as("submission flagged as example submission").isTrue();
request.delete("/api/example-submissions/" + storedExampleSubmission.get().getId(), HttpStatus.OK);
assertThat(exampleSubmissionRepo.findAllByExerciseId(submissionId)).isEmpty();
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingExercise in project ArTEMiS by ls1intum.
the class FileUploadSubmissionIntegrationTest method getFileUploadSubmissionWithoutAssessment_wrongExerciseType.
@Test
@WithMockUser(username = "tutor1", roles = "TA")
public void getFileUploadSubmissionWithoutAssessment_wrongExerciseType() throws Exception {
Course course = database.addCourseWithOneModelingExercise();
ModelingExercise modelingExercise = database.findModelingExerciseWithTitle(course.getExercises(), "ClassDiagram");
request.get("/api/exercises/" + modelingExercise.getId() + "/file-upload-submission-without-assessment", HttpStatus.BAD_REQUEST, FileUploadSubmission.class);
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingExercise in project ArTEMiS by ls1intum.
the class FileUploadSubmissionIntegrationTest method getDataForFileUpload_wrongExerciseType.
@Test
@WithMockUser(username = "student1")
public void getDataForFileUpload_wrongExerciseType() throws Exception {
Course course = database.addCourseWithOneModelingExercise();
ModelingExercise modelingExercise = database.findModelingExerciseWithTitle(course.getExercises(), "ClassDiagram");
Participation modelingExerciseParticipation = database.createAndSaveParticipationForExercise(modelingExercise, "student1");
FileUploadSubmission submission = request.get("/api/participations/" + modelingExerciseParticipation.getId() + "/file-upload-editor", HttpStatus.BAD_REQUEST, FileUploadSubmission.class);
assertThat(submission).isNull();
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingExercise in project ArTEMiS by ls1intum.
the class AssessmentKnowledgeIntegrationTest method testKeepModelAssessmentKnowledgeWhenExerciseIsDeletedIfOtherExercisesUseIt.
/**
* Tests that ModelAssessmentKnowledge is not removed from the DB even after deleting
* the parent exercise if there are other exercises using it
*
* @throws Exception might be thrown from Network Call to Artemis API
*/
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void testKeepModelAssessmentKnowledgeWhenExerciseIsDeletedIfOtherExercisesUseIt() throws Exception {
final Course course = database.addCourseWithOneReleasedModelExerciseWithKnowledge();
ModelingExercise modelingExercise = modelingExerciseRepository.findByCourseIdWithCategories(course.getId()).get(0);
request.postWithResponseBody("/api/modeling-exercises/import/" + modelingExercise.getId(), modelingExercise, ModelingExercise.class, HttpStatus.CREATED);
int exerciseCount = modelingExerciseRepository.findAll().size();
int modelAssessmentKnowledgeCount = modelAssessmentKnowledgeRepository.findAll().size();
request.delete("/api/modeling-exercises/" + modelingExercise.getId(), HttpStatus.OK);
assertThat(modelingExerciseRepository.findAll()).hasSize(exerciseCount - 1);
assertThat(modelAssessmentKnowledgeRepository.findAll()).hasSize(modelAssessmentKnowledgeCount);
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingExercise in project ArTEMiS by ls1intum.
the class AssessmentKnowledgeIntegrationTest method testReuseModelAssessmentKnowledgeIfExerciseIsImported.
/**
* Tests that ModelAssessmentKnowledge is reused when we import an exercise
*
* @throws Exception might be thrown from Network Call to Artemis API
*/
@Test
@WithMockUser(username = "instructor1", roles = "INSTRUCTOR")
public void testReuseModelAssessmentKnowledgeIfExerciseIsImported() throws Exception {
final Course course = database.addCourseWithOneReleasedModelExerciseWithKnowledge();
ModelingExercise modelingExercise = modelingExerciseRepository.findByCourseIdWithCategories(course.getId()).get(0);
int exerciseCount = modelingExerciseRepository.findAll().size();
int modelAssessmentKnowledgeCount = modelAssessmentKnowledgeRepository.findAll().size();
request.postWithResponseBody("/api/modeling-exercises/import/" + modelingExercise.getId(), modelingExercise, ModelingExercise.class, HttpStatus.CREATED);
assertThat(modelAssessmentKnowledgeRepository.findAll()).hasSize(modelAssessmentKnowledgeCount);
assertThat(modelingExerciseRepository.findAll()).hasSize(exerciseCount + 1);
}
Aggregations