From 461f40be806e8dc8417cb5941ad3f99cfc95aba1 Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:06:16 +0200 Subject: [PATCH 1/9] Adapted to M-Elo --- .github/workflows/test.yaml | 12 +- Dockerfile | 2 +- build.gradle | 35 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- jacoco.gradle | 8 +- settings.gradle | 8 +- .../DevTopicPublisherConfiguration.java | 4 +- .../config/RequestHeaderUserInterceptor.java | 2 +- .../config/TopicPublisherConfiguration.java | 2 +- .../controller/QuizController.java | 34 +++--- .../controller/SubscriptionController.java | 2 +- .../exception/ExceptionResolver.java | 2 +- .../entity/ClozeElementEmbeddable.java | 2 +- .../entity/MultipleChoiceQuestionEntity.java | 2 +- .../persistence/entity/QuestionEntity.java | 9 +- .../persistence/entity/QuizEntity.java | 2 +- .../persistence/mapper/QuizMapper.java | 5 +- .../quiz_service/service/QuizService.java | 62 ++++++++--- .../validation/QuizValidator.java | 6 +- .../graphql/service/mutation.graphqls | 104 ++++++++++++++---- .../resources/graphql/service/quiz.graphqls | 28 ++--- .../iste/gits/quiz_service/TestData.java | 10 +- .../quiz_service/api/AuthorizationTest.java | 20 ++-- .../gits/quiz_service/api/QuizFragments.java | 2 +- .../api/mutation/CreateQuizMutationTest.java | 6 +- .../api/mutation/DeleteQuizMutationTest.java | 4 +- .../MutateQuizAddAssociationQuestionTest.java | 36 +++--- .../MutateQuizAddClozeQuestionTest.java | 41 ++++--- .../MutateQuizAddExactAnswerQuestionTest.java | 26 +++-- ...tateQuizAddMultipleChoiceQuestionTest.java | 27 +++-- .../MutateQuizAddNumericQuestionTest.java | 25 +++-- ...tateQuizAddSelfAssessmentQuestionTest.java | 21 ++-- .../MutateQuizRemoveQuestionTest.java | 12 +- .../MutateQuizSwitchQuestionsTest.java | 35 +++--- .../api/mutation/MutateQuizTest.java | 16 +-- ...tateQuizUpdateAssociationQuestionTest.java | 28 ++--- .../MutateQuizUpdateClozeQuestionTest.java | 14 +-- ...tateQuizUpdateExactAnswerQuestionTest.java | 16 +-- ...eQuizUpdateMultipleChoiceQuestionTest.java | 26 ++--- .../MutateQuizUpdateNumericQuestionTest.java | 17 ++- ...eQuizUpdateSelfAssessmentQuestionTest.java | 14 +-- .../MutationLogQuizCompletionTest.java | 47 +++++--- .../quiz_service/api/query/QueryByIdTest.java | 26 ++--- ...ultipleChoiceAnswerDtoToEntityMatcher.java | 2 +- ...MultipleChoiceAnswerDtoToInputMatcher.java | 4 +- ...tipleChoiceAnswerEntityToInputMatcher.java | 2 +- ...ChoiceQuestionDtoToCreateInputMatcher.java | 6 +- ...tipleChoiceQuestionDtoToEntityMatcher.java | 9 +- ...ChoiceQuestionDtoToUpdateInputMatcher.java | 6 +- ...iceQuestionEntityToUpdateInputMatcher.java | 8 +- .../QuizEntityToCreateInputMatcher.java | 2 +- .../quiz_service/service/QuizServiceTest.java | 57 ++++++++-- 52 files changed, 546 insertions(+), 352 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d07452f..a3129fd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -6,23 +6,23 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 17 - uses: actions/setup-java@v3 + - name: Set up JDK 21 + uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@ccb4328a959376b642e027874838f60f8e596de3 + uses: gradle/wrapper-validation-action@v2 - name: Run chmod to make gradlew executable run: chmod +x gradlew - name: Execute tests env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629 + uses: gradle/gradle-build-action@v3 with: arguments: cleanTest test jacocoTestReport sonar diff --git a/Dockerfile b/Dockerfile index 4d0ee21..562ea19 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ COPY . /workspace/app RUN gradle clean build -x test RUN mkdir -p build/dependency && (cd build/dependency; jar -xf ../libs/*-SNAPSHOT.jar) -FROM eclipse-temurin:17-jdk +FROM eclipse-temurin:21-jdk VOLUME /tmp ARG DEPENDENCY=/workspace/app/build/dependency COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib diff --git a/build.gradle b/build.gradle index ab40f8c..a3bc2ad 100644 --- a/build.gradle +++ b/build.gradle @@ -1,16 +1,15 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.0.6' - id 'io.spring.dependency-management' version '1.1.0' - id "io.github.kobylynskyi.graphql.codegen" version "5.7.2" - id "org.sonarqube" version "4.0.0.2929" + id 'org.springframework.boot' version '3.+' + id 'io.spring.dependency-management' version '1.+' + id "io.github.kobylynskyi.graphql.codegen" version "5.+" + id "org.sonarqube" version "4.+" id "jacoco" - -} -group = 'de.unistuttgart.iste.gits' +} +group = 'de.unistuttgart.iste.meitrex' version = '0.0.1-SNAPSHOT' -sourceCompatibility = '17' +sourceCompatibility = '21' def jacocoEnabled = System.properties.getProperty("jacocoEnabled") ?: "true" @@ -22,8 +21,8 @@ if (jacocoEnabled.toBoolean()) { sonarqube { properties { - property("sonar.projectKey", "IT-REX-Platform_quiz_service") - property("sonar.organization", "it-rex-platform") + property("sonar.projectKey", "MEITREX_quiz_service") + property("sonar.organization", "meitrex-platform") property("sonar.host.url", "https://sonarcloud.io") } @@ -34,7 +33,7 @@ graphqlCodegen { // all config options: // https://github.com/kobylynskyi/graphql-java-codegen/blob/main/docs/codegen-options.md outputDir = new File("$buildDir/generated") - packageName = "de.unistuttgart.iste.gits.generated.dto" + packageName = "de.unistuttgart.iste.meitrex.generated.dto" generatedAnnotation = "jakarta.annotation.Generated" modelValidationAnnotation = "jakarta.validation.constraints.NotNull" generateApis = false // set to false as the generator does not support spring boot graphQL @@ -67,7 +66,7 @@ repositories { } dependencies { - implementation 'de.unistuttgart.iste.gits:gits-common:0.6.4' + implementation 'de.unistuttgart.iste.meitrex:meitrex-common:1.1.1' implementation 'com.google.code.findbugs:jsr305:3.0.2' // removes a gradle warning about an unknown annotation implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-graphql' @@ -77,21 +76,21 @@ dependencies { implementation 'org.modelmapper:modelmapper:3.+' implementation 'com.graphql-java:graphql-java-extended-scalars:20.0' implementation 'com.graphql-java:graphql-java-extended-validation:20.0' - implementation 'io.dapr:dapr-sdk:1.9.0' // Dapr's core SDK with all features, except Actors. - implementation 'io.dapr:dapr-sdk-springboot:1.9.0' // Dapr's SDK integration with SpringBoot + implementation 'io.dapr:dapr-sdk:1.+' // Dapr's core SDK with all features, except Actors. + implementation 'io.dapr:dapr-sdk-springboot:1.+' // Dapr's SDK integration with SpringBoot compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.projectlombok:lombok' - testImplementation 'de.unistuttgart.iste.gits:gits-common-test:0.3.2' + testImplementation 'de.unistuttgart.iste.meitrex:meitrex-common-test:1.0.1' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework:spring-webflux' testImplementation 'org.springframework.graphql:spring-graphql-test' - testImplementation "org.mockito:mockito-core:3.+" + testImplementation "org.mockito:mockito-core:5.+" testImplementation 'org.hamcrest:hamcrest:2.+' - testImplementation "org.testcontainers:postgresql:1.18.3" - testImplementation "org.testcontainers:junit-jupiter:1.18.3" + testImplementation "org.testcontainers:postgresql:1.+" + testImplementation "org.testcontainers:junit-jupiter:1.+" } tasks.named('test') { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5083229..509c4a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/jacoco.gradle b/jacoco.gradle index c7852e4..a058ed5 100644 --- a/jacoco.gradle +++ b/jacoco.gradle @@ -1,5 +1,5 @@ jacoco { - toolVersion = "0.8.8" + toolVersion = "0.8.11" } test { @@ -9,8 +9,8 @@ test { jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required.set(true) + html.required.set(true) html.outputLocation = layout.buildDirectory.dir('jacocoHtml') } -} +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index bff8ab7..e6cff1c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,10 +1,10 @@ rootProject.name = 'quiz_service' sourceControl { - gitRepository(uri('https://github.com/IT-REX-Platform/gits-common')) { - producesModule('de.unistuttgart.iste.gits:gits-common') + gitRepository(uri('https://github.com/MEITREX/common')) { + producesModule('de.unistuttgart.iste.meitrex:meitrex-common') } - gitRepository(uri('https://github.com/IT-REX-Platform/gits-common-test')) { - producesModule('de.unistuttgart.iste.gits:gits-common-test') + gitRepository(uri('https://github.com/MEITREX/common_test')) { + producesModule('de.unistuttgart.iste.meitrex:meitrex-common-test') } } \ No newline at end of file diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/DevTopicPublisherConfiguration.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/DevTopicPublisherConfiguration.java index a456918..8a6f293 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/DevTopicPublisherConfiguration.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/DevTopicPublisherConfiguration.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.config; -import de.unistuttgart.iste.gits.common.dapr.MockTopicPublisher; -import de.unistuttgart.iste.gits.common.dapr.TopicPublisher; +import de.unistuttgart.iste.meitrex.common.dapr.MockTopicPublisher; +import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.*; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/RequestHeaderUserInterceptor.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/RequestHeaderUserInterceptor.java index b3f892e..4b88f90 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/RequestHeaderUserInterceptor.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/RequestHeaderUserInterceptor.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.config; -import de.unistuttgart.iste.gits.common.user_handling.RequestHeaderUserProcessor; +import de.unistuttgart.iste.meitrex.common.user_handling.RequestHeaderUserProcessor; import lombok.SneakyThrows; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/TopicPublisherConfiguration.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/TopicPublisherConfiguration.java index 5a4bb5e..f7891b8 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/TopicPublisherConfiguration.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/config/TopicPublisherConfiguration.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.config; -import de.unistuttgart.iste.gits.common.dapr.TopicPublisher; +import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; import io.dapr.client.DaprClientBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/QuizController.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/QuizController.java index 8de92e3..56e738b 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/QuizController.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/QuizController.java @@ -1,11 +1,11 @@ package de.unistuttgart.iste.gits.quiz_service.controller; -import de.unistuttgart.iste.gits.common.exception.NoAccessToCourseException; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser.UserRoleInCourse; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.service.QuizService; +import de.unistuttgart.iste.meitrex.common.exception.NoAccessToCourseException; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser.UserRoleInCourse; +import de.unistuttgart.iste.meitrex.generated.dto.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.graphql.data.method.annotation.*; @@ -14,7 +14,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.user_handling.UserCourseAccessValidator.validateUserHasAccessToCourse; +import static de.unistuttgart.iste.meitrex.common.user_handling.UserCourseAccessValidator.validateUserHasAccessToCourse; @Slf4j @Controller @@ -67,62 +67,62 @@ public UUID deleteQuiz(@Argument final UUID assessmentId) { } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addMultipleChoiceQuestion(@Argument final CreateMultipleChoiceQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addMultipleChoiceQuestion(@Argument final CreateMultipleChoiceQuestionInput input, final QuizMutation quizMutation) { return quizService.addMultipleChoiceQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateMultipleChoiceQuestion(@Argument final UpdateMultipleChoiceQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateMultipleChoiceQuestion(@Argument final UpdateMultipleChoiceQuestionInput input, final QuizMutation quizMutation) { return quizService.updateMultipleChoiceQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addClozeQuestion(@Argument final CreateClozeQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addClozeQuestion(@Argument final CreateClozeQuestionInput input, final QuizMutation quizMutation) { return quizService.addClozeQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateClozeQuestion(@Argument final UpdateClozeQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateClozeQuestion(@Argument final UpdateClozeQuestionInput input, final QuizMutation quizMutation) { return quizService.updateClozeQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addAssociationQuestion(@Argument final CreateAssociationQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addAssociationQuestion(@Argument final CreateAssociationQuestionInput input, final QuizMutation quizMutation) { return quizService.addAssociationQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateAssociationQuestion(@Argument final UpdateAssociationQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateAssociationQuestion(@Argument final UpdateAssociationQuestionInput input, final QuizMutation quizMutation) { return quizService.updateAssociationQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addExactAnswerQuestion(@Argument final CreateExactAnswerQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addExactAnswerQuestion(@Argument final CreateExactAnswerQuestionInput input, final QuizMutation quizMutation) { return quizService.addExactAnswerQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateExactAnswerQuestion(@Argument final UpdateExactAnswerQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateExactAnswerQuestion(@Argument final UpdateExactAnswerQuestionInput input, final QuizMutation quizMutation) { return quizService.updateExactAnswerQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addNumericQuestion(@Argument final CreateNumericQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addNumericQuestion(@Argument final CreateNumericQuestionInput input, final QuizMutation quizMutation) { return quizService.addNumericQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateNumericQuestion(@Argument final UpdateNumericQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateNumericQuestion(@Argument final UpdateNumericQuestionInput input, final QuizMutation quizMutation) { return quizService.updateNumericQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz addSelfAssessmentQuestion(@Argument final CreateSelfAssessmentQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_addSelfAssessmentQuestion(@Argument final CreateSelfAssessmentQuestionInput input, final QuizMutation quizMutation) { return quizService.addSelfAssessmentQuestion(quizMutation.getAssessmentId(), input); } @SchemaMapping(typeName = QUIZ_MUTATION_NAME) - public Quiz updateSelfAssessmentQuestion(@Argument final UpdateSelfAssessmentQuestionInput input, final QuizMutation quizMutation) { + public Quiz _internal_noauth_updateSelfAssessmentQuestion(@Argument final UpdateSelfAssessmentQuestionInput input, final QuizMutation quizMutation) { return quizService.updateSelfAssessmentQuestion(quizMutation.getAssessmentId(), input); } diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java index d3ebc42..dff200d 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.controller; -import de.unistuttgart.iste.gits.common.event.ContentChangeEvent; import de.unistuttgart.iste.gits.quiz_service.service.QuizService; +import de.unistuttgart.iste.meitrex.common.event.ContentChangeEvent; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/exception/ExceptionResolver.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/exception/ExceptionResolver.java index b4d42e4..5af6f41 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/exception/ExceptionResolver.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/exception/ExceptionResolver.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.exception; -import de.unistuttgart.iste.gits.common.exception.ExceptionToGraphQlErrorConverter; +import de.unistuttgart.iste.meitrex.common.exception.ExceptionToGraphQlErrorConverter; import graphql.GraphQLError; import graphql.schema.DataFetchingEnvironment; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/ClozeElementEmbeddable.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/ClozeElementEmbeddable.java index dea6171..163ee3f 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/ClozeElementEmbeddable.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/ClozeElementEmbeddable.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.persistence.entity; -import de.unistuttgart.iste.gits.generated.dto.ClozeElementType; +import de.unistuttgart.iste.meitrex.generated.dto.ClozeElementType; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/MultipleChoiceQuestionEntity.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/MultipleChoiceQuestionEntity.java index e5c95f1..24d3e78 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/MultipleChoiceQuestionEntity.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/MultipleChoiceQuestionEntity.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.persistence.entity; -import de.unistuttgart.iste.gits.generated.dto.QuestionType; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; import jakarta.persistence.*; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuestionEntity.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuestionEntity.java index cfc29b9..c930cc7 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuestionEntity.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuestionEntity.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.persistence.entity; -import de.unistuttgart.iste.gits.generated.dto.QuestionType; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; import jakarta.persistence.*; import lombok.*; import lombok.experimental.SuperBuilder; @@ -16,8 +16,7 @@ public class QuestionEntity { @Id - @GeneratedValue - private UUID id; + private UUID itemId; @Column(nullable = false) private int number; @@ -42,7 +41,7 @@ public boolean equals(final Object o) { if (o == null || getClass() != o.getClass()) return false; final QuestionEntity that = (QuestionEntity) o; if (getNumber() != that.getNumber()) return false; - if (!Objects.equals(getId(), that.getId())) return false; + if (!Objects.equals(getItemId(), that.getItemId())) return false; if (getType() != that.getType()) return false; if (!(Objects.equals(getHint(), that.getHint()))) return false; @@ -56,6 +55,6 @@ public boolean equals(final Object o) { @Override public int hashCode() { - return Objects.hash(getId(), getNumber(), getType(), getHint(), getQuestionStatistics()); + return Objects.hash(getItemId(), getNumber(), getType(), getHint(), getQuestionStatistics()); } } diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuizEntity.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuizEntity.java index 059b513..f7c6ea0 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuizEntity.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/entity/QuizEntity.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.persistence.entity; -import de.unistuttgart.iste.gits.generated.dto.QuestionPoolingMode; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/mapper/QuizMapper.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/mapper/QuizMapper.java index 0ccd22a..b4109a0 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/mapper/QuizMapper.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/persistence/mapper/QuizMapper.java @@ -1,6 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.persistence.mapper; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.generated.dto.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; import lombok.RequiredArgsConstructor; import org.modelmapper.ModelMapper; @@ -94,7 +95,7 @@ public ClozeQuestion clozeQuestionEntityToDto(final ClozeQuestionEntity clozeQue final ClozeQuestion result = ClozeQuestion.builder() .setType(QuestionType.CLOZE) .setNumber(clozeQuestionEntity.getNumber()) - .setId(clozeQuestionEntity.getId()) + .setItemId(clozeQuestionEntity.getItemId()) .setShowBlanksList(clozeQuestionEntity.isShowBlanksList()) .setAdditionalWrongAnswers(clozeQuestionEntity.getAdditionalWrongAnswers()) .setClozeElements(clozeQuestionEntity.getClozeElements().stream() diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java index 2e3f1a0..7b3d133 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java @@ -1,12 +1,14 @@ package de.unistuttgart.iste.gits.quiz_service.service; -import de.unistuttgart.iste.gits.common.dapr.TopicPublisher; -import de.unistuttgart.iste.gits.common.event.*; -import de.unistuttgart.iste.gits.common.exception.IncompleteEventMessageException; -import de.unistuttgart.iste.gits.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; import de.unistuttgart.iste.gits.quiz_service.persistence.mapper.QuizMapper; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionStatisticEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; +import de.unistuttgart.iste.meitrex.common.event.*; +import de.unistuttgart.iste.meitrex.common.exception.IncompleteEventMessageException; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.validation.QuizValidator; import jakarta.persistence.EntityNotFoundException; import jakarta.transaction.Transactional; @@ -20,8 +22,8 @@ import java.util.function.Consumer; import java.util.function.Function; -import static de.unistuttgart.iste.gits.common.util.GitsCollectionUtils.count; -import static de.unistuttgart.iste.gits.common.util.GitsCollectionUtils.countAsInt; +import static de.unistuttgart.iste.meitrex.common.util.MeitrexCollectionUtils.count; +import static de.unistuttgart.iste.meitrex.common.util.MeitrexCollectionUtils.countAsInt; @Service @RequiredArgsConstructor @@ -80,7 +82,7 @@ public Quiz createQuiz(final UUID courseId, final UUID assessmentId, final Creat */ public UUID deleteQuiz(final UUID id) { requireQuizExists(id); - + publishQuizDeletion(id); quizRepository.deleteById(id); return id; @@ -114,7 +116,7 @@ public Quiz addMultipleChoiceQuestion(final UUID quizId, final CreateMultipleCho public Quiz updateMultipleChoiceQuestion(final UUID quizId, final UpdateMultipleChoiceQuestionInput input) { quizValidator.validateUpdateMultipleChoiceQuestionInput(input); - return updateQuestion(quizId, input, input.getId(), quizMapper::multipleChoiceQuestionInputToEntity); + return updateQuestion(quizId, input, input.getItemId(), quizMapper::multipleChoiceQuestionInputToEntity); } /** @@ -146,7 +148,7 @@ public Quiz addClozeQuestion(final UUID quizId, final CreateClozeQuestionInput i public Quiz updateClozeQuestion(final UUID quizId, final UpdateClozeQuestionInput input) { quizValidator.validateUpdateClozeQuestionInput(input); - return updateQuestion(quizId, input, input.getId(), quizMapper::clozeQuestionInputToEntity); + return updateQuestion(quizId, input, input.getItemId(), quizMapper::clozeQuestionInputToEntity); } /** @@ -176,7 +178,7 @@ public Quiz addAssociationQuestion(final UUID assessmentId, final CreateAssociat public Quiz updateAssociationQuestion(final UUID assessmentId, final UpdateAssociationQuestionInput input) { quizValidator.validateUpdateAssociationQuestionInput(input); - return updateQuestion(assessmentId, input, input.getId(), quizMapper::associationQuestionInputToEntity); + return updateQuestion(assessmentId, input, input.getItemId(), quizMapper::associationQuestionInputToEntity); } /** @@ -200,7 +202,7 @@ public Quiz addExactAnswerQuestion(final UUID quizId, final CreateExactAnswerQue * @throws EntityNotFoundException if the quiz or the question does not exist */ public Quiz updateExactAnswerQuestion(final UUID quizId, final UpdateExactAnswerQuestionInput input) { - return updateQuestion(quizId, input, input.getId(), quizMapper::exactAnswerQuestionInputToEntity); + return updateQuestion(quizId, input, input.getItemId(), quizMapper::exactAnswerQuestionInputToEntity); } /** @@ -224,7 +226,7 @@ public Quiz addNumericQuestion(final UUID quizId, final CreateNumericQuestionInp * @throws EntityNotFoundException if the quiz or the question does not exist */ public Quiz updateNumericQuestion(final UUID quizId, final UpdateNumericQuestionInput input) { - return updateQuestion(quizId, input, input.getId(), quizMapper::numericQuestionInputToEntity); + return updateQuestion(quizId, input, input.getItemId(), quizMapper::numericQuestionInputToEntity); } /** @@ -248,7 +250,7 @@ public Quiz addSelfAssessmentQuestion(final UUID quizId, final CreateSelfAssessm * @throws EntityNotFoundException if the quiz or the question does not exist */ public Quiz updateSelfAssessmentQuestion(final UUID quizId, final UpdateSelfAssessmentQuestionInput input) { - return updateQuestion(quizId, input, input.getId(), quizMapper::selfAssessmentQuestionInputToEntity); + return updateQuestion(quizId, input, input.getItemId(), quizMapper::selfAssessmentQuestionInputToEntity); } /** @@ -401,7 +403,7 @@ private int assignNumber(final QuizEntity entity) { private QuestionEntity getQuestionInQuizById(final QuizEntity quizEntity, final UUID questionId) { return quizEntity.getQuestionPool().stream() - .filter(q -> q.getId().equals(questionId)) + .filter(q -> q.getItemId().equals(questionId)) .findFirst() .orElseThrow(() -> new EntityNotFoundException(MessageFormat.format( @@ -468,7 +470,16 @@ public QuizCompletionFeedback publishProgress(final QuizCompletedInput input, fi final boolean success = numbCorrectAnswers >= quizEntity.getRequiredCorrectAnswers(); final double correctness = calculateCorrectness(numbCorrectAnswers, quizEntity); final int hintsUsed = countAsInt(input.getCompletedQuestions(), QuestionCompletedInput::getUsedHint); + Listresponses=new ArrayList(); + for(QuestionCompletedInput question: input.getCompletedQuestions()){ + float answer=0; + if(question.getCorrect()){ + answer=1; + } + Response response=new Response(question.getQuestionId(),answer); + responses.add(response); + } // create new user progress event message final ContentProgressedEvent userProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) @@ -477,6 +488,7 @@ public QuizCompletionFeedback publishProgress(final QuizCompletedInput input, fi .success(success) .timeToComplete(null) .correctness(correctness) + .responses(responses) .build(); // publish new user progress event message @@ -505,7 +517,7 @@ private void updateQuestionStatistics(final QuizCompletedInput input, final UUID // create new Question Statistic final QuestionStatisticEntity newQuestionStatistic = QuestionStatisticEntity.builder() - .questionId(questionEntity.getId()) + .questionId(questionEntity.getItemId()) .userId(userId) .answeredCorrectly(completedQuestion.getCorrect()) .build(); @@ -553,4 +565,22 @@ protected double calculateCorrectness(final double correctAnswers, final QuizEnt } } + private void publishQuizDeletion(UUID quizId){ + Optional quizEntity = quizRepository.findById(quizId); + if(quizEntity.isPresent()){ + QuizEntity quiz=quizEntity.get(); + ListquestionPool=quiz.getQuestionPool(); + for(QuestionEntity question:questionPool){ + publishItemChangeEvent(question.getItemId()); + } + + } + } + /*** + * helper function, that creates a ItemChange Event and publish it, when a flashcard was deleted + * @param itemId the id of the item + */ + private void publishItemChangeEvent(final UUID itemId) { + topicPublisher.notifyItemChanges(itemId,CrudOperation.DELETE); + } } diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/validation/QuizValidator.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/validation/QuizValidator.java index 84cc3ee..5274402 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/validation/QuizValidator.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/validation/QuizValidator.java @@ -1,14 +1,14 @@ package de.unistuttgart.iste.gits.quiz_service.validation; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.generated.dto.*; import jakarta.validation.ValidationException; import org.springframework.stereotype.Component; import java.util.List; -import static de.unistuttgart.iste.gits.generated.dto.ClozeElementType.BLANK; -import static de.unistuttgart.iste.gits.generated.dto.ClozeElementType.TEXT; +import static de.unistuttgart.iste.meitrex.generated.dto.ClozeElementType.BLANK; +import static de.unistuttgart.iste.meitrex.generated.dto.ClozeElementType.TEXT; @Component public class QuizValidator { diff --git a/src/main/resources/graphql/service/mutation.graphqls b/src/main/resources/graphql/service/mutation.graphqls index b5bb651..56280cc 100644 --- a/src/main/resources/graphql/service/mutation.graphqls +++ b/src/main/resources/graphql/service/mutation.graphqls @@ -32,56 +32,80 @@ type QuizMutation { assessmentId: UUID! """ Add a multiple choice question to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addMultipleChoiceQuestion(input: CreateMultipleChoiceQuestionInput!): Quiz! + _internal_noauth_addMultipleChoiceQuestion(input: CreateMultipleChoiceQuestionInput!): Quiz! """ Update a multiple choice question in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateMultipleChoiceQuestion(input: UpdateMultipleChoiceQuestionInput!): Quiz! + _internal_noauth_updateMultipleChoiceQuestion(input: UpdateMultipleChoiceQuestionInput!): Quiz! """ Add a cloze question to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addClozeQuestion(input: CreateClozeQuestionInput!): Quiz! + _internal_noauth_addClozeQuestion(input: CreateClozeQuestionInput!): Quiz! """ Update a cloze question in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateClozeQuestion(input: UpdateClozeQuestionInput!): Quiz! + _internal_noauth_updateClozeQuestion(input: UpdateClozeQuestionInput!): Quiz! """ Add an association question to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addAssociationQuestion(input: CreateAssociationQuestionInput!): Quiz! + _internal_noauth_addAssociationQuestion(input: CreateAssociationQuestionInput!): Quiz! """ Update an association question in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateAssociationQuestion(input: UpdateAssociationQuestionInput!): Quiz! + _internal_noauth_updateAssociationQuestion(input: UpdateAssociationQuestionInput!): Quiz! """ Add an free text question with exact answer to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addExactAnswerQuestion(input: CreateExactAnswerQuestionInput!): Quiz! + _internal_noauth_addExactAnswerQuestion(input: CreateExactAnswerQuestionInput!): Quiz! """ Update an free text question with exact answer in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateExactAnswerQuestion(input: UpdateExactAnswerQuestionInput!): Quiz! + _internal_noauth_updateExactAnswerQuestion(input: UpdateExactAnswerQuestionInput!): Quiz! """ Add a numeric question to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addNumericQuestion(input: CreateNumericQuestionInput!): Quiz! + _internal_noauth_addNumericQuestion(input: CreateNumericQuestionInput!): Quiz! """ Update a numeric question in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateNumericQuestion(input: UpdateNumericQuestionInput!): Quiz! + _internal_noauth_updateNumericQuestion(input: UpdateNumericQuestionInput!): Quiz! """ Add a self assessment question to the quiz questions, at the end of the list. + ️⚠️ This query is only accessible internally in the system and allows the caller to create a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - addSelfAssessmentQuestion(input: CreateSelfAssessmentQuestionInput!): Quiz! + _internal_noauth_addSelfAssessmentQuestion(input: CreateSelfAssessmentQuestionInput!): Quiz! """ Update a self assessment question in the quiz questions. + ️⚠️ This query is only accessible internally in the system and allows the caller to update a Question without + any permissions check and should not be called without any validation of the caller's permissions. ⚠️ """ - updateSelfAssessmentQuestion(input: UpdateSelfAssessmentQuestionInput!): Quiz! + _internal_noauth_updateSelfAssessmentQuestion(input: UpdateSelfAssessmentQuestionInput!): Quiz! # add other types of questions here @@ -140,6 +164,10 @@ input CreateQuizInput { } input CreateMultipleChoiceQuestionInput { + """ + UUID of the question to update and the id of the corresponding item. + """ + itemId: UUID! """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -161,9 +189,9 @@ input CreateMultipleChoiceQuestionInput { input UpdateMultipleChoiceQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ Text of the question, in SlateJS JSON format. """ @@ -195,6 +223,10 @@ input MultipleChoiceAnswerInput { } input CreateClozeQuestionInput { + """ + id of the corresponding item + """ + itemId:UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -220,9 +252,9 @@ input CreateClozeQuestionInput { input UpdateClozeQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ List of cloze elements. """ @@ -242,6 +274,10 @@ input UpdateClozeQuestionInput { } input ClozeElementInput { + """ + id of the corresponding item + """ + itemId:UUID """ Type of the element. """ @@ -263,6 +299,10 @@ input ClozeElementInput { } input CreateAssociationQuestionInput { + """ + id of the corresponding item + """ + itemId:UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -284,9 +324,9 @@ input CreateAssociationQuestionInput { input UpdateAssociationQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ Text of the question, in SlateJS JSON format. """ @@ -302,6 +342,10 @@ input UpdateAssociationQuestionInput { } input AssociationInput { + """ + id of the corresponding item + """ + itemId:UUID """ Text of the left side of the association, in SlateJS JSON format. """ @@ -317,6 +361,10 @@ input AssociationInput { } input CreateExactAnswerQuestionInput { + """ + id of the corresponding item + """ + itemId:UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -346,9 +394,9 @@ input CreateExactAnswerQuestionInput { input UpdateExactAnswerQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ Text of the question, in SlateJS JSON format. """ @@ -372,6 +420,10 @@ input UpdateExactAnswerQuestionInput { } input CreateNumericQuestionInput { + """ + id of the corresponding item + """ + itemId:UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -401,9 +453,9 @@ input CreateNumericQuestionInput { input UpdateNumericQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ Text of the question, in SlateJS JSON format. """ @@ -427,6 +479,10 @@ input UpdateNumericQuestionInput { } input CreateSelfAssessmentQuestionInput { + """ + id of the corresponding item + """ + itemId:UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. @@ -448,9 +504,9 @@ input CreateSelfAssessmentQuestionInput { input UpdateSelfAssessmentQuestionInput { """ - UUID of the question to update. + UUID of the question to update and the id of the corresponding item. """ - id: UUID! + itemId: UUID! """ Text of the question, in SlateJS JSON format. """ diff --git a/src/main/resources/graphql/service/quiz.graphqls b/src/main/resources/graphql/service/quiz.graphqls index 9f6d5fd..5e1b710 100644 --- a/src/main/resources/graphql/service/quiz.graphqls +++ b/src/main/resources/graphql/service/quiz.graphqls @@ -63,9 +63,9 @@ Generic question interface. """ interface Question { """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. @@ -103,9 +103,9 @@ type MultipleChoiceQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. @@ -159,9 +159,9 @@ type ClozeQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. Only relevant if questionPoolingMode is ORDERED. @@ -225,9 +225,9 @@ type AssociationQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. Only relevant if questionPoolingMode is ORDERED. @@ -284,9 +284,9 @@ type ExactAnswerQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. Only relevant if questionPoolingMode is ORDERED. @@ -323,9 +323,9 @@ type NumericQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. Only relevant if questionPoolingMode is ORDERED. @@ -358,9 +358,9 @@ type SelfAssessmentQuestion implements Question { # inherited from Question """ - Unique identifier of the question. + Unique identifier of the question and the id of the corresponding item """ - id: UUID! + itemId: UUID! """ Number of the question, i.e., the position of the question in the list of questions. Only relevant if questionPoolingMode is ORDERED. diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java index 7f6f16a..7680285 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java @@ -1,7 +1,8 @@ package de.unistuttgart.iste.gits.quiz_service; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.meitrex.generated.dto.*; + import java.util.*; import java.util.stream.Stream; @@ -49,6 +50,7 @@ public static MultipleChoiceQuestionEntity createMultipleChoiceQuestion( public static ClozeQuestionEntity createClozeQuestion(final int number, final ClozeElementEmbeddable... clozeElements) { return ClozeQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.CLOZE) .number(number) .showBlanksList(true) @@ -97,6 +99,7 @@ public static AssociationEmbeddable association(final String left, final String public static ExactAnswerQuestionEntity createExactAnswerQuestion(final int number, final String question, final String answer) { return ExactAnswerQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.EXACT_ANSWER) .number(number) .text(question) @@ -109,6 +112,7 @@ public static ExactAnswerQuestionEntity createExactAnswerQuestion(final int numb public static NumericQuestionEntity createNumericQuestion(final int number, final String question, final double answer) { return NumericQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.NUMERIC) .number(number) .text(question) @@ -147,7 +151,7 @@ public static List createDummyQuestions() { .feedback("Well done!") .build(); final MultipleChoiceQuestionEntity questionEntity = MultipleChoiceQuestionEntity.builder() - .id(UUID.randomUUID()) + .itemId(UUID.randomUUID()) .number(0) .type(QuestionType.MULTIPLE_CHOICE) .text("This is a question") @@ -155,7 +159,7 @@ public static List createDummyQuestions() { .hint("Wink Wink") .build(); final MultipleChoiceQuestionEntity questionEntity2 = MultipleChoiceQuestionEntity.builder() - .id(UUID.randomUUID()) + .itemId(UUID.randomUUID()) .number(0) .type(QuestionType.MULTIPLE_CHOICE) .text("This is a question") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java index a58f5c5..40d8e73 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java @@ -1,15 +1,16 @@ package de.unistuttgart.iste.gits.quiz_service.api; -import de.unistuttgart.iste.gits.common.testutil.AuthorizationAsserts; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.ClozeElementInput; -import de.unistuttgart.iste.gits.generated.dto.ClozeElementType; -import de.unistuttgart.iste.gits.generated.dto.CreateClozeQuestionInput; import de.unistuttgart.iste.gits.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.common.testutil.AuthorizationAsserts; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.ClozeElementInput; +import de.unistuttgart.iste.meitrex.generated.dto.ClozeElementType; +import de.unistuttgart.iste.meitrex.generated.dto.CreateClozeQuestionInput; + import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import org.junit.jupiter.api.Test; @@ -21,7 +22,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest @TablesToDelete({"quiz"}) @@ -55,6 +56,7 @@ void testAddClozeQuestionForAdminOnly(final GraphQlTester graphQlTester) { quizEntity = quizRepository.save(quizEntity); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(UUID.randomUUID()) .setHint("hint") .setAdditionalWrongAnswers(List.of("wrong1", "wrong2")) .setShowBlanksList(false) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/QuizFragments.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/QuizFragments.java index a3cfd2d..32e7bdb 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/QuizFragments.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/QuizFragments.java @@ -11,7 +11,7 @@ public class QuizFragments { public static final String FRAGMENT_DEFINITION = """ fragment QuestionsAllFields on Question { - id + itemId number type hint diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java index e6b9497..7423cb8 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java @@ -1,8 +1,8 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/DeleteQuizMutationTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/DeleteQuizMutationTest.java index ff696b0..6e2051b 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/DeleteQuizMutationTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/DeleteQuizMutationTest.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.generated.dto.QuestionPoolingMode; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import graphql.ErrorType; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java index 6b6c3ff..dec466d 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java @@ -1,13 +1,16 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationEmbeddable; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationQuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; @@ -21,7 +24,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest @@ -59,13 +62,14 @@ void testAddAssociationQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateAssociationQuestionInput input = CreateAssociationQuestionInput.builder() + .setItemId(itemId) .setHint("hint") .setText("question") .setCorrectAssociations(List.of( - new AssociationInput("a", "b", "feedback1"), - new AssociationInput("c", "d", "feedback2"))) + new AssociationInput(UUID.randomUUID(),"a", "b", "feedback1"), + new AssociationInput(UUID.randomUUID(),"c", "d", "feedback2"))) .build(); @@ -85,6 +89,10 @@ void testAddAssociationQuestion(final GraphQlTester graphQlTester) { .entity(String.class) .isEqualTo("hint") + .path("mutateQuiz.addAssociationQuestion.questionPool[0].itemId") + .entity(UUID.class) + .isEqualTo(itemId) + .path("mutateQuiz.addAssociationQuestion.questionPool[0].correctAssociations") .entityList(SingleAssociation.class) .contains( @@ -109,6 +117,7 @@ void testAddAssociationQuestion(final GraphQlTester graphQlTester) { assertThat(associationQuestionEntity.getHint(), is("hint")); assertThat(associationQuestionEntity.getText(), is("question")); + assertThat(associationQuestionEntity.getItemId(), is(itemId)); assertThat(associationQuestionEntity.getCorrectAssociations(), hasSize(2)); assertThat(associationQuestionEntity.getCorrectAssociations(), containsInAnyOrder( new AssociationEmbeddable("a", "b", "feedback1"), @@ -128,14 +137,15 @@ void testAddAssociationQuestionNotUniqueAnswer(final GraphQlTester graphQlTester .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateAssociationQuestionInput input = CreateAssociationQuestionInput.builder() + .setItemId(itemId) .setNumber(2) .setHint("hint") .setText("question") .setCorrectAssociations(List.of( - new AssociationInput("a", "b", "feedback1"), - new AssociationInput("c", "b", "feedback2"))) + new AssociationInput(UUID.randomUUID(),"a", "b", "feedback1"), + new AssociationInput(UUID.randomUUID(),"c", "b", "feedback2"))) .build(); graphQlTester.document(ADD_ASSOCIATION_QUESTION_MUTATION) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java index f0583ca..bdb6e15 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java @@ -1,13 +1,15 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ClozeQuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import graphql.ErrorType; import jakarta.transaction.Transactional; @@ -21,7 +23,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest @@ -59,8 +61,9 @@ void testAddClozeQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setHint("hint") .setAdditionalWrongAnswers(List.of("wrong1", "wrong2")) .setShowBlanksList(false) @@ -86,6 +89,10 @@ void testAddClozeQuestion(final GraphQlTester graphQlTester) { .entity(Integer.class) .isEqualTo(1) + .path("mutateQuiz.addClozeQuestion.questionPool[0].itemId") + .entity(UUID.class) + .isEqualTo(itemId) + .path("mutateQuiz.addClozeQuestion.questionPool[0].showBlanksList") .entity(Boolean.class) .isEqualTo(false) @@ -137,8 +144,9 @@ void testAddClozeWithoutBlank(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( @@ -171,8 +179,9 @@ void addClozeTextElementWithFeedback(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( @@ -206,8 +215,9 @@ void addClozeElementWithCorrectAnswer(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( @@ -240,8 +250,9 @@ void addClozeTextElementWithoutText(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( @@ -273,8 +284,9 @@ void testAddBlankWithoutCorrectAnswer(final GraphQlTester tester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( @@ -302,8 +314,9 @@ void testAddBlankWithText(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() + .setItemId(itemId) .setNumber(1) .setShowBlanksList(true) .setClozeElements(List.of( diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java index 7cd4c69..6adbd8e 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java @@ -1,13 +1,15 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.CreateExactAnswerQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ExactAnswerQuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.CreateExactAnswerQuestionInput; +import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; @@ -20,7 +22,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest @@ -57,8 +59,9 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateExactAnswerQuestionInput input = CreateExactAnswerQuestionInput.builder() + .setItemId(itemId) .setHint("hint") .setText("question") .setFeedback("feedback") @@ -74,6 +77,9 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) + .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].itemId") + .entity(UUID.class).isEqualTo(itemId) + .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") @@ -96,7 +102,7 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { assertThat(questionEntity, instanceOf(ExactAnswerQuestionEntity.class)); final ExactAnswerQuestionEntity exactAnswerQuestionEntity = (ExactAnswerQuestionEntity) questionEntity; - + assertThat(exactAnswerQuestionEntity.getItemId(),is("itemId")); assertThat(exactAnswerQuestionEntity.getHint(), is("hint")); assertThat(exactAnswerQuestionEntity.getText(), is("question")); assertThat(exactAnswerQuestionEntity.getFeedback(), is("feedback")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java index 85213a8..8b89122 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java @@ -1,10 +1,10 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; @@ -22,7 +22,7 @@ import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest @TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) @@ -57,8 +57,9 @@ void testAddMultipleChoiceQuestion(final GraphQlTester graphQlTester) { createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() + .setItemId(itemId) .setText("what is the capital of France?") .setNumber(2) .setAnswers(List.of( @@ -97,8 +98,9 @@ void testAddMultipleChoiceQuestionNextNumber(final GraphQlTester graphQlTester) createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId = UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() + .setItemId(itemId) .setText("what is the capital of France?") .setNumber(null) // number should be assigned automatically .setAnswers(List.of( @@ -139,8 +141,9 @@ void testAddMultipleChoiceQuestionDuplicateNumber(final GraphQlTester graphQlTes createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() + .setItemId(itemId) .setText("what is the capital of France?") .setNumber(1) // already existing number .setAnswers(List.of( @@ -179,8 +182,9 @@ void testAddMultipleChoiceQuestionNoCorrectAnswer(final GraphQlTester graphQlTes createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() + .setItemId(itemId) .setText("what is the capital of France?") .setAnswers(List.of( MultipleChoiceAnswerInput.builder() @@ -218,8 +222,9 @@ void testAddMultipleChoiceQuestionTooFewAnswers(final GraphQlTester graphQlTeste createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() + .setItemId(itemId) .setText("what is the capital of France?") .setAnswers(List.of( MultipleChoiceAnswerInput.builder() diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java index 94a14c6..d2f6dfa 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java @@ -1,13 +1,15 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.CreateNumericQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.NumericQuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.CreateNumericQuestionInput; +import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; @@ -18,7 +20,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; @@ -57,8 +59,9 @@ void testAddNumericQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateNumericQuestionInput input = CreateNumericQuestionInput.builder() + .setItemId(itemId) .setHint("hint") .setText("question") .setFeedback("feedback") @@ -73,6 +76,9 @@ void testAddNumericQuestion(final GraphQlTester graphQlTester) { .path("mutateQuiz.addNumericQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) + .path("mutateQuiz.addNumericQuestion.questionPool[0].itemId") + .entity(UUID.class).isEqualTo(itemId) + .path("mutateQuiz.addNumericQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") @@ -96,6 +102,7 @@ void testAddNumericQuestion(final GraphQlTester graphQlTester) { assertThat(questionEntity, instanceOf(NumericQuestionEntity.class)); final NumericQuestionEntity numericQuestionEntity = (NumericQuestionEntity) questionEntity; + assertThat(numericQuestionEntity.getItemId(), is(itemId)); assertThat(numericQuestionEntity.getHint(), is("hint")); assertThat(numericQuestionEntity.getText(), is("question")); assertThat(numericQuestionEntity.getFeedback(), is("feedback")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java index 57fa9b6..d2391f1 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java @@ -1,11 +1,13 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.*; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.CreateSelfAssessmentQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.SelfAssessmentQuestionEntity; +import de.unistuttgart.iste.meitrex.common.testutil.*; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.CreateSelfAssessmentQuestionInput; +import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; @@ -16,7 +18,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; @@ -55,8 +57,9 @@ void testAddSelfAssessmentQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - + UUID itemId=UUID.randomUUID(); final CreateSelfAssessmentQuestionInput input = CreateSelfAssessmentQuestionInput.builder() + .setItemId(itemId) .setHint("hint") .setText("question") .setSolutionSuggestion("solution suggestion") @@ -69,6 +72,9 @@ void testAddSelfAssessmentQuestion(final GraphQlTester graphQlTester) { .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) + .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].itemId") + .entity(UUID.class).isEqualTo(itemId) + .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") @@ -86,6 +92,7 @@ void testAddSelfAssessmentQuestion(final GraphQlTester graphQlTester) { assertThat(questionEntity, instanceOf(SelfAssessmentQuestionEntity.class)); final SelfAssessmentQuestionEntity selfAssessmentQuestionEntity = (SelfAssessmentQuestionEntity) questionEntity; + assertThat(selfAssessmentQuestionEntity.getItemId(), is(itemId)); assertThat(selfAssessmentQuestionEntity.getHint(), is("hint")); assertThat(selfAssessmentQuestionEntity.getText(), is("question")); assertThat(selfAssessmentQuestionEntity.getSolutionSuggestion(), is("solution suggestion")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java index 0c4c3ca..37553f4 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java @@ -1,10 +1,10 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceQuestion; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceQuestion; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; @@ -19,7 +19,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.createMultipleChoiceQuestion; import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java index a416deb..aff61f1 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java @@ -1,16 +1,18 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceQuestion; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceQuestion; import jakarta.transaction.Transactional; +import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; @@ -19,9 +21,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createMultipleChoiceQuestion; -import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; @@ -48,9 +48,9 @@ void testSwitchQuestion(final GraphQlTester graphQlTester) { // store questions in separate variable because spring apparently caches the quiz entity instance // so the following quiz entity instance is updated during the mutation final List questionEntities = List.of( - createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"), - createMultipleChoiceQuestion(2, "what is the capital of France?", "Paris", "Madrid"), - createMultipleChoiceQuestion(3, "what is the capital of Spain?", "Madrid", "Berlin")); + TestData.createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"), + TestData.createMultipleChoiceQuestion(2, "what is the capital of France?", "Paris", "Madrid"), + TestData.createMultipleChoiceQuestion(3, "what is the capital of Spain?", "Madrid", "Berlin")); QuizEntity quizEntity = TestData.exampleQuizBuilder(courseId) .questionPool(questionEntities) @@ -76,18 +76,15 @@ void testSwitchQuestion(final GraphQlTester graphQlTester) { assertThat(questions, hasSize(3)); final QuestionEntity expectedFirstEntity = questionEntities.get(0); - expectedFirstEntity.setId(quizEntity.getQuestionPool().get(0).getId()); - assertThat(questions.get(0), matchesEntity(expectedFirstEntity)); + MatcherAssert.assertThat(questions.get(0), MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity(expectedFirstEntity)); final QuestionEntity expectedSecondEntity = questionEntities.get(2); expectedSecondEntity.setNumber(2); - expectedSecondEntity.setId(quizEntity.getQuestionPool().get(1).getId()); - assertThat(questions.get(1), matchesEntity(expectedSecondEntity)); + MatcherAssert.assertThat(questions.get(1), MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity(expectedSecondEntity)); final QuestionEntity expectedThirdEntity = questionEntities.get(1); expectedThirdEntity.setNumber(3); - expectedThirdEntity.setId(quizEntity.getQuestionPool().get(2).getId()); - assertThat(questions.get(2), matchesEntity(expectedThirdEntity)); + MatcherAssert.assertThat(questions.get(2), MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity(expectedThirdEntity)); final QuizEntity newQuizEntity = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); assertThat(newQuizEntity.getQuestionPool(), hasSize(3)); @@ -106,8 +103,8 @@ void testSwitchQuestion(final GraphQlTester graphQlTester) { void testSwotchQuestionNonExisting(final GraphQlTester graphQlTester) { QuizEntity quizEntity = TestData.exampleQuizBuilder(courseId) .questionPool(List.of( - createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"), - createMultipleChoiceQuestion(2, "what is the capital of France?", "Paris", "Madrid"))) + TestData.createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"), + TestData.createMultipleChoiceQuestion(2, "what is the capital of France?", "Paris", "Madrid"))) .build(); quizEntity = quizRepository.save(quizEntity); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java index f881959..8977438 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java @@ -1,12 +1,13 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.QuestionPoolingMode; +import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; @@ -14,8 +15,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createMultipleChoiceQuestion; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; @@ -44,7 +44,7 @@ void testMutateQuiz(final GraphQlTester graphQlTester) { .numberOfRandomlySelectedQuestions(1) .requiredCorrectAnswers(1) .questionPool(List.of( - createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) + TestData.createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java index 68af810..e2e395e 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java @@ -1,16 +1,17 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationQuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import jakarta.transaction.Transactional; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; @@ -19,9 +20,8 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.association; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createAssociationQuestion; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; @@ -42,17 +42,17 @@ class MutateQuizUpdateAssociationQuestionTest { void testUpdateAssociationQuestion(final GraphQlTester graphQlTester) { QuizEntity quizEntity = TestData.exampleQuizBuilder(courseId) .questionPool(List.of( - createAssociationQuestion(1, association("a", "b"), association("c", "d")))) + TestData.createAssociationQuestion(1, TestData.association("a", "b"), TestData.association("c", "d")))) .build(); quizEntity = quizRepository.save(quizEntity); final UpdateAssociationQuestionInput input = UpdateAssociationQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setHint("new hint") .setText("new question") .setCorrectAssociations(List.of( - new AssociationInput("newA", "newC", "new feedback1"), - new AssociationInput("newB", "newD", "new feedback2"))) + new AssociationInput(UUID.randomUUID(),"newA", "newC", "new feedback1"), + new AssociationInput(UUID.randomUUID(),"newB", "newD", "new feedback2"))) .build(); final String query = QuizFragments.FRAGMENT_DEFINITION + """ @@ -83,9 +83,9 @@ void testUpdateAssociationQuestion(final GraphQlTester graphQlTester) { assertThat(updatedQuestion.getText(), is("new question")); assertThat(updatedQuestion.getHint(), is("new hint")); assertThat(updatedQuestion.getCorrectAssociations(), hasSize(2)); - assertThat(updatedQuestion.getCorrectAssociations(), containsInAnyOrder( - association("newA", "newC", "new feedback1"), - association("newB", "newD", "new feedback2"))); + assertThat(updatedQuestion.getCorrectAssociations(), Matchers.containsInAnyOrder( + TestData.association("newA", "newC", "new feedback1"), + TestData.association("newB", "newD", "new feedback2"))); } diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java index f0cb479..08e631e 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java @@ -1,10 +1,10 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ClozeQuestionEntity; @@ -19,7 +19,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; @@ -49,7 +49,7 @@ void testUpdateClozeQuestion(final GraphQlTester graphQlTester) { quizEntity = quizRepository.save(quizEntity); final UpdateClozeQuestionInput input = UpdateClozeQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setClozeElements(List.of( ClozeElementInput.builder() .setType(ClozeElementType.TEXT) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java index 53b87d7..e9ae2cc 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java @@ -1,12 +1,12 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.UpdateExactAnswerQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.UpdateExactAnswerQuestionInput; +import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ExactAnswerQuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; @@ -19,7 +19,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.createExactAnswerQuestion; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; @@ -46,7 +46,7 @@ void testUpdateExactAnswerQuestion(final GraphQlTester graphQlTester) { quizEntity = quizRepository.save(quizEntity); final UpdateExactAnswerQuestionInput input = UpdateExactAnswerQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setHint("new hint") .setText("new question") .setFeedback("new feedback") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java index 760518a..d23130d 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java @@ -1,15 +1,18 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToUpdateInputMatcher; +import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionEntityToUpdateInputMatcher; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import jakarta.transaction.Transactional; +import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; @@ -18,10 +21,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createMultipleChoiceQuestion; -import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToUpdateInputMatcher.matchesInput; -import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionEntityToUpdateInputMatcher.matchesUpdateQuizInput; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; @@ -42,12 +42,12 @@ class MutateQuizUpdateMultipleChoiceQuestionTest { void testUpdateMultipleChoiceQuestion(final GraphQlTester graphQlTester) { QuizEntity quizEntity = TestData.exampleQuizBuilder(courseId) .questionPool(List.of( - createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) + TestData.createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); final UpdateMultipleChoiceQuestionInput input = UpdateMultipleChoiceQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setText("what is the capital of France?") .setAnswers(List.of( MultipleChoiceAnswerInput.builder() @@ -80,11 +80,11 @@ void testUpdateMultipleChoiceQuestion(final GraphQlTester graphQlTester) { assertThat(questions, hasSize(1)); System.out.println(questions.get(0)); - assertThat(questions.get(0), matchesInput(input)); + MatcherAssert.assertThat(questions.get(0), MultipleChoiceQuestionDtoToUpdateInputMatcher.matchesInput(input)); final QuizEntity updatedQuiz = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); assertThat(updatedQuiz.getQuestionPool(), hasSize(1)); - assertThat(updatedQuiz.getQuestionPool().get(0), matchesUpdateQuizInput(input)); + assertThat(updatedQuiz.getQuestionPool().get(0), MultipleChoiceQuestionEntityToUpdateInputMatcher.matchesUpdateQuizInput(input)); } } diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java index 5350107..358f2f3 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java @@ -1,15 +1,15 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.UpdateNumericQuestionInput; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.NumericQuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.UpdateNumericQuestionInput; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -19,8 +19,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createNumericQuestion; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; @@ -42,12 +41,12 @@ class MutateQuizUpdateNumericQuestionTest { void testUpdateNumericQuestion(final GraphQlTester graphQlTester) { QuizEntity quizEntity = TestData.exampleQuizBuilder(courseId) .questionPool(List.of( - createNumericQuestion(1, "question", 2.0))) + TestData.createNumericQuestion(1, "question", 2.0))) .build(); quizEntity = quizRepository.save(quizEntity); final UpdateNumericQuestionInput input = UpdateNumericQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setHint("new hint") .setText("new question") .setCorrectAnswer(3.0) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java index 9e62343..78c0071 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java @@ -1,10 +1,10 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.UpdateSelfAssessmentQuestionInput; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.UpdateSelfAssessmentQuestionInput; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; @@ -19,7 +19,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.createSelfAssessmentQuestion; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; @@ -47,7 +47,7 @@ void testUpdateSelfAssessmentQuestion(final GraphQlTester graphQlTester) { quizEntity = quizRepository.save(quizEntity); final UpdateSelfAssessmentQuestionInput input = UpdateSelfAssessmentQuestionInput.builder() - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setHint("new hint") .setText("new question") .setSolutionSuggestion("new solution suggestion") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java index 7cc6bff..5b009fb 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java @@ -1,16 +1,17 @@ package de.unistuttgart.iste.gits.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.common.dapr.TopicPublisher; -import de.unistuttgart.iste.gits.common.event.ContentProgressedEvent; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.MockTestPublisherConfiguration; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.QuestionCompletedInput; -import de.unistuttgart.iste.gits.generated.dto.QuestionPoolingMode; -import de.unistuttgart.iste.gits.generated.dto.QuizCompletedInput; -import de.unistuttgart.iste.gits.generated.dto.QuizCompletionFeedback; +import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; +import de.unistuttgart.iste.meitrex.common.event.ContentProgressedEvent; +import de.unistuttgart.iste.meitrex.common.event.Response; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.MockTestPublisherConfiguration; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionCompletedInput; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; +import de.unistuttgart.iste.meitrex.generated.dto.QuizCompletedInput; +import de.unistuttgart.iste.meitrex.generated.dto.QuizCompletionFeedback; import de.unistuttgart.iste.gits.quiz_service.TestData; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; @@ -25,7 +26,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.mockito.Mockito.times; @@ -70,12 +71,12 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { // create Inputs final QuestionCompletedInput inputQuestion = QuestionCompletedInput.builder() - .setQuestionId(quizEntity.getQuestionPool().get(0).getId()) + .setQuestionId(quizEntity.getQuestionPool().get(0).getItemId()) .setCorrect(true) .setUsedHint(false) .build(); final QuestionCompletedInput inputQuestion2 = QuestionCompletedInput.builder() - .setQuestionId(quizEntity.getQuestionPool().get(1).getId()) + .setQuestionId(quizEntity.getQuestionPool().get(1).getItemId()) .setCorrect(false) .setUsedHint(true) .build(); @@ -84,7 +85,22 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - + final Response response1= Response.builder() + .itemId(questions.get(0).getItemId()) + .response(0) + .build(); + final Response response2=Response.builder() + .itemId(questions.get(1).getItemId()) + .build(); + final Response response3=Response.builder() + .itemId(questions.get(2).getItemId()) + .response(0.5F) + .build(); + final Response response4=Response.builder() + .itemId(questions.get(3).getItemId()) + .response(0.5F) + .build(); + final Listresponses=List.of(response1,response2,response3,response4); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(loggedInUser.getId()) @@ -93,6 +109,7 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { .success(false) .timeToComplete(null) .correctness(1.0 / quizEntity.getQuestionPool().size()) + .responses(responses ) .build(); final QuizCompletionFeedback expectedQuizCompletionFeedback = QuizCompletionFeedback.builder() .setCorrectness(1.0 / quizEntity.getQuestionPool().size()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java index dad175b..5fcea42 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java @@ -1,11 +1,11 @@ package de.unistuttgart.iste.gits.quiz_service.api.query; import com.fasterxml.jackson.databind.ObjectMapper; -import de.unistuttgart.iste.gits.common.testutil.GraphQlApiTest; -import de.unistuttgart.iste.gits.common.testutil.InjectCurrentUserHeader; -import de.unistuttgart.iste.gits.common.testutil.TablesToDelete; -import de.unistuttgart.iste.gits.common.user_handling.LoggedInUser; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; +import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; +import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; +import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; +import de.unistuttgart.iste.meitrex.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; @@ -16,7 +16,7 @@ import java.util.List; import java.util.UUID; -import static de.unistuttgart.iste.gits.common.testutil.TestUsers.userWithMembershipInCourseWithId; +import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; import static de.unistuttgart.iste.gits.quiz_service.TestData.*; import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; import static org.hamcrest.MatcherAssert.assertThat; @@ -118,7 +118,7 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception .setNumber(1) .setText("What is the answer to life, the universe and everything?") .setHint("hint") - .setId(quizEntity.getQuestionPool().get(0).getId()) + .setItemId(quizEntity.getQuestionPool().get(0).getItemId()) .setAnswers(List.of( MultipleChoiceAnswer.builder() .setAnswerText("42") @@ -135,10 +135,10 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception .build(), AssociationQuestion.builder() .setNumber(2) - .setId(quizEntity.getQuestionPool().get(1).getId()) + .setItemId(quizEntity.getQuestionPool().get(1).getItemId()) .setText("text") .setHint("hint") - .setId(quizEntity.getQuestionPool().get(1).getId()) + .setItemId(quizEntity.getQuestionPool().get(1).getItemId()) .setType(QuestionType.ASSOCIATION) .setCorrectAssociations(List.of( new SingleAssociation("A", "1", "feedback"), @@ -149,7 +149,7 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception ClozeQuestion.builder() .setNumber(3) .setHint("hint") - .setId(quizEntity.getQuestionPool().get(2).getId()) + .setItemId(quizEntity.getQuestionPool().get(2).getItemId()) .setType(QuestionType.CLOZE) .setShowBlanksList(true) .setAdditionalWrongAnswers(List.of("wrong1", "wrong2")) @@ -166,7 +166,7 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception ExactAnswerQuestion.builder() .setNumber(4) .setHint("hint") - .setId(quizEntity.getQuestionPool().get(3).getId()) + .setItemId(quizEntity.getQuestionPool().get(3).getItemId()) .setType(QuestionType.EXACT_ANSWER) .setText("question") .setCorrectAnswers(List.of("answer")) @@ -176,7 +176,7 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception NumericQuestion.builder() .setNumber(5) .setHint("hint") - .setId(quizEntity.getQuestionPool().get(4).getId()) + .setItemId(quizEntity.getQuestionPool().get(4).getItemId()) .setType(QuestionType.NUMERIC) .setText("question") .setCorrectAnswer(42) @@ -186,7 +186,7 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception SelfAssessmentQuestion.builder() .setNumber(6) .setHint("hint") - .setId(quizEntity.getQuestionPool().get(5).getId()) + .setItemId(quizEntity.getQuestionPool().get(5).getItemId()) .setType(QuestionType.SELF_ASSESSMENT) .setText("question") .setSolutionSuggestion("answer") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java index 9dc7c19..784e45a 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceAnswer; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswer; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToInputMatcher.java index 193c9d4..98a308e 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerDtoToInputMatcher.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceAnswer; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceAnswerInput; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswer; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswerInput; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java index 834fb5f..66959eb 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceAnswerInput; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswerInput; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToCreateInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToCreateInputMatcher.java index 7793c8f..d9c4ec2 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToCreateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToCreateInputMatcher.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.generated.dto.*; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; @@ -23,6 +23,10 @@ public static MultipleChoiceQuestionDtoToCreateInputMatcher matchesInput(final C @Override protected boolean matchesSafely(final MultipleChoiceQuestion item, final Description mismatchDescription) { + if (!Objects.equals(item.getItemId(), expected.getItemId())) { + mismatchDescription.appendText("id was ").appendValue(item.getItemId()); + return false; + } if (!Objects.equals(item.getNumber(), expected.getNumber())) { mismatchDescription.appendText("number was ").appendValue(item.getNumber()); return false; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java index 8c13bf5..d86ddb5 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java @@ -1,9 +1,9 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.MultipleChoiceQuestion; -import de.unistuttgart.iste.gits.generated.dto.QuestionType; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceQuestion; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; @@ -30,8 +30,11 @@ protected boolean matchesSafely(final MultipleChoiceQuestion item, final Descrip mismatchDescription.appendText("expected was not a MultipleChoiceQuestionEntity"); return false; } - // for convenience, we do not check the id as it is usually null before saving + if (!Objects.equals(item.getItemId(), expected.getItemId())) { + mismatchDescription.appendText("id was ").appendValue(item.getItemId()); + return false; + } if (item.getNumber() != expected.getNumber()) { mismatchDescription.appendText("number was ").appendValue(item.getNumber()); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToUpdateInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToUpdateInputMatcher.java index dbd82ee..afbc945 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToUpdateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionDtoToUpdateInputMatcher.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.*; +import de.unistuttgart.iste.meitrex.generated.dto.*; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; @@ -23,8 +23,8 @@ public static MultipleChoiceQuestionDtoToUpdateInputMatcher matchesInput(final U @Override protected boolean matchesSafely(final MultipleChoiceQuestion item, final Description mismatchDescription) { - if (!Objects.equals(item.getId(), expected.getId())) { - mismatchDescription.appendText("id was ").appendValue(item.getId()); + if (!Objects.equals(item.getItemId(), expected.getItemId())) { + mismatchDescription.appendText("id was ").appendValue(item.getItemId()); return false; } if (!Objects.equals(item.getType(), QuestionType.MULTIPLE_CHOICE)) { diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java index 46bb37d..cde9985 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java @@ -1,9 +1,9 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.QuestionType; -import de.unistuttgart.iste.gits.generated.dto.UpdateMultipleChoiceQuestionInput; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; +import de.unistuttgart.iste.meitrex.generated.dto.UpdateMultipleChoiceQuestionInput; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; @@ -26,8 +26,8 @@ public static MultipleChoiceQuestionEntityToUpdateInputMatcher matchesUpdateQuiz @Override protected boolean matchesSafely(final QuestionEntity item, final Description mismatchDescription) { - if (!Objects.equals(item.getId(), expected.getId())) { - mismatchDescription.appendText("id was ").appendValue(item.getId()); + if (!Objects.equals(item.getItemId(), expected.getItemId())) { + mismatchDescription.appendText("id was ").appendValue(item.getItemId()); return false; } if (!Objects.equals(item.getType(), QuestionType.MULTIPLE_CHOICE)) { diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/QuizEntityToCreateInputMatcher.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/QuizEntityToCreateInputMatcher.java index 9a7638f..d982c81 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/QuizEntityToCreateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/matcher/QuizEntityToCreateInputMatcher.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.gits.quiz_service.matcher; -import de.unistuttgart.iste.gits.generated.dto.CreateQuizInput; import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.generated.dto.CreateQuizInput; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java index 46ef020..eb20768 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java @@ -1,14 +1,16 @@ package de.unistuttgart.iste.gits.quiz_service.service; -import de.unistuttgart.iste.gits.common.dapr.TopicPublisher; -import de.unistuttgart.iste.gits.common.event.*; -import de.unistuttgart.iste.gits.common.exception.IncompleteEventMessageException; -import de.unistuttgart.iste.gits.generated.dto.*; import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.gits.quiz_service.persistence.mapper.QuizMapper; import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; import de.unistuttgart.iste.gits.quiz_service.validation.QuizValidator; +import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; +import de.unistuttgart.iste.meitrex.common.event.*; +import de.unistuttgart.iste.meitrex.common.exception.IncompleteEventMessageException; +import de.unistuttgart.iste.meitrex.generated.dto.*; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.modelmapper.ModelMapper; @@ -143,12 +145,12 @@ void publishProgressRandomModeTest() { // create Inputs final QuestionCompletedInput inputQuestion = QuestionCompletedInput.builder() - .setQuestionId(questions.get(0).getId()) + .setQuestionId(questions.get(0).getItemId()) .setCorrect(true) .setUsedHint(false) .build(); final QuestionCompletedInput inputQuestion2 = QuestionCompletedInput.builder() - .setQuestionId(questions.get(1).getId()) + .setQuestionId(questions.get(1).getItemId()) .setCorrect(true) .setUsedHint(false) .build(); @@ -157,7 +159,23 @@ void publishProgressRandomModeTest() { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - + final Response response1=Response.builder() + .itemId(questions.get(0).getItemId()) + .response(0) + .build(); + final Response response2=Response.builder() + .itemId(questions.get(1).getItemId()) + .build(); + final Response response3=Response.builder() + .itemId(questions.get(2).getItemId()) + .response(0.5F) + .build(); + final Response response4=Response.builder() + .itemId(questions.get(3).getItemId()) + .response(0.5F) + .build(); + final Listresponses=List.of(response1,response2,response3,response4); + // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) @@ -166,6 +184,7 @@ void publishProgressRandomModeTest() { .success(true) .timeToComplete(null) .correctness(2.0 / quizEntity.getNumberOfRandomlySelectedQuestions()) + .responses(responses) .build(); final QuizCompletionFeedback expectedQuizCompletionFeedback = QuizCompletionFeedback.builder() .setSuccess(true) @@ -204,12 +223,12 @@ void publishProgressOrderedModeTest() { // create Inputs final QuestionCompletedInput inputQuestion = QuestionCompletedInput.builder() - .setQuestionId(questions.get(0).getId()) + .setQuestionId(questions.get(0).getItemId()) .setCorrect(true) .setUsedHint(false) .build(); final QuestionCompletedInput inputQuestion2 = QuestionCompletedInput.builder() - .setQuestionId(questions.get(1).getId()) + .setQuestionId(questions.get(1).getItemId()) .setCorrect(false) .setUsedHint(true) .build(); @@ -218,7 +237,22 @@ void publishProgressOrderedModeTest() { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - + final Response response1=Response.builder() + .itemId(questions.get(0).getItemId()) + .response(0) + .build(); + final Response response2=Response.builder() + .itemId(questions.get(1).getItemId()) + .build(); + final Response response3=Response.builder() + .itemId(questions.get(2).getItemId()) + .response(0.5F) + .build(); + final Response response4=Response.builder() + .itemId(questions.get(3).getItemId()) + .response(0.5F) + .build(); + final Listresponses=List.of(response1,response2,response3,response4); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) @@ -227,6 +261,7 @@ void publishProgressOrderedModeTest() { .success(false) .timeToComplete(null) .correctness(1.0 / quizEntity.getQuestionPool().size()) + .responses(responses) .build(); final QuizCompletionFeedback expectedQuizCompletionFeedback = QuizCompletionFeedback.builder() .setCorrectness(1.0 / quizEntity.getQuestionPool().size()) From ac76348c243bff12adbcb81ba91f62f6cb758804 Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Mon, 8 Apr 2024 18:31:47 +0200 Subject: [PATCH 2/9] Fixed tests --- .../iste/gits/quiz_service/TestData.java | 3 ++ .../quiz_service/api/AuthorizationTest.java | 2 +- .../MutateQuizAddAssociationQuestionTest.java | 16 +++++------ .../MutateQuizAddClozeQuestionTest.java | 16 +++++------ .../MutateQuizAddExactAnswerQuestionTest.java | 18 ++++++------ ...tateQuizAddMultipleChoiceQuestionTest.java | 6 ++-- .../MutateQuizAddNumericQuestionTest.java | 16 +++++------ ...tateQuizAddSelfAssessmentQuestionTest.java | 12 ++++---- ...tateQuizUpdateAssociationQuestionTest.java | 10 +++---- .../MutateQuizUpdateClozeQuestionTest.java | 14 +++++----- ...tateQuizUpdateExactAnswerQuestionTest.java | 14 +++++----- ...eQuizUpdateMultipleChoiceQuestionTest.java | 4 +-- .../MutateQuizUpdateNumericQuestionTest.java | 12 ++++---- ...eQuizUpdateSelfAssessmentQuestionTest.java | 10 +++---- .../MutationLogQuizCompletionTest.java | 13 ++------- .../quiz_service/api/query/QueryByIdTest.java | 1 - .../quiz_service/service/QuizServiceTest.java | 28 ++++++------------- 17 files changed, 89 insertions(+), 106 deletions(-) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java index 7680285..2242efb 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/TestData.java @@ -25,6 +25,7 @@ public static MultipleChoiceQuestionEntity createMultipleChoiceQuestion( final String... wrongAnswerText) { final var builder = MultipleChoiceQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.MULTIPLE_CHOICE) .hint("hint") .number(number) @@ -77,6 +78,7 @@ public static ClozeElementEmbeddable clozeBlank(final String correctAnswer) { public static AssociationQuestionEntity createAssociationQuestion(final int number, final AssociationEmbeddable... associations) { return AssociationQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.ASSOCIATION) .number(number) .text("text") @@ -125,6 +127,7 @@ public static NumericQuestionEntity createNumericQuestion(final int number, fina public static SelfAssessmentQuestionEntity createSelfAssessmentQuestion(final int number, final String question, final String answer) { return SelfAssessmentQuestionEntity.builder() + .itemId(UUID.randomUUID()) .type(QuestionType.SELF_ASSESSMENT) .number(number) .text(question) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java index 40d8e73..9878b27 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/AuthorizationTest.java @@ -31,7 +31,7 @@ public class AuthorizationTest { private static final String ADD_CLOZE_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateClozeQuestionInput!) { mutateQuiz(assessmentId: $id) { - addClozeQuestion(input: $input) { + _internal_noauth_addClozeQuestion(input: $input) { ...QuizAllFields } } diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java index dec466d..6deca2b 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java @@ -42,7 +42,7 @@ class MutateQuizAddAssociationQuestionTest { private static final String ADD_ASSOCIATION_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateAssociationQuestionInput!) { mutateQuiz(assessmentId: $id) { - addAssociationQuestion(input: $input) { + _internal_noauth_addAssociationQuestion(input: $input) { ...QuizAllFields } } @@ -77,33 +77,33 @@ void testAddAssociationQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addAssociationQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].number") .entity(Integer.class) .isEqualTo(1) - .path("mutateQuiz.addAssociationQuestion.questionPool[0].text") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].text") .entity(String.class) .isEqualTo("question") - .path("mutateQuiz.addAssociationQuestion.questionPool[0].hint") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].hint") .entity(String.class) .isEqualTo("hint") - .path("mutateQuiz.addAssociationQuestion.questionPool[0].itemId") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].itemId") .entity(UUID.class) .isEqualTo(itemId) - .path("mutateQuiz.addAssociationQuestion.questionPool[0].correctAssociations") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].correctAssociations") .entityList(SingleAssociation.class) .contains( new SingleAssociation("a", "b", "feedback1"), new SingleAssociation("c", "d", "feedback2")) - .path("mutateQuiz.addAssociationQuestion.questionPool[0].leftSide") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].leftSide") .entityList(String.class) .contains("a", "c") - .path("mutateQuiz.addAssociationQuestion.questionPool[0].rightSide") + .path("mutateQuiz._internal_noauth_addAssociationQuestion.questionPool[0].rightSide") .entityList(String.class) .contains("b", "d"); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java index bdb6e15..1bf64e6 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java @@ -33,7 +33,7 @@ class MutateQuizAddClozeQuestionTest { private static final String ADD_CLOZE_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateClozeQuestionInput!) { mutateQuiz(assessmentId: $id) { - addClozeQuestion(input: $input) { + _internal_noauth_addClozeQuestion(input: $input) { ...QuizAllFields } } @@ -85,31 +85,31 @@ void testAddClozeQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addClozeQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].number") .entity(Integer.class) .isEqualTo(1) - .path("mutateQuiz.addClozeQuestion.questionPool[0].itemId") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].itemId") .entity(UUID.class) .isEqualTo(itemId) - .path("mutateQuiz.addClozeQuestion.questionPool[0].showBlanksList") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].showBlanksList") .entity(Boolean.class) .isEqualTo(false) - .path("mutateQuiz.addClozeQuestion.questionPool[0].additionalWrongAnswers") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].additionalWrongAnswers") .entityList(String.class) .isEqualTo(List.of("wrong1", "wrong2")) - .path("mutateQuiz.addClozeQuestion.questionPool[0].clozeElements[0].text") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].clozeElements[0].text") .entity(String.class) .isEqualTo("what is the capital of France?") - .path("mutateQuiz.addClozeQuestion.questionPool[0].clozeElements[1].correctAnswer") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].clozeElements[1].correctAnswer") .entity(String.class) .isEqualTo("Paris") - .path("mutateQuiz.addClozeQuestion.questionPool[0].clozeElements[1].feedback") + .path("mutateQuiz._internal_noauth_addClozeQuestion.questionPool[0].clozeElements[1].feedback") .entity(String.class) .isEqualTo("feedback"); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java index 6adbd8e..8a92632 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java @@ -39,7 +39,7 @@ class MutateQuizAddExactAnswerQuestionTest { private static final String ADD_EXACT_ANSWER_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateExactAnswerQuestionInput!) { mutateQuiz(assessmentId: $id) { - addExactAnswerQuestion(input: $input) { + _internal_noauth_addExactAnswerQuestion(input: $input) { ...QuizAllFields } } @@ -74,25 +74,25 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].itemId") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].itemId") .entity(UUID.class).isEqualTo(itemId) - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].hint") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].text") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].text") .entity(String.class).isEqualTo("question") - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].feedback") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].feedback") .entity(String.class).isEqualTo("feedback") - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].caseSensitive") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].caseSensitive") .entity(Boolean.class).isEqualTo(true) - .path("mutateQuiz.addExactAnswerQuestion.questionPool[0].correctAnswers") + .path("mutateQuiz._internal_noauth_addExactAnswerQuestion.questionPool[0].correctAnswers") .entityList(String.class).contains("a", "b"); final QuestionEntity questionEntity = quizRepository.findById(quizEntity.getAssessmentId()) @@ -102,7 +102,7 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { assertThat(questionEntity, instanceOf(ExactAnswerQuestionEntity.class)); final ExactAnswerQuestionEntity exactAnswerQuestionEntity = (ExactAnswerQuestionEntity) questionEntity; - assertThat(exactAnswerQuestionEntity.getItemId(),is("itemId")); + assertThat(exactAnswerQuestionEntity.getItemId(),is(itemId)); assertThat(exactAnswerQuestionEntity.getHint(), is("hint")); assertThat(exactAnswerQuestionEntity.getText(), is("question")); assertThat(exactAnswerQuestionEntity.getFeedback(), is("feedback")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java index 8b89122..c551630 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java @@ -31,7 +31,7 @@ class MutateQuizAddMultipleChoiceQuestionTest { private static final String UPDATE_MULTIPLE_CHOICE_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateMultipleChoiceQuestionInput!) { mutateQuiz(assessmentId: $id) { - addMultipleChoiceQuestion(input: $input) { + _internal_noauth_addMultipleChoiceQuestion(input: $input) { ...QuizAllFields } } @@ -77,7 +77,7 @@ void testAddMultipleChoiceQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addMultipleChoiceQuestion.questionPool") + .path("mutateQuiz._internal_noauth_addMultipleChoiceQuestion.questionPool") .entityList(MultipleChoiceQuestion.class) .get(); @@ -118,7 +118,7 @@ void testAddMultipleChoiceQuestionNextNumber(final GraphQlTester graphQlTester) .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addMultipleChoiceQuestion.questionPool") + .path("mutateQuiz._internal_noauth_addMultipleChoiceQuestion.questionPool") .entityList(MultipleChoiceQuestion.class) .get(); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java index d2f6dfa..74c0ddc 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java @@ -39,7 +39,7 @@ class MutateQuizAddNumericQuestionTest { private static final String ADD_NUMERIC_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateNumericQuestionInput!) { mutateQuiz(assessmentId: $id) { - addNumericQuestion(input: $input) { + _internal_noauth_addNumericQuestion(input: $input) { ...QuizAllFields } } @@ -73,25 +73,25 @@ void testAddNumericQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addNumericQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.addNumericQuestion.questionPool[0].itemId") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].itemId") .entity(UUID.class).isEqualTo(itemId) - .path("mutateQuiz.addNumericQuestion.questionPool[0].hint") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") - .path("mutateQuiz.addNumericQuestion.questionPool[0].text") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].text") .entity(String.class).isEqualTo("question") - .path("mutateQuiz.addNumericQuestion.questionPool[0].feedback") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].feedback") .entity(String.class).isEqualTo("feedback") - .path("mutateQuiz.addNumericQuestion.questionPool[0].correctAnswer") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].correctAnswer") .entity(Double.class).isEqualTo(2.0) - .path("mutateQuiz.addNumericQuestion.questionPool[0].tolerance") + .path("mutateQuiz._internal_noauth_addNumericQuestion.questionPool[0].tolerance") .entity(Double.class).isEqualTo(0.5); final QuestionEntity questionEntity = quizRepository.findById(quizEntity.getAssessmentId()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java index d2391f1..77ebee7 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java @@ -37,7 +37,7 @@ class MutateQuizAddSelfAssessmentQuestionTest { private static final String ADD_SELF_ASSESSMENT_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: CreateSelfAssessmentQuestionInput!) { mutateQuiz(assessmentId: $id) { - addSelfAssessmentQuestion(input: $input) { + _internal_noauth_addSelfAssessmentQuestion(input: $input) { ...QuizAllFields } } @@ -69,19 +69,19 @@ void testAddSelfAssessmentQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_addSelfAssessmentQuestion.questionPool[0].number") .entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].itemId") + .path("mutateQuiz._internal_noauth_addSelfAssessmentQuestion.questionPool[0].itemId") .entity(UUID.class).isEqualTo(itemId) - .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].hint") + .path("mutateQuiz._internal_noauth_addSelfAssessmentQuestion.questionPool[0].hint") .entity(String.class).isEqualTo("hint") - .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].text") + .path("mutateQuiz._internal_noauth_addSelfAssessmentQuestion.questionPool[0].text") .entity(String.class).isEqualTo("question") - .path("mutateQuiz.addSelfAssessmentQuestion.questionPool[0].solutionSuggestion") + .path("mutateQuiz._internal_noauth_addSelfAssessmentQuestion.questionPool[0].solutionSuggestion") .entity(String.class).isEqualTo("solution suggestion"); final QuestionEntity questionEntity = quizRepository.findById(quizEntity.getAssessmentId()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java index e2e395e..bcd08c1 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java @@ -58,7 +58,7 @@ void testUpdateAssociationQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateAssociationQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateAssociationQuestion(input: $input) { + _internal_noauth_updateAssociationQuestion(input: $input) { ...QuizAllFields } } @@ -69,10 +69,10 @@ void testUpdateAssociationQuestion(final GraphQlTester graphQlTester) { .variable("id", quizEntity.getAssessmentId()) .variable("input", input) .execute() - .path("mutateQuiz.updateAssociationQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.updateAssociationQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") - .path("mutateQuiz.updateAssociationQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") - .path("mutateQuiz.updateAssociationQuestion.questionPool[0].correctAssociations").entityList(SingleAssociation.class) + .path("mutateQuiz._internal_noauth_updateAssociationQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) + .path("mutateQuiz._internal_noauth_updateAssociationQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") + .path("mutateQuiz._internal_noauth_updateAssociationQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") + .path("mutateQuiz._internal_noauth_updateAssociationQuestion.questionPool[0].correctAssociations").entityList(SingleAssociation.class) .contains( new SingleAssociation("newA", "newC", "new feedback1"), new SingleAssociation("newB", "newD", "new feedback2")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java index 08e631e..157d1f4 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java @@ -68,7 +68,7 @@ void testUpdateClozeQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateClozeQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateClozeQuestion(input: $input) { + _internal_noauth_updateClozeQuestion(input: $input) { ...QuizAllFields } } @@ -79,32 +79,32 @@ void testUpdateClozeQuestion(final GraphQlTester graphQlTester) { .variable("id", quizEntity.getAssessmentId()) .variable("input", input) .execute() - .path("mutateQuiz.updateClozeQuestion.questionPool[0].number") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].number") .entity(Integer.class) .isEqualTo(1) - .path("mutateQuiz.updateClozeQuestion.questionPool[0].clozeElements[0]") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].clozeElements[0]") .entity(ClozeTextElement.class) .isEqualTo(ClozeTextElement.builder() .setText("This is an example text with a blank.") .build()) - .path("mutateQuiz.updateClozeQuestion.questionPool[0].clozeElements[1]") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].clozeElements[1]") .entity(ClozeBlankElement.class) .isEqualTo(ClozeBlankElement.builder() .setCorrectAnswer("blank") .setFeedback("new feedback") .build()) - .path("mutateQuiz.updateClozeQuestion.questionPool[0].showBlanksList") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].showBlanksList") .entity(Boolean.class) .isEqualTo(false) - .path("mutateQuiz.updateClozeQuestion.questionPool[0].hint") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].hint") .entity(String.class) .isEqualTo("new hint") - .path("mutateQuiz.updateClozeQuestion.questionPool[0].additionalWrongAnswers") + .path("mutateQuiz._internal_noauth_updateClozeQuestion.questionPool[0].additionalWrongAnswers") .entityList(String.class) .containsExactly("new wrong answer"); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java index e9ae2cc..f827a2a 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java @@ -57,7 +57,7 @@ void testUpdateExactAnswerQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateExactAnswerQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateExactAnswerQuestion(input: $input) { + _internal_noauth_updateExactAnswerQuestion(input: $input) { ...QuizAllFields } } @@ -68,12 +68,12 @@ void testUpdateExactAnswerQuestion(final GraphQlTester graphQlTester) { .variable("id", quizEntity.getAssessmentId()) .variable("input", input) .execute() - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].feedback").entity(String.class).isEqualTo("new feedback") - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].caseSensitive").entity(Boolean.class).isEqualTo(false) - .path("mutateQuiz.updateExactAnswerQuestion.questionPool[0].correctAnswers").entityList(String.class).contains("newA", "newB"); + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].feedback").entity(String.class).isEqualTo("new feedback") + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].caseSensitive").entity(Boolean.class).isEqualTo(false) + .path("mutateQuiz._internal_noauth_updateExactAnswerQuestion.questionPool[0].correctAnswers").entityList(String.class).contains("newA", "newB"); final QuizEntity updatedQuiz = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); assertThat(updatedQuiz.getQuestionPool(), hasSize(1)); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java index d23130d..f55448b 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java @@ -63,7 +63,7 @@ void testUpdateMultipleChoiceQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateMultipleChoiceQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateMultipleChoiceQuestion(input: $input) { + _internal_noauth_updateMultipleChoiceQuestion(input: $input) { ...QuizAllFields } } @@ -74,7 +74,7 @@ void testUpdateMultipleChoiceQuestion(final GraphQlTester graphQlTester) { .variable("input", input) .variable("id", quizEntity.getAssessmentId()) .execute() - .path("mutateQuiz.updateMultipleChoiceQuestion.questionPool") + .path("mutateQuiz._internal_noauth_updateMultipleChoiceQuestion.questionPool") .entityList(MultipleChoiceQuestion.class) .get(); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java index 358f2f3..54db843 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java @@ -57,7 +57,7 @@ void testUpdateNumericQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateNumericQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateNumericQuestion(input: $input) { + _internal_noauth_updateNumericQuestion(input: $input) { ...QuizAllFields } } @@ -68,11 +68,11 @@ void testUpdateNumericQuestion(final GraphQlTester graphQlTester) { .variable("id", quizEntity.getAssessmentId()) .variable("input", input) .execute() - .path("mutateQuiz.updateNumericQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.updateNumericQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") - .path("mutateQuiz.updateNumericQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") - .path("mutateQuiz.updateNumericQuestion.questionPool[0].correctAnswer").entity(Double.class).isEqualTo(3.0) - .path("mutateQuiz.updateNumericQuestion.questionPool[0].tolerance").entity(Double.class).isEqualTo(0.1); + .path("mutateQuiz._internal_noauth_updateNumericQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) + .path("mutateQuiz._internal_noauth_updateNumericQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") + .path("mutateQuiz._internal_noauth_updateNumericQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") + .path("mutateQuiz._internal_noauth_updateNumericQuestion.questionPool[0].correctAnswer").entity(Double.class).isEqualTo(3.0) + .path("mutateQuiz._internal_noauth_updateNumericQuestion.questionPool[0].tolerance").entity(Double.class).isEqualTo(0.1); final QuizEntity updatedQuiz = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); assertThat(updatedQuiz.getQuestionPool(), hasSize(1)); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java index 78c0071..13624e9 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java @@ -56,7 +56,7 @@ void testUpdateSelfAssessmentQuestion(final GraphQlTester graphQlTester) { final String query = QuizFragments.FRAGMENT_DEFINITION + """ mutation($id: UUID!, $input: UpdateSelfAssessmentQuestionInput!) { mutateQuiz(assessmentId: $id) { - updateSelfAssessmentQuestion(input: $input) { + _internal_noauth_updateSelfAssessmentQuestion(input: $input) { ...QuizAllFields } } @@ -67,10 +67,10 @@ void testUpdateSelfAssessmentQuestion(final GraphQlTester graphQlTester) { .variable("id", quizEntity.getAssessmentId()) .variable("input", input) .execute() - .path("mutateQuiz.updateSelfAssessmentQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) - .path("mutateQuiz.updateSelfAssessmentQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") - .path("mutateQuiz.updateSelfAssessmentQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") - .path("mutateQuiz.updateSelfAssessmentQuestion.questionPool[0].solutionSuggestion").entity(String.class).isEqualTo("new solution suggestion"); + .path("mutateQuiz._internal_noauth_updateSelfAssessmentQuestion.questionPool[0].number").entity(Integer.class).isEqualTo(1) + .path("mutateQuiz._internal_noauth_updateSelfAssessmentQuestion.questionPool[0].text").entity(String.class).isEqualTo("new question") + .path("mutateQuiz._internal_noauth_updateSelfAssessmentQuestion.questionPool[0].hint").entity(String.class).isEqualTo("new hint") + .path("mutateQuiz._internal_noauth_updateSelfAssessmentQuestion.questionPool[0].solutionSuggestion").entity(String.class).isEqualTo("new solution suggestion"); final QuizEntity updatedQuiz = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); assertThat(updatedQuiz.getQuestionPool(), hasSize(1)); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java index 5b009fb..4c8ea35 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java @@ -87,20 +87,13 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { .build(); final Response response1= Response.builder() .itemId(questions.get(0).getItemId()) - .response(0) + .response(1) .build(); final Response response2=Response.builder() .itemId(questions.get(1).getItemId()) + .response(0) .build(); - final Response response3=Response.builder() - .itemId(questions.get(2).getItemId()) - .response(0.5F) - .build(); - final Response response4=Response.builder() - .itemId(questions.get(3).getItemId()) - .response(0.5F) - .build(); - final Listresponses=List.of(response1,response2,response3,response4); + final Listresponses=List.of(response1,response2); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(loggedInUser.getId()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java index 5fcea42..6486845 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java @@ -135,7 +135,6 @@ void queryQuizWithQuestions(final GraphQlTester graphQlTester) throws Exception .build(), AssociationQuestion.builder() .setNumber(2) - .setItemId(quizEntity.getQuestionPool().get(1).getItemId()) .setText("text") .setHint("hint") .setItemId(quizEntity.getQuestionPool().get(1).getItemId()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java index eb20768..0be9856 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java @@ -161,20 +161,14 @@ void publishProgressRandomModeTest() { .build(); final Response response1=Response.builder() .itemId(questions.get(0).getItemId()) - .response(0) + .response(1) .build(); final Response response2=Response.builder() .itemId(questions.get(1).getItemId()) + .response(1) .build(); - final Response response3=Response.builder() - .itemId(questions.get(2).getItemId()) - .response(0.5F) - .build(); - final Response response4=Response.builder() - .itemId(questions.get(3).getItemId()) - .response(0.5F) - .build(); - final Listresponses=List.of(response1,response2,response3,response4); + + final Listresponses=List.of(response1,response2); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() @@ -239,20 +233,14 @@ void publishProgressOrderedModeTest() { .build(); final Response response1=Response.builder() .itemId(questions.get(0).getItemId()) - .response(0) + .response(1) .build(); final Response response2=Response.builder() .itemId(questions.get(1).getItemId()) + .response(0) .build(); - final Response response3=Response.builder() - .itemId(questions.get(2).getItemId()) - .response(0.5F) - .build(); - final Response response4=Response.builder() - .itemId(questions.get(3).getItemId()) - .response(0.5F) - .build(); - final Listresponses=List.of(response1,response2,response3,response4); + + final Listresponses=List.of(response1,response2); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) From 2a9aa94c9844e2b6458dc400ecc78d212db827fc Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Tue, 28 May 2024 14:30:20 +0200 Subject: [PATCH 3/9] adapted QuizService --- Dockerfile | 2 +- components/pubsub.yaml | 2 +- .../gits/quiz_service/controller/SubscriptionController.java | 2 +- .../iste/gits/quiz_service/service/QuizService.java | 2 +- src/main/resources/graphql/service/mutation.graphqls | 2 +- .../mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java | 1 - 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 562ea19..969cec5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:experimental -FROM gradle:7.6.2-jdk17 AS build +FROM gradle:8-jdk21 AS build WORKDIR /workspace/app # Copy only gradle files to container so we can install them diff --git a/components/pubsub.yaml b/components/pubsub.yaml index 3b231c3..25b4fe0 100644 --- a/components/pubsub.yaml +++ b/components/pubsub.yaml @@ -1,7 +1,7 @@ apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: gits + name: meitrex spec: type: pubsub.redis version: v1 diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java index dff200d..b6ef3f0 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/controller/SubscriptionController.java @@ -19,7 +19,7 @@ public class SubscriptionController { private final QuizService quizService; - @Topic(name = "content-changed", pubsubName = "gits") + @Topic(name = "content-changed", pubsubName = "meitrex") @PostMapping(path = "/quiz-service/content-changed-pubsub") public Mono updateAssociation(@RequestBody final CloudEvent cloudEvent) { diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java index 7b3d133..1229d67 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java @@ -320,7 +320,7 @@ public Quiz removeQuestion(final UUID quizId, final int number) { return modifyQuiz(quizId, entity -> { final QuestionEntity questionEntity = getQuestionInQuizByNumber(entity, number); entity.getQuestionPool().remove(questionEntity); - + publishItemChangeEvent(questionEntity.getItemId()); // decrease the number of all questions with a higher number entity.getQuestionPool().stream() .filter(q -> q.getNumber() > number) diff --git a/src/main/resources/graphql/service/mutation.graphqls b/src/main/resources/graphql/service/mutation.graphqls index 56280cc..2df4574 100644 --- a/src/main/resources/graphql/service/mutation.graphqls +++ b/src/main/resources/graphql/service/mutation.graphqls @@ -167,7 +167,7 @@ input CreateMultipleChoiceQuestionInput { """ UUID of the question to update and the id of the corresponding item. """ - itemId: UUID! + itemId: UUID """ Number of the question, used for ordering. This can be omitted, in which case a number, one higher than the highest number of the existing questions, will be used. diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java index f55448b..364edef 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java @@ -79,7 +79,6 @@ void testUpdateMultipleChoiceQuestion(final GraphQlTester graphQlTester) { .get(); assertThat(questions, hasSize(1)); - System.out.println(questions.get(0)); MatcherAssert.assertThat(questions.get(0), MultipleChoiceQuestionDtoToUpdateInputMatcher.matchesInput(input)); final QuizEntity updatedQuiz = quizRepository.findById(quizEntity.getAssessmentId()).orElseThrow(); From 5b8207e50243b14152f2a45baafbb1d318d6bfc4 Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Sat, 1 Jun 2024 13:26:37 +0200 Subject: [PATCH 4/9] Changed spring version --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index fd43ea6..8445217 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.+' + id 'org.springframework.boot' version '3.2.+' id 'io.spring.dependency-management' version '1.+' id "io.github.kobylynskyi.graphql.codegen" version "5.+" id "org.sonarqube" version "4.+" From 5fd1752443826cdcc8a9fccf77e128657d3af49d Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Sat, 22 Jun 2024 17:47:38 +0200 Subject: [PATCH 5/9] Reformated --- .../quiz_service/service/QuizService.java | 31 ++++++++++--------- .../MutateQuizAddAssociationQuestionTest.java | 12 +++---- .../MutateQuizAddClozeQuestionTest.java | 14 ++++----- .../MutateQuizAddExactAnswerQuestionTest.java | 4 +-- ...tateQuizAddMultipleChoiceQuestionTest.java | 8 ++--- .../MutateQuizAddNumericQuestionTest.java | 2 +- ...tateQuizAddSelfAssessmentQuestionTest.java | 2 +- ...tateQuizUpdateAssociationQuestionTest.java | 4 +-- .../MutationLogQuizCompletionTest.java | 8 ++--- .../quiz_service/service/QuizServiceTest.java | 14 ++++----- 10 files changed, 50 insertions(+), 49 deletions(-) diff --git a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java index 1229d67..377e640 100644 --- a/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java +++ b/src/main/java/de/unistuttgart/iste/gits/quiz_service/service/QuizService.java @@ -286,10 +286,9 @@ private Quiz updateQuestion(final UUID quizId, * @param questionNumber the number of the question to add. If null, the number is assigned automatically. * @param mapping the mapping function that maps the input to a question entity. * @param the type of the question input, e.g. {@link CreateMultipleChoiceQuestionInput} - * + * @return the modified quiz * @implNote The second parameter questionNumber is necessary because the input types do not share a common interface, * and we cannot change the input types, as they are generated from the schema. - * @return the modified quiz */ private Quiz addQuestion(final UUID quizId, final I input, @@ -470,13 +469,13 @@ public QuizCompletionFeedback publishProgress(final QuizCompletedInput input, fi final boolean success = numbCorrectAnswers >= quizEntity.getRequiredCorrectAnswers(); final double correctness = calculateCorrectness(numbCorrectAnswers, quizEntity); final int hintsUsed = countAsInt(input.getCompletedQuestions(), QuestionCompletedInput::getUsedHint); - Listresponses=new ArrayList(); - for(QuestionCompletedInput question: input.getCompletedQuestions()){ - float answer=0; - if(question.getCorrect()){ - answer=1; + List responses = new ArrayList(); + for (QuestionCompletedInput question : input.getCompletedQuestions()) { + float answer = 0; + if (question.getCorrect()) { + answer = 1; } - Response response=new Response(question.getQuestionId(),answer); + Response response = new Response(question.getQuestionId(), answer); responses.add(response); } @@ -549,7 +548,7 @@ protected double calculateCorrectness(final double correctAnswers, final QuizEnt // in RANDOM mode, the number of questions is not the size of the question pool // but the number of randomly selected questions if (quizEntity.getQuestionPoolingMode().equals(QuestionPoolingMode.RANDOM) - && quizEntity.getNumberOfRandomlySelectedQuestions() != null) { + && quizEntity.getNumberOfRandomlySelectedQuestions() != null) { if (quizEntity.getNumberOfRandomlySelectedQuestions() == 0) { // prevent division by zero @@ -565,22 +564,24 @@ protected double calculateCorrectness(final double correctAnswers, final QuizEnt } } - private void publishQuizDeletion(UUID quizId){ + + private void publishQuizDeletion(UUID quizId) { Optional quizEntity = quizRepository.findById(quizId); - if(quizEntity.isPresent()){ - QuizEntity quiz=quizEntity.get(); - ListquestionPool=quiz.getQuestionPool(); - for(QuestionEntity question:questionPool){ + if (quizEntity.isPresent()) { + QuizEntity quiz = quizEntity.get(); + List questionPool = quiz.getQuestionPool(); + for (QuestionEntity question : questionPool) { publishItemChangeEvent(question.getItemId()); } } } + /*** * helper function, that creates a ItemChange Event and publish it, when a flashcard was deleted * @param itemId the id of the item */ private void publishItemChangeEvent(final UUID itemId) { - topicPublisher.notifyItemChanges(itemId,CrudOperation.DELETE); + topicPublisher.notifyItemChanges(itemId, CrudOperation.DELETE); } } diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java index 6deca2b..d305332 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java @@ -62,14 +62,14 @@ void testAddAssociationQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateAssociationQuestionInput input = CreateAssociationQuestionInput.builder() .setItemId(itemId) .setHint("hint") .setText("question") .setCorrectAssociations(List.of( - new AssociationInput(UUID.randomUUID(),"a", "b", "feedback1"), - new AssociationInput(UUID.randomUUID(),"c", "d", "feedback2"))) + new AssociationInput(UUID.randomUUID(), "a", "b", "feedback1"), + new AssociationInput(UUID.randomUUID(), "c", "d", "feedback2"))) .build(); @@ -137,15 +137,15 @@ void testAddAssociationQuestionNotUniqueAnswer(final GraphQlTester graphQlTester .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateAssociationQuestionInput input = CreateAssociationQuestionInput.builder() .setItemId(itemId) .setNumber(2) .setHint("hint") .setText("question") .setCorrectAssociations(List.of( - new AssociationInput(UUID.randomUUID(),"a", "b", "feedback1"), - new AssociationInput(UUID.randomUUID(),"c", "b", "feedback2"))) + new AssociationInput(UUID.randomUUID(), "a", "b", "feedback1"), + new AssociationInput(UUID.randomUUID(), "c", "b", "feedback2"))) .build(); graphQlTester.document(ADD_ASSOCIATION_QUESTION_MUTATION) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java index 1bf64e6..d60487c 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java @@ -61,7 +61,7 @@ void testAddClozeQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setHint("hint") @@ -144,7 +144,7 @@ void testAddClozeWithoutBlank(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) @@ -179,7 +179,7 @@ void addClozeTextElementWithFeedback(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) @@ -215,7 +215,7 @@ void addClozeElementWithCorrectAnswer(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) @@ -250,7 +250,7 @@ void addClozeTextElementWithoutText(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) @@ -284,7 +284,7 @@ void testAddBlankWithoutCorrectAnswer(final GraphQlTester tester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) @@ -314,7 +314,7 @@ void testAddBlankWithText(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateClozeQuestionInput input = CreateClozeQuestionInput.builder() .setItemId(itemId) .setNumber(1) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java index 8a92632..f220eb0 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java @@ -59,7 +59,7 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateExactAnswerQuestionInput input = CreateExactAnswerQuestionInput.builder() .setItemId(itemId) .setHint("hint") @@ -102,7 +102,7 @@ void testAddExactAnswerQuestion(final GraphQlTester graphQlTester) { assertThat(questionEntity, instanceOf(ExactAnswerQuestionEntity.class)); final ExactAnswerQuestionEntity exactAnswerQuestionEntity = (ExactAnswerQuestionEntity) questionEntity; - assertThat(exactAnswerQuestionEntity.getItemId(),is(itemId)); + assertThat(exactAnswerQuestionEntity.getItemId(), is(itemId)); assertThat(exactAnswerQuestionEntity.getHint(), is("hint")); assertThat(exactAnswerQuestionEntity.getText(), is("question")); assertThat(exactAnswerQuestionEntity.getFeedback(), is("feedback")); diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java index c551630..be76bbc 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java @@ -57,7 +57,7 @@ void testAddMultipleChoiceQuestion(final GraphQlTester graphQlTester) { createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() .setItemId(itemId) .setText("what is the capital of France?") @@ -141,7 +141,7 @@ void testAddMultipleChoiceQuestionDuplicateNumber(final GraphQlTester graphQlTes createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() .setItemId(itemId) .setText("what is the capital of France?") @@ -182,7 +182,7 @@ void testAddMultipleChoiceQuestionNoCorrectAnswer(final GraphQlTester graphQlTes createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() .setItemId(itemId) .setText("what is the capital of France?") @@ -222,7 +222,7 @@ void testAddMultipleChoiceQuestionTooFewAnswers(final GraphQlTester graphQlTeste createMultipleChoiceQuestion(1, "what is the capital of Germany?", "Berlin", "Paris"))) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateMultipleChoiceQuestionInput input = CreateMultipleChoiceQuestionInput.builder() .setItemId(itemId) .setText("what is the capital of France?") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java index 74c0ddc..be5372f 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java @@ -59,7 +59,7 @@ void testAddNumericQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateNumericQuestionInput input = CreateNumericQuestionInput.builder() .setItemId(itemId) .setHint("hint") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java index 77ebee7..0011409 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java @@ -57,7 +57,7 @@ void testAddSelfAssessmentQuestion(final GraphQlTester graphQlTester) { .questionPool(List.of()) .build(); quizEntity = quizRepository.save(quizEntity); - UUID itemId=UUID.randomUUID(); + UUID itemId = UUID.randomUUID(); final CreateSelfAssessmentQuestionInput input = CreateSelfAssessmentQuestionInput.builder() .setItemId(itemId) .setHint("hint") diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java index bcd08c1..5b80e22 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java @@ -51,8 +51,8 @@ void testUpdateAssociationQuestion(final GraphQlTester graphQlTester) { .setHint("new hint") .setText("new question") .setCorrectAssociations(List.of( - new AssociationInput(UUID.randomUUID(),"newA", "newC", "new feedback1"), - new AssociationInput(UUID.randomUUID(),"newB", "newD", "new feedback2"))) + new AssociationInput(UUID.randomUUID(), "newA", "newC", "new feedback1"), + new AssociationInput(UUID.randomUUID(), "newB", "newD", "new feedback2"))) .build(); final String query = QuizFragments.FRAGMENT_DEFINITION + """ diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java index 4c8ea35..1eba2e1 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java @@ -85,15 +85,15 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - final Response response1= Response.builder() + final Response response1 = Response.builder() .itemId(questions.get(0).getItemId()) .response(1) .build(); - final Response response2=Response.builder() + final Response response2 = Response.builder() .itemId(questions.get(1).getItemId()) .response(0) .build(); - final Listresponses=List.of(response1,response2); + final List responses = List.of(response1, response2); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(loggedInUser.getId()) @@ -102,7 +102,7 @@ void testLogQuizCompletion(final HttpGraphQlTester graphQlTester) { .success(false) .timeToComplete(null) .correctness(1.0 / quizEntity.getQuestionPool().size()) - .responses(responses ) + .responses(responses) .build(); final QuizCompletionFeedback expectedQuizCompletionFeedback = QuizCompletionFeedback.builder() .setCorrectness(1.0 / quizEntity.getQuestionPool().size()) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java index 0be9856..b82146a 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/service/QuizServiceTest.java @@ -159,17 +159,17 @@ void publishProgressRandomModeTest() { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - final Response response1=Response.builder() + final Response response1 = Response.builder() .itemId(questions.get(0).getItemId()) .response(1) .build(); - final Response response2=Response.builder() + final Response response2 = Response.builder() .itemId(questions.get(1).getItemId()) .response(1) .build(); - final Listresponses=List.of(response1,response2); - + final List responses = List.of(response1, response2); + // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) @@ -231,16 +231,16 @@ void publishProgressOrderedModeTest() { .setQuizId(assessmentId) .setCompletedQuestions(List.of(inputQuestion, inputQuestion2)) .build(); - final Response response1=Response.builder() + final Response response1 = Response.builder() .itemId(questions.get(0).getItemId()) .response(1) .build(); - final Response response2=Response.builder() + final Response response2 = Response.builder() .itemId(questions.get(1).getItemId()) .response(0) .build(); - final Listresponses=List.of(response1,response2); + final List responses = List.of(response1, response2); // create expected Progress event final ContentProgressedEvent expectedUserProgressLogEvent = ContentProgressedEvent.builder() .userId(userId) From 254ad4508a681e1b58e65a000140528f95dc9fd3 Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:39:25 +0200 Subject: [PATCH 6/9] Added new release --- .../quiz_service/api/mutation/CreateQuizMutationTest.java | 1 - .../api/mutation/MutateQuizAddAssociationQuestionTest.java | 1 - .../api/mutation/MutateQuizAddClozeQuestionTest.java | 1 - .../api/mutation/MutateQuizAddExactAnswerQuestionTest.java | 1 - .../mutation/MutateQuizAddMultipleChoiceQuestionTest.java | 1 - .../api/mutation/MutateQuizAddNumericQuestionTest.java | 1 - .../mutation/MutateQuizAddSelfAssessmentQuestionTest.java | 1 - .../api/mutation/MutateQuizRemoveQuestionTest.java | 1 - .../api/mutation/MutateQuizSwitchQuestionsTest.java | 1 - .../iste/gits/quiz_service/api/mutation/MutateQuizTest.java | 1 - .../mutation/MutateQuizUpdateAssociationQuestionTest.java | 1 - .../api/mutation/MutateQuizUpdateClozeQuestionTest.java | 1 - .../mutation/MutateQuizUpdateExactAnswerQuestionTest.java | 1 - .../MutateQuizUpdateMultipleChoiceQuestionTest.java | 1 - .../api/mutation/MutateQuizUpdateNumericQuestionTest.java | 1 - .../MutateQuizUpdateSelfAssessmentQuestionTest.java | 1 - .../api/mutation/MutationLogQuizCompletionTest.java | 1 - .../iste/gits/quiz_service/api/query/QueryByIdTest.java | 6 ------ 18 files changed, 23 deletions(-) diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java index 7423cb8..be64306 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/CreateQuizMutationTest.java @@ -20,7 +20,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class CreateQuizMutationTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java index d305332..cbcf145 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java @@ -28,7 +28,6 @@ @GraphQlApiTest -@TablesToDelete({"association_question_correct_associations", "association_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddAssociationQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java index d60487c..f83dd98 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java @@ -27,7 +27,6 @@ @GraphQlApiTest -@TablesToDelete({"cloze_question_additional_wrong_answers", "cloze_question_cloze_elements", "cloze_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddClozeQuestionTest { private static final String ADD_CLOZE_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java index f220eb0..d7c5350 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java @@ -26,7 +26,6 @@ @GraphQlApiTest -@TablesToDelete({"exact_answer_question_correct_answers", "exact_answer_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddExactAnswerQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java index be76bbc..aa4e309 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java @@ -25,7 +25,6 @@ import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddMultipleChoiceQuestionTest { private static final String UPDATE_MULTIPLE_CHOICE_QUESTION_MUTATION = QuizFragments.FRAGMENT_DEFINITION + """ diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java index be5372f..134966e 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"numeric_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddNumericQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java index 0011409..794db49 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java @@ -24,7 +24,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"self_assessment_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizAddSelfAssessmentQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java index 37553f4..e382202 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.*; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizRemoveQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java index aff61f1..8a469a3 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.*; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizSwitchQuestionsTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java index 8977438..1e41263 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizTest.java @@ -20,7 +20,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java index 5b80e22..48e389f 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.*; @GraphQlApiTest -@TablesToDelete({"association_question_correct_associations", "association_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateAssociationQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java index 157d1f4..d131838 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"cloze_question_additional_wrong_answers", "cloze_question_cloze_elements", "cloze_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateClozeQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java index f827a2a..d386dce 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java @@ -25,7 +25,6 @@ import static org.hamcrest.Matchers.*; @GraphQlApiTest -@TablesToDelete({"exact_answer_question_correct_answers", "exact_answer_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateExactAnswerQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java index 364edef..7cdfd96 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.hasSize; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateMultipleChoiceQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java index 54db843..62416d2 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java @@ -25,7 +25,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"numeric_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateNumericQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java index 13624e9..9c91b6a 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java @@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.is; @GraphQlApiTest -@TablesToDelete({"self_assessment_question", "quiz_question_pool", "question", "quiz"}) class MutateQuizUpdateSelfAssessmentQuestionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java index 1eba2e1..ebd897f 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/mutation/MutationLogQuizCompletionTest.java @@ -34,7 +34,6 @@ @GraphQlApiTest @ContextConfiguration(classes = MockTestPublisherConfiguration.class) -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", "quiz_question_pool", "question", "quiz"}) class MutationLogQuizCompletionTest { @Autowired diff --git a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java index 6486845..7cc02d2 100644 --- a/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java +++ b/src/test/java/de/unistuttgart/iste/gits/quiz_service/api/query/QueryByIdTest.java @@ -23,12 +23,6 @@ import static org.hamcrest.Matchers.*; @GraphQlApiTest -@TablesToDelete({"multiple_choice_question_answers", "multiple_choice_question", - "cloze_question_additional_wrong_answers", "cloze_question_cloze_elements", "cloze_question", - "association_question_correct_associations", "association_question", - "exact_answer_question_correct_answers", "exact_answer_question", - "numeric_question", "self_assessment_question", - "quiz_question_pool", "question", "quiz"}) class QueryByIdTest { @Autowired From da3b47ed2d77dd344d67ab1090f55da3b50a7e92 Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:40:41 +0200 Subject: [PATCH 7/9] Added new releases --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 8445217..c1a61be 100644 --- a/build.gradle +++ b/build.gradle @@ -67,7 +67,7 @@ repositories { } dependencies { - implementation 'de.unistuttgart.iste.meitrex:meitrex-common:1.1.1' + implementation 'de.unistuttgart.iste.meitrex:meitrex-common:1.2' implementation 'com.google.code.findbugs:jsr305:3.0.2' // removes a gradle warning about an unknown annotation implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-graphql' @@ -84,7 +84,7 @@ dependencies { runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.projectlombok:lombok' - testImplementation 'de.unistuttgart.iste.meitrex:meitrex-common-test:1.0.1' + testImplementation 'de.unistuttgart.iste.meitrex:meitrex-common-test:1.2' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework:spring-webflux' testImplementation 'org.springframework.graphql:spring-graphql-test' From 77d9bbe957aa8142ef4731610f97fdd3f9c53d3a Mon Sep 17 00:00:00 2001 From: Tessa Keller <117365470+TessaKeller@users.noreply.github.com> Date: Fri, 26 Jul 2024 22:09:56 +0200 Subject: [PATCH 8/9] updated gradle file --- build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle b/build.gradle index abf291c..79c9e36 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,5 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.2.+' id 'io.spring.dependency-management' version '1.+' id "io.github.kobylynskyi.graphql.codegen" version "5.+" From 4028996fee66bec8c6db848c03f24391b58be14a Mon Sep 17 00:00:00 2001 From: Niklas Krieger Date: Sun, 28 Jul 2024 16:03:36 +0200 Subject: [PATCH 9/9] bugfixes --- build.gradle | 4 ++-- .../quiz_service/controller/QuizController.java | 4 ++-- .../controller/SubscriptionController.java | 2 +- .../persistence/mapper/QuizMapper.java | 4 ++-- .../meitrex/quiz_service/service/QuizService.java | 13 +++++++------ .../quiz_service/validation/QuizValidator.java | 2 +- .../iste/meitrex/quiz_service/TestData.java | 2 +- .../quiz_service/api/AuthorizationTest.java | 6 +++--- .../api/mutation/CreateQuizMutationTest.java | 4 ++-- .../api/mutation/DeleteQuizMutationTest.java | 4 ++-- .../MutateQuizAddAssociationQuestionTest.java | 14 +++++++------- .../mutation/MutateQuizAddClozeQuestionTest.java | 12 ++++++------ .../MutateQuizAddExactAnswerQuestionTest.java | 12 ++++++------ .../MutateQuizAddMultipleChoiceQuestionTest.java | 8 ++++---- .../mutation/MutateQuizAddNumericQuestionTest.java | 12 ++++++------ .../MutateQuizAddSelfAssessmentQuestionTest.java | 12 ++++++------ .../api/mutation/MutateQuizRemoveQuestionTest.java | 14 +++++++------- .../mutation/MutateQuizSwitchQuestionsTest.java | 12 ++++++------ .../quiz_service/api/mutation/MutateQuizTest.java | 6 +++--- .../MutateQuizUpdateAssociationQuestionTest.java | 12 ++++++------ .../MutateQuizUpdateClozeQuestionTest.java | 12 ++++++------ .../MutateQuizUpdateExactAnswerQuestionTest.java | 12 ++++++------ ...MutateQuizUpdateMultipleChoiceQuestionTest.java | 12 ++++++------ .../MutateQuizUpdateNumericQuestionTest.java | 6 ++++++ ...MutateQuizUpdateSelfAssessmentQuestionTest.java | 12 ++++++------ .../mutation/MutationLogQuizCompletionTest.java | 8 ++++---- .../quiz_service/api/query/QueryByIdTest.java | 10 +++++----- .../MultipleChoiceAnswerDtoToEntityMatcher.java | 2 +- .../MultipleChoiceAnswerEntityToInputMatcher.java | 2 +- .../MultipleChoiceQuestionDtoToEntityMatcher.java | 4 ++-- ...leChoiceQuestionEntityToUpdateInputMatcher.java | 4 ++-- .../matcher/QuizEntityToCreateInputMatcher.java | 2 +- .../quiz_service/service/QuizServiceTest.java | 14 +++++++------- 33 files changed, 133 insertions(+), 126 deletions(-) diff --git a/build.gradle b/build.gradle index 79c9e36..0bfd90b 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { id "org.sonarqube" version "5.+" id "jacoco" } -main + group = 'de.unistuttgart.iste.meitrex' version = '0.0.1-SNAPSHOT' sourceCompatibility = '21' @@ -124,7 +124,7 @@ dependencies { developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' - + annotationProcessor 'org.projectlombok:lombok' testImplementation 'de.unistuttgart.iste.meitrex:meitrex-common-test:1.2' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework:spring-webflux' diff --git a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/QuizController.java b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/QuizController.java index d177705..02cd714 100644 --- a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/QuizController.java +++ b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/QuizController.java @@ -1,8 +1,8 @@ package de.unistuttgart.iste.meitrex.quiz_service.controller; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.service.QuizService; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.service.QuizService; import de.unistuttgart.iste.meitrex.common.exception.NoAccessToCourseException; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; diff --git a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/SubscriptionController.java b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/SubscriptionController.java index 887ad84..77912b7 100644 --- a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/SubscriptionController.java +++ b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/controller/SubscriptionController.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.meitrex.quiz_service.controller; -import de.unistuttgart.iste.gits.quiz_service.service.QuizService; +import de.unistuttgart.iste.meitrex.quiz_service.service.QuizService; import de.unistuttgart.iste.meitrex.common.event.ContentChangeEvent; import io.dapr.Topic; diff --git a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/persistence/mapper/QuizMapper.java b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/persistence/mapper/QuizMapper.java index 5785c57..03c1747 100644 --- a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/persistence/mapper/QuizMapper.java +++ b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/persistence/mapper/QuizMapper.java @@ -2,8 +2,8 @@ import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.*; import lombok.RequiredArgsConstructor; import org.modelmapper.ModelMapper; diff --git a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizService.java b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizService.java index 06ecf7d..d0393f8 100644 --- a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizService.java +++ b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizService.java @@ -1,16 +1,16 @@ package de.unistuttgart.iste.meitrex.quiz_service.service; -import de.unistuttgart.iste.gits.quiz_service.persistence.mapper.QuizMapper; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionStatisticEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.mapper.QuizMapper; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionStatisticEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; import de.unistuttgart.iste.meitrex.common.event.*; import de.unistuttgart.iste.meitrex.common.exception.IncompleteEventMessageException; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.validation.QuizValidator; +import de.unistuttgart.iste.meitrex.quiz_service.validation.QuizValidator; import jakarta.persistence.EntityNotFoundException; import jakarta.transaction.Transactional; @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; diff --git a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/validation/QuizValidator.java b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/validation/QuizValidator.java index a3930db..184ba08 100644 --- a/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/validation/QuizValidator.java +++ b/src/main/java/de/unistuttgart/iste/meitrex/quiz_service/validation/QuizValidator.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.meitrex.quiz_service.validation; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.generated.dto.*; import jakarta.validation.ValidationException; import org.springframework.stereotype.Component; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/TestData.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/TestData.java index 748cd33..55fe6d2 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/TestData.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/TestData.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.meitrex.quiz_service; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.*; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.*; import de.unistuttgart.iste.meitrex.generated.dto.*; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/AuthorizationTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/AuthorizationTest.java index 7516c75..c580296 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/AuthorizationTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/AuthorizationTest.java @@ -2,7 +2,7 @@ -import de.unistuttgart.iste.gits.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; import de.unistuttgart.iste.meitrex.common.testutil.AuthorizationAsserts; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; @@ -13,8 +13,8 @@ import de.unistuttgart.iste.meitrex.generated.dto.ClozeElementType; import de.unistuttgart.iste.meitrex.generated.dto.CreateClozeQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/CreateQuizMutationTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/CreateQuizMutationTest.java index 385a35f..60932a0 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/CreateQuizMutationTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/CreateQuizMutationTest.java @@ -3,8 +3,8 @@ import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/DeleteQuizMutationTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/DeleteQuizMutationTest.java index 463d847..25afc95 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/DeleteQuizMutationTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/DeleteQuizMutationTest.java @@ -3,8 +3,8 @@ import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import graphql.ErrorType; import org.junit.jupiter.api.Test; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java index e36d414..b94b848 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddAssociationQuestionTest.java @@ -1,18 +1,18 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationEmbeddable; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.AssociationEmbeddable; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.AssociationQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java index 1ff59fa..7277385 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddClozeQuestionTest.java @@ -1,16 +1,16 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ClozeQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.ClozeQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import graphql.ErrorType; import jakarta.transaction.Transactional; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java index 2c16449..5776c44 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddExactAnswerQuestionTest.java @@ -1,17 +1,17 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ExactAnswerQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.ExactAnswerQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.CreateExactAnswerQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java index f998aed..b499270 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddMultipleChoiceQuestionTest.java @@ -5,10 +5,10 @@ import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import graphql.ErrorType; import org.junit.jupiter.api.Test; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java index 943db06..8eca921 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddNumericQuestionTest.java @@ -1,16 +1,16 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.NumericQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.NumericQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.CreateNumericQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java index cf7ab7a..4ac48cb 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizAddSelfAssessmentQuestionTest.java @@ -1,14 +1,14 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.SelfAssessmentQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.SelfAssessmentQuestionEntity; import de.unistuttgart.iste.meitrex.common.testutil.*; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.CreateSelfAssessmentQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java index 7676b31..b9a237b 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizRemoveQuestionTest.java @@ -5,11 +5,11 @@ import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceQuestion; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -20,8 +20,8 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createMultipleChoiceQuestion; -import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.createMultipleChoiceQuestion; +import static de.unistuttgart.iste.meitrex.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java index 2206f90..0c45b48 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizSwitchQuestionsTest.java @@ -1,11 +1,11 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizTest.java index a67a11d..c4ec7c3 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizTest.java @@ -1,8 +1,8 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java index 4261acb..f70dd22 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateAssociationQuestionTest.java @@ -1,11 +1,11 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.AssociationQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.AssociationQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; @@ -23,7 +23,7 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.association; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.association; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java index 3104cc4..c4bbf39 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateClozeQuestionTest.java @@ -5,11 +5,11 @@ import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ClozeQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.ClozeQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.*; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java index d009efa..bc3625c 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateExactAnswerQuestionTest.java @@ -1,15 +1,15 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.UpdateExactAnswerQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.ExactAnswerQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.ExactAnswerQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createExactAnswerQuestion; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.createExactAnswerQuestion; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java index eea376d..63d7c6c 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateMultipleChoiceQuestionTest.java @@ -1,12 +1,12 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToUpdateInputMatcher; -import de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionEntityToUpdateInputMatcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.matcher.MultipleChoiceQuestionDtoToUpdateInputMatcher; +import de.unistuttgart.iste.meitrex.quiz_service.matcher.MultipleChoiceQuestionEntityToUpdateInputMatcher; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java index c7d8a00..fc22444 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateNumericQuestionTest.java @@ -1,9 +1,15 @@ package de.unistuttgart.iste.meitrex.quiz_service.api.mutation; + import de.unistuttgart.iste.meitrex.common.testutil.GraphQlApiTest; import de.unistuttgart.iste.meitrex.common.testutil.InjectCurrentUserHeader; import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.UpdateNumericQuestionInput; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.NumericQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java index 27c9892..cf9a3d6 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutateQuizUpdateSelfAssessmentQuestionTest.java @@ -5,11 +5,11 @@ import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.UpdateSelfAssessmentQuestionInput; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.SelfAssessmentQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.SelfAssessmentQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.createSelfAssessmentQuestion; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.createSelfAssessmentQuestion; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutationLogQuizCompletionTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutationLogQuizCompletionTest.java index b068fc6..4fc6e52 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutationLogQuizCompletionTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/mutation/MutationLogQuizCompletionTest.java @@ -13,10 +13,10 @@ import de.unistuttgart.iste.meitrex.generated.dto.QuestionPoolingMode; import de.unistuttgart.iste.meitrex.generated.dto.QuizCompletedInput; import de.unistuttgart.iste.meitrex.generated.dto.QuizCompletionFeedback; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import jakarta.transaction.Transactional; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/query/QueryByIdTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/query/QueryByIdTest.java index 1276d6d..08c9aa2 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/query/QueryByIdTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/api/query/QueryByIdTest.java @@ -6,9 +6,9 @@ import de.unistuttgart.iste.meitrex.common.testutil.TablesToDelete; import de.unistuttgart.iste.meitrex.common.user_handling.LoggedInUser; import de.unistuttgart.iste.meitrex.generated.dto.*; -import de.unistuttgart.iste.gits.quiz_service.api.QuizFragments; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.api.QuizFragments; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.test.tester.GraphQlTester; @@ -17,8 +17,8 @@ import java.util.UUID; import static de.unistuttgart.iste.meitrex.common.testutil.TestUsers.userWithMembershipInCourseWithId; -import static de.unistuttgart.iste.gits.quiz_service.TestData.*; -import static de.unistuttgart.iste.gits.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; +import static de.unistuttgart.iste.meitrex.quiz_service.TestData.*; +import static de.unistuttgart.iste.meitrex.quiz_service.matcher.MultipleChoiceQuestionDtoToEntityMatcher.matchesEntity; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java index bcc4513..9dd89ea 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerDtoToEntityMatcher.java @@ -1,5 +1,5 @@ package de.unistuttgart.iste.meitrex.quiz_service.matcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswer; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java index 368fb9c..b69fd60 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceAnswerEntityToInputMatcher.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.meitrex.quiz_service.matcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceAnswerEmbeddable; import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceAnswerInput; import org.hamcrest.Description; import org.hamcrest.TypeSafeDiagnosingMatcher; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java index 1242e14..4662b88 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionDtoToEntityMatcher.java @@ -1,7 +1,7 @@ package de.unistuttgart.iste.meitrex.quiz_service.matcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; import de.unistuttgart.iste.meitrex.generated.dto.MultipleChoiceQuestion; import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; import org.hamcrest.Description; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java index 0066e12..360895f 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/MultipleChoiceQuestionEntityToUpdateInputMatcher.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.meitrex.quiz_service.matcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; import de.unistuttgart.iste.meitrex.generated.dto.QuestionType; import de.unistuttgart.iste.meitrex.generated.dto.UpdateMultipleChoiceQuestionInput; import org.hamcrest.Description; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/QuizEntityToCreateInputMatcher.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/QuizEntityToCreateInputMatcher.java index c71601b..e784f1c 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/QuizEntityToCreateInputMatcher.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/matcher/QuizEntityToCreateInputMatcher.java @@ -1,6 +1,6 @@ package de.unistuttgart.iste.meitrex.quiz_service.matcher; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; import de.unistuttgart.iste.meitrex.generated.dto.CreateQuizInput; import org.hamcrest.Description; diff --git a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizServiceTest.java b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizServiceTest.java index 2e24ca0..65f9278 100644 --- a/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizServiceTest.java +++ b/src/test/java/de/unistuttgart/iste/meitrex/quiz_service/service/QuizServiceTest.java @@ -1,13 +1,13 @@ package de.unistuttgart.iste.meitrex.quiz_service.service; -import de.unistuttgart.iste.gits.quiz_service.TestData; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuestionEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.entity.QuizEntity; -import de.unistuttgart.iste.gits.quiz_service.persistence.mapper.QuizMapper; -import de.unistuttgart.iste.gits.quiz_service.persistence.repository.QuizRepository; -import de.unistuttgart.iste.gits.quiz_service.validation.QuizValidator; +import de.unistuttgart.iste.meitrex.quiz_service.TestData; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.MultipleChoiceQuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuestionEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.entity.QuizEntity; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.mapper.QuizMapper; +import de.unistuttgart.iste.meitrex.quiz_service.persistence.repository.QuizRepository; +import de.unistuttgart.iste.meitrex.quiz_service.validation.QuizValidator; import de.unistuttgart.iste.meitrex.common.dapr.TopicPublisher; import de.unistuttgart.iste.meitrex.common.event.*; import de.unistuttgart.iste.meitrex.common.exception.IncompleteEventMessageException;