diff --git a/src/main/java/de/tum/cit/aet/artemis/atlas/web/CompetencyResource.java b/src/main/java/de/tum/cit/aet/artemis/atlas/web/CompetencyResource.java index 9bfb3a92acfe..1bc5b2202aeb 100644 --- a/src/main/java/de/tum/cit/aet/artemis/atlas/web/CompetencyResource.java +++ b/src/main/java/de/tum/cit/aet/artemis/atlas/web/CompetencyResource.java @@ -337,8 +337,12 @@ private void checkCompetencyAttributesForUpdate(Competency competency) { } private void checkCompetencyAttributes(Competency competency) { - if (competency.getTitle() == null || competency.getTitle().trim().isEmpty() || competency.getMasteryThreshold() < 1 || competency.getMasteryThreshold() > 100) { - throw new BadRequestAlertException("The attributes of the competency are invalid!", ENTITY_NAME, "invalidPrerequisiteAttributes"); + if (competency.getTitle() == null || competency.getTitle().trim().isEmpty()) { + throw new BadRequestAlertException("The title of a competency is invalid!", ENTITY_NAME, "invalidCompetencyTitle"); + } + if (competency.getMasteryThreshold() < 1 || competency.getMasteryThreshold() > 100) { + throw new BadRequestAlertException("The mastery threshold of the competency '" + competency.getTitle() + "' is invalid!", ENTITY_NAME, + "invalidCompetencyMasteryThreshold"); } } diff --git a/src/main/webapp/app/entities/competency.model.ts b/src/main/webapp/app/entities/competency.model.ts index a48748c22c07..a1e01a1afb71 100644 --- a/src/main/webapp/app/entities/competency.model.ts +++ b/src/main/webapp/app/entities/competency.model.ts @@ -80,6 +80,7 @@ export abstract class CourseCompetency extends BaseCompetency { protected constructor(type: CourseCompetencyType) { super(); this.type = type; + this.masteryThreshold = DEFAULT_MASTERY_THRESHOLD; } } diff --git a/src/test/javascript/spec/component/competencies/create-competency.component.spec.ts b/src/test/javascript/spec/component/competencies/create-competency.component.spec.ts index 2e12c077e859..2989e0865b16 100644 --- a/src/test/javascript/spec/component/competencies/create-competency.component.spec.ts +++ b/src/test/javascript/spec/component/competencies/create-competency.component.spec.ts @@ -8,7 +8,6 @@ import { ArtemisTranslatePipe } from 'app/shared/pipes/artemis-translate.pipe'; import { CompetencyService } from 'app/course/competencies/competency.service'; import { LectureService } from 'app/lecture/lecture.service'; import { MockRouter } from '../../helpers/mocks/mock-router'; -import { TextUnit } from 'app/entities/lecture-unit/textUnit.model'; import { HttpResponse } from '@angular/common/http'; import { Competency } from 'app/entities/competency.model'; import { By } from '@angular/platform-browser'; @@ -106,12 +105,11 @@ describe('CreateCompetency', () => { const router: Router = TestBed.inject(Router); const competencyService = TestBed.inject(CompetencyService); - const textUnit: TextUnit = new TextUnit(); - textUnit.id = 1; const formData: CourseCompetencyFormData = { title: 'Test', description: 'Lorem Ipsum', optional: true, + masteryThreshold: 100, }; const response: HttpResponse = new HttpResponse({ diff --git a/src/test/javascript/spec/component/competencies/create-prerequisite.component.spec.ts b/src/test/javascript/spec/component/competencies/create-prerequisite.component.spec.ts index 56815999e7e4..dd0835b82149 100644 --- a/src/test/javascript/spec/component/competencies/create-prerequisite.component.spec.ts +++ b/src/test/javascript/spec/component/competencies/create-prerequisite.component.spec.ts @@ -6,7 +6,6 @@ import { of } from 'rxjs'; import { ArtemisTranslatePipe } from 'app/shared/pipes/artemis-translate.pipe'; import { LectureService } from 'app/lecture/lecture.service'; import { MockRouter } from '../../helpers/mocks/mock-router'; -import { TextUnit } from 'app/entities/lecture-unit/textUnit.model'; import { HttpResponse } from '@angular/common/http'; import { By } from '@angular/platform-browser'; import { DocumentationButtonComponent } from 'app/shared/components/documentation-button/documentation-button.component'; @@ -111,12 +110,11 @@ describe('CreatePrerequisite', () => { const router: Router = TestBed.inject(Router); const prerequisiteService = TestBed.inject(PrerequisiteService); - const textUnit: TextUnit = new TextUnit(); - textUnit.id = 1; const formData: CourseCompetencyFormData = { title: 'Test', description: 'Lorem Ipsum', optional: true, + masteryThreshold: 100, }; const response: HttpResponse = new HttpResponse({