public void TutorialVideo_should_render_view()
        {
            // Given
            var       expectedTutorialVideo = TutorialContentHelper.CreateDefaultTutorialVideo();
            const int progressId            = 101;

            A.CallTo(() => tutorialContentDataService.GetTutorialVideo(CustomisationId, SectionId, TutorialId))
            .Returns(expectedTutorialVideo);
            A.CallTo(() => courseContentService.GetOrCreateProgressId(CandidateId, CustomisationId, CentreId))
            .Returns(progressId);

            // When
            var result = controller.TutorialVideo(CustomisationId, SectionId, TutorialId);

            // Then
            var expectedModel = new TutorialVideoViewModel(
                config,
                expectedTutorialVideo,
                CustomisationId,
                SectionId,
                TutorialId
                );

            result.Should().BeViewResult()
            .Model.Should().BeEquivalentTo(expectedModel);
        }
        public void TutorialVideo_should_have_tutorialId()
        {
            // Given
            var expectedTutorialVideo = TutorialContentHelper.CreateDefaultTutorialVideo();

            // When
            var tutorialVideoViewModel = new TutorialVideoViewModel(
                config,
                expectedTutorialVideo,
                CustomisationId,
                SectionId,
                TutorialId
                );

            // Then
            tutorialVideoViewModel.TutorialId.Should().Be(TutorialId);
        }
        public void TutorialVideo_should_have_tutorialName()
        {
            // Given
            const string tutorialName          = "Tutorial Name";
            var          expectedTutorialVideo = TutorialContentHelper.CreateDefaultTutorialVideo(
                tutorialName
                );

            // When
            var tutorialVideoViewModel = new TutorialVideoViewModel(
                config,
                expectedTutorialVideo,
                CustomisationId,
                SectionId,
                TutorialId
                );

            // Then
            tutorialVideoViewModel.TutorialName.Should().BeEquivalentTo(tutorialName);
        }
예제 #4
0
        public IActionResult TutorialVideo(int customisationId, int sectionId, int tutorialId)
        {
            var candidateId = User.GetCandidateIdKnownNotNull();
            var centreId    = User.GetCentreId();

            var tutorialVideo = tutorialContentDataService.GetTutorialVideo(customisationId, sectionId, tutorialId);

            if (tutorialVideo == null)
            {
                logger.LogError(
                    "Redirecting to 404 as customisation/section/tutorial id was not found. " +
                    $"Candidate id: {candidateId}, customisation id: {customisationId}, " +
                    $"centre id: {centreId.ToString() ?? "null"}, section id: {sectionId} tutorial id: {tutorialId}");
                return(RedirectToAction("StatusCode", "LearningSolutions", new { code = 404 }));
            }

            var progressId = courseContentService.GetOrCreateProgressId(candidateId, customisationId, centreId);

            if (progressId == null)
            {
                logger.LogError(
                    "Redirecting to 404 as no progress id was returned. " +
                    $"Candidate id: {candidateId}, customisation id: {customisationId}, centre id: {centreId}");
                return(RedirectToAction("StatusCode", "LearningSolutions", new { code = 404 }));
            }

            sessionService.StartOrUpdateDelegateSession(candidateId, customisationId, HttpContext.Session);
            courseContentService.UpdateProgress(progressId.Value);

            var model = new TutorialVideoViewModel(
                config,
                tutorialVideo,
                customisationId,
                sectionId,
                tutorialId
                );

            return(View("Tutorial/TutorialVideo", model));
        }
        public void TutorialVideo_should_parse_path(
            string givenVideoPath,
            string expectedParsedPath
            )
        {
            // Given
            var expectedTutorialVideo = TutorialContentHelper.CreateDefaultTutorialVideo(
                videoPath: givenVideoPath
                );

            // When
            var tutorialVideoViewModel = new TutorialVideoViewModel(
                config,
                expectedTutorialVideo,
                CustomisationId,
                SectionId,
                TutorialId
                );

            // Then
            tutorialVideoViewModel.VideoPath.Should().Be(expectedParsedPath);
        }
        public void TutorialVideo_should_have_courseTitle()
        {
            // Given
            const string applicationName       = "Application Name";
            const string customisationName     = "Customisation Name";
            var          expectedTutorialVideo = TutorialContentHelper.CreateDefaultTutorialVideo(
                applicationName: applicationName,
                customisationName: customisationName
                );

            // When
            var tutorialVideoViewModel = new TutorialVideoViewModel(
                config,
                expectedTutorialVideo,
                CustomisationId,
                SectionId,
                TutorialId
                );

            // Then
            var courseTitle = $"{applicationName} - {customisationName}";

            tutorialVideoViewModel.CourseTitle.Should().BeEquivalentTo(courseTitle);
        }