Search in sources :

Example 91 with ModelingSubmission

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);
}
Also used : ModelingSubmission(de.tum.in.www1.artemis.domain.modeling.ModelingSubmission) ProgrammingExerciseStudentParticipation(de.tum.in.www1.artemis.domain.participation.ProgrammingExerciseStudentParticipation) StudentParticipation(de.tum.in.www1.artemis.domain.participation.StudentParticipation)

Example 92 with ModelingSubmission

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

Example 93 with ModelingSubmission

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

Example 94 with ModelingSubmission

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

Example 95 with ModelingSubmission

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);
}
Also used : ModelingSubmission(de.tum.in.www1.artemis.domain.ModelingSubmission) Timed(com.codahale.metrics.annotation.Timed)

Aggregations

ModelingSubmission (de.tum.in.www1.artemis.domain.modeling.ModelingSubmission)160 Test (org.junit.jupiter.api.Test)108 WithMockUser (org.springframework.security.test.context.support.WithMockUser)106 ModelingExercise (de.tum.in.www1.artemis.domain.modeling.ModelingExercise)36 StudentParticipation (de.tum.in.www1.artemis.domain.participation.StudentParticipation)22 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)20 AbstractSpringIntegrationBambooBitbucketJiraTest (de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)16 ModelingPlagiarismResult (de.tum.in.www1.artemis.domain.plagiarism.modeling.ModelingPlagiarismResult)16 TextPlagiarismResult (de.tum.in.www1.artemis.domain.plagiarism.text.TextPlagiarismResult)12 JsonParser.parseString (com.google.gson.JsonParser.parseString)8 ModelCluster (de.tum.in.www1.artemis.domain.modeling.ModelCluster)8 ModelingSubmission (de.tum.in.www1.artemis.domain.ModelingSubmission)6 Result (de.tum.in.www1.artemis.domain.Result)6 ModelElement (de.tum.in.www1.artemis.domain.modeling.ModelElement)6 ModelClusterFactory (de.tum.in.www1.artemis.service.compass.controller.ModelClusterFactory)6 StudentExam (de.tum.in.www1.artemis.domain.exam.StudentExam)4 ExerciseHint (de.tum.in.www1.artemis.domain.hestia.ExerciseHint)4 Participation (de.tum.in.www1.artemis.domain.participation.Participation)4 PlagiarismComparison (de.tum.in.www1.artemis.domain.plagiarism.PlagiarismComparison)4 PlagiarismSubmission (de.tum.in.www1.artemis.domain.plagiarism.PlagiarismSubmission)4