use of de.tum.in.www1.artemis.domain.modeling.ModelingSubmission in project Artemis by ls1intum.
the class ResultServiceIntegrationTest method setupExamModelingExerciseWithResults.
private void setupExamModelingExerciseWithResults() {
var now = ZonedDateTime.now();
for (int i = 1; i <= 5; i++) {
ModelingSubmission modelingSubmission = new ModelingSubmission();
modelingSubmission.model("Testingsubmission");
modelingSubmission.submitted(true);
modelingSubmission.submissionDate(now.minusHours(2));
database.addSubmission(this.examModelingExercise, modelingSubmission, "student" + i);
database.addResultToSubmission(modelingSubmission, AssessmentType.MANUAL, database.getUserByLogin("instructor1"), 12D, true);
}
// empty participation with submission
StudentParticipation participation = new StudentParticipation();
participation.setInitializationDate(ZonedDateTime.now());
participation.setParticipant(null);
participation.setExercise(this.examModelingExercise);
studentParticipationRepository.save(participation);
ModelingSubmission modelingSubmission = new ModelingSubmission();
modelingSubmission.model("Text");
modelingSubmission.submitted(true);
modelingSubmission.submissionDate(now.minusHours(3));
participation.addSubmission(modelingSubmission);
modelingSubmission.setParticipation(participation);
submissionRepository.save(modelingSubmission);
studentParticipationRepository.save(participation);
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingSubmission in project Artemis by ls1intum.
the class SubmissionServiceTest method testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsInSecondCorrectionRoundWithLock.
@Test
@WithMockUser(username = "tutor1", roles = "TA")
public void testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsInSecondCorrectionRoundWithLock() {
submission1 = new ModelingSubmission();
submission2 = new ModelingSubmission();
// setup
queryTestingBasics(this.examModelingExercise);
database.addResultToSubmission(submission1, AssessmentType.MANUAL, tutor1, 10D, true);
Result resultForSecondCorrectionWithLock = submissionService.saveNewEmptyResult(submission1);
resultForSecondCorrectionWithLock.setAssessor(tutor2);
resultForSecondCorrectionWithLock.setAssessmentType(AssessmentType.MANUAL);
resultRepository.save(resultForSecondCorrectionWithLock);
// checks
getQueryResults(examModelingExercise);
assertThat(submission1.getResults()).hasSize(2);
assertThat(examModelingExercise.getExerciseGroup().getExam().getNumberOfCorrectionRoundsInExam()).isEqualTo(2);
assertThat(unassessedSubmissionCorrectionRound0Tutor1).contains(submission2);
assertThat(unassessedSubmissionCorrectionRound1Tutor1).isEmpty();
assertThat(submissionListTutor1CorrectionRound0).hasSize(1);
assertThat(submissionListTutor1CorrectionRound0.get(0)).isEqualTo(submission1);
assertThat(submissionListTutor2CorrectionRound0).isEmpty();
assertThat(submissionListTutor1CorrectionRound1).isEmpty();
assertThat(submissionListTutor2CorrectionRound1).hasSize(1);
assertThat(submissionListTutor2CorrectionRound1.get(0)).isEqualTo(submission1);
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingSubmission in project Artemis by ls1intum.
the class SubmissionServiceTest method testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsWithoutLock.
@Test
@WithMockUser(username = "tutor1", roles = "TA")
public void testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsWithoutLock() {
submission1 = new ModelingSubmission();
submission2 = new ModelingSubmission();
// setup
queryTestingBasics(this.examModelingExercise);
database.addResultToSubmission(submission1, AssessmentType.MANUAL, tutor1, 10D, true);
// checks
getQueryResults(examModelingExercise);
assertThat(examModelingExercise.getExerciseGroup().getExam().getNumberOfCorrectionRoundsInExam()).isEqualTo(2);
assertThat(unassessedSubmissionCorrectionRound0Tutor1).contains(submission2);
if (tutorAssessUnique) {
assertThat(unassessedSubmissionCorrectionRound1Tutor1).isEmpty();
} else {
assertThat(unassessedSubmissionCorrectionRound1Tutor1).contains(submission1);
}
assertThat(unassessedSubmissionCorrectionRound1Tutor2).contains(submission1);
assertThat(submissionListTutor1CorrectionRound0).hasSize(1);
assertThat(submissionListTutor1CorrectionRound0.get(0)).isEqualTo(submission1);
assertThat(submissionListTutor2CorrectionRound0).isEmpty();
assertThat(submissionListTutor1CorrectionRound1).isEmpty();
assertThat(submissionListTutor2CorrectionRound1).isEmpty();
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingSubmission in project Artemis by ls1intum.
the class SubmissionServiceTest method testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsInSecondCorrectionRoundWithoutLock.
@Test
@WithMockUser(username = "tutor1", roles = "TA")
public void testModelingExerciseGetRandomSubmissionEligibleForNewAssessmentOneAssessmentsInSecondCorrectionRoundWithoutLock() {
submission1 = new ModelingSubmission();
submission2 = new ModelingSubmission();
// setup
queryTestingBasics(this.examModelingExercise);
database.addResultToSubmission(submission1, AssessmentType.MANUAL, tutor1, 10D, true);
database.addResultToSubmission(submission1, AssessmentType.MANUAL, tutor2, 20D, true);
// checks
getQueryResults(examModelingExercise);
assertThat(submission1.getResults()).hasSize(2);
assertThat(examModelingExercise.getExerciseGroup().getExam().getNumberOfCorrectionRoundsInExam()).isEqualTo(2);
assertThat(unassessedSubmissionCorrectionRound0Tutor1).contains(submission2);
assertThat(unassessedSubmissionCorrectionRound1Tutor1).isEmpty();
assertThat(submissionListTutor1CorrectionRound0).hasSize(1);
assertThat(submissionListTutor1CorrectionRound0.get(0)).isEqualTo(submission1);
assertThat(submissionListTutor2CorrectionRound0).isEmpty();
assertThat(submissionListTutor1CorrectionRound1).isEmpty();
assertThat(submissionListTutor2CorrectionRound1).hasSize(1);
assertThat(submissionListTutor2CorrectionRound1.get(0)).isEqualTo(submission1);
}
use of de.tum.in.www1.artemis.domain.modeling.ModelingSubmission in project ArTEMiS by ls1intum.
the class ModelingSubmissionResource method updateModelingSubmission.
/**
* PUT /modeling-submissions : Updates an existing modelingSubmission.
*
* @param modelingSubmission the modelingSubmission to update
* @return the ResponseEntity with status 200 (OK) and with body the updated modelingSubmission,
* or with status 400 (Bad Request) if the modelingSubmission is not valid,
* or with status 500 (Internal Server Error) if the modelingSubmission couldn't be updated
* @throws URISyntaxException if the Location URI syntax is incorrect
*/
@PutMapping("/modeling-submissions")
@Timed
public ResponseEntity<ModelingSubmission> updateModelingSubmission(@RequestBody ModelingSubmission modelingSubmission) throws URISyntaxException {
log.debug("REST request to update ModelingSubmission : {}", modelingSubmission);
if (modelingSubmission.getId() == null) {
return createModelingSubmission(modelingSubmission);
}
ModelingSubmission result = modelingSubmissionRepository.save(modelingSubmission);
return ResponseEntity.ok().headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, modelingSubmission.getId().toString())).body(result);
}
Aggregations