From 5847caca1091485c66127fdbbdd592d54f4a5db1 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Thu, 15 Sep 2022 15:48:12 +0300 Subject: [PATCH 1/2] TCA-440: call certification completion based on assessment completion --- src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx | 2 +- .../tools/learn/learn-lib/course-outline/CourseOutline.tsx | 1 + .../course-outline/collapsible-item/CollapsibleItem.tsx | 5 ++--- .../learn-lib/lesson-provider/learn-module-meta.model.ts | 2 +- .../learn-user-certification-progress.model.ts | 2 ++ 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx b/src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx index 9f123afc7..43b519f83 100644 --- a/src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx +++ b/src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx @@ -259,7 +259,7 @@ const FreeCodeCamp: FC<{}> = () => { useEffect(() => { if ( certificateProgress && - certificateProgress.courseProgressPercentage === 100 && + certificateProgress.certificationProgressPercentage === 100 && certificateProgress.status === UserCertificationProgressStatus.inProgress ) { userCertificationProgressUpdateAsync( diff --git a/src-ts/tools/learn/learn-lib/course-outline/CourseOutline.tsx b/src-ts/tools/learn/learn-lib/course-outline/CourseOutline.tsx index e381863d1..65dd085cc 100644 --- a/src-ts/tools/learn/learn-lib/course-outline/CourseOutline.tsx +++ b/src-ts/tools/learn/learn-lib/course-outline/CourseOutline.tsx @@ -54,6 +54,7 @@ const CourseOutline: FC = (props: CourseOutlineProps) => { shortDescription={module.meta.introCopy} title={module.meta.name} onItemClick={props.onItemNavigate} + isAssessment={module.meta.isAssessment} /> ))} diff --git a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx index cac0bd7fc..a58f53646 100644 --- a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx +++ b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx @@ -19,6 +19,7 @@ interface CollapsibleItemProps { duration: LearnModule['meta']['estimatedCompletionTime'] itemId?: (item: any) => string items: Array + isAssessment: boolean lessonsCount: number moduleKey: string onItemClick: (item: any) => void @@ -31,8 +32,6 @@ interface CollapsibleItemProps { const CollapsibleItem: FC = (props: CollapsibleItemProps) => { const [isOpen, setIsOpen]: [boolean, Dispatch>] = useState(false) - const isAssessment: boolean = props.lessonsCount === 1 - const toggle: () => void = useCallback(() => { setIsOpen(open => !open) }, []) @@ -89,7 +88,7 @@ const CollapsibleItem: FC = (props: CollapsibleItemProps)
- {isAssessment && ( + {props.isAssessment && (
assessment
diff --git a/src-ts/tools/learn/learn-lib/lesson-provider/learn-module-meta.model.ts b/src-ts/tools/learn/learn-lib/lesson-provider/learn-module-meta.model.ts index 1c8d08b1f..bb2a59385 100644 --- a/src-ts/tools/learn/learn-lib/lesson-provider/learn-module-meta.model.ts +++ b/src-ts/tools/learn/learn-lib/lesson-provider/learn-module-meta.model.ts @@ -5,6 +5,6 @@ export interface LearnModuleMeta { value: number } introCopy: Array - lessonCount: number + isAssessment: boolean name: string } diff --git a/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts b/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts index 88100541b..e08ac81f5 100644 --- a/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts +++ b/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts @@ -7,6 +7,8 @@ export interface LearnUserCertificationProgress extends LearnModelBase { academicHonestyPolicyAcceptedAt?: number, certification: string certificationId: string + certificationProgressPercentage: number + certType: 'certification'; completedDate?: string courseId: string courseKey: string From 0ea5539d8de839dfb5c6566a58e1e2249b4e268e Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Thu, 15 Sep 2022 15:54:45 +0300 Subject: [PATCH 2/2] lint fix --- .../course-outline/collapsible-item/CollapsibleItem.tsx | 2 +- .../learn-user-certification-progress.model.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx index a58f53646..5380318c8 100644 --- a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx +++ b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx @@ -17,9 +17,9 @@ interface CollapsibleListItem { interface CollapsibleItemProps { active?: string duration: LearnModule['meta']['estimatedCompletionTime'] + isAssessment: boolean itemId?: (item: any) => string items: Array - isAssessment: boolean lessonsCount: number moduleKey: string onItemClick: (item: any) => void diff --git a/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts b/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts index e08ac81f5..2d9dc6f78 100644 --- a/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts +++ b/src-ts/tools/learn/learn-lib/user-certifications-provider/user-certifications-functions/learn-user-certification-progress.model.ts @@ -8,7 +8,7 @@ export interface LearnUserCertificationProgress extends LearnModelBase { certification: string certificationId: string certificationProgressPercentage: number - certType: 'certification'; + certType: 'certification' completedDate?: string courseId: string courseKey: string