I'd like to test this uncovered branch in my codebase. I've included a screenshot of where the
The test is as follows:
  describe('addCourseContentCard()', () => {
    it('should add course content card', () => {
      spyOn(mockCourseContentService, 'onAddCourseContent').and.callThrough();
      let newCourseContents: ICourseContent[] = JSON.parse(JSON.stringify(courseContents));
      newCourseContents = (CourseContentService.addCourseContent(
        newCourseContents,
        CourseContentElementEditorService.setCourseContentEditorText(),
        newCourseContents[0].uid as string,
        CourseContentElementAddButtonEventType.AFTER
      ) as unknown) as ICourseContent[];
      newCourseContents = (CourseContentElementButtonService.resetCourseContentElementButtonNavigation(
        newCourseContents
      ) as unknown) as ICourseContent[];
      service.addCourseContentCard(course, newCourseContents, newCourseContents[0], 0);
      expect(mockCourseContentService.onAddCourseContent).toHaveBeenCalled();
    });
    it('should not add course content card', () => {
      spyOn(mockCourseContentService, 'onAddCourseContent').and.callThrough();
      let newCourseContents: ICourseContent[] = JSON.parse(JSON.stringify(courseContents));
      newCourseContents = (CourseContentService.addCourseContent(
        newCourseContents,
        CourseContentElementEditorService.setCourseContentEditorText(),
        newCourseContents[0].uid as string,
        CourseContentElementAddButtonEventType.AFTER
      ) as unknown) as ICourseContent[];
      newCourseContents = (CourseContentElementButtonService.resetCourseContentElementButtonNavigation(
        newCourseContents
      ) as unknown) as ICourseContent[];
      service.addCourseContentCard(null, null, newCourseContents[0], undefined);
      service.addCourseContentCard(null, null, newCourseContents[0], null);
      newCourseContents[newCourseContents.length - 1].uid = undefined;
      service.addCourseContentCard(course, newCourseContents, newCourseContents[0], 0);
      expect(mockCourseContentService.onAddCourseContent).not.toHaveBeenCalled();
    });
  });
My code is follows:
  addCourseContentCard(
    course: ICourse | undefined | null,
    courseContents: ICourseContent[] | undefined | null,
    courseContentStep: ICourseContent,
    selectedCourseModule: number | undefined | null
  ): void {
    if (
      course &&
      courseContents &&
      (selectedCourseModule != undefined || selectedCourseModule != null)
    ) {
      let selectedCourseContentUid: string | undefined | null;
      if (courseContents[courseContents.length - 1].uid) {
        selectedCourseContentUid = courseContents[courseContents.length - 1].uid;
        courseContents = CourseContentService.addCourseContent(
          courseContents,
          courseContentStep,
          selectedCourseContentUid,
          CourseContentElementAddButtonEventType.AFTER
        );
        courseContents = CourseContentElementButtonService.resetCourseContentElementButtonNavigation(
          courseContents
        );
        this.courseContentService.onAddCourseContent(course, courseContents, selectedCourseModule);
      }
    }
  }

 
    