public void Tutorial_card_should_have_timeSummary(
            int timeSpent,
            int averageTutorialDuration,
            bool showTime,
            bool showLearnStatus
            )
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial(
                tutTime: timeSpent,
                averageTutMins: averageTutorialDuration
                );
            var expectedTimeSummary = new TutorialTimeSummaryViewModel(
                timeSpent,
                averageTutorialDuration,
                showTime,
                showLearnStatus
                );

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                showTime,
                showLearnStatus,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.TimeSummary.Should().BeEquivalentTo(expectedTimeSummary);
        }
        public void Tutorial_card_should_have_customisation_id()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial();

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                ShowTime,
                ShowLearnStatus,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.CustomisationId.Should().Be(CustomisationId);
        }
        public void Tutorial_card_should_not_show_learning_status_if_showLearnStatus_is_false()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial();

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                showTime: true,
                showLearnStatus: false,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.ShowLearnStatus.Should().BeFalse();
        }
        public void Tutorial_card_status_tag_colour_should_be_orange_if_current_score_is_less_than_possible_score()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial(
                currentScore: 7,
                possibleScore: 10
                );

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                ShowTime,
                ShowLearnStatus,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.StatusTagColour.Should().Be("nhsuk-tag--orange");
        }
        public void Tutorial_card_recommendation_status_should_be_recommended_if_current_score_is_less_than_possible_score()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial(
                currentScore: 7,
                possibleScore: 10
                );

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                ShowTime,
                ShowLearnStatus,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.RecommendationStatus.Should().Be("Recommended");
        }
        public void Tutorial_card_should_not_show_recommendation_status_if_diagnostic_attempts_is_zero()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial(
                tutorialDiagnosticAttempts: 0,
                tutorialDiagnosticStatus: true
                );

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                ShowTime,
                ShowLearnStatus,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.ShowRecommendationStatus.Should().BeFalse();
        }
        public void Tutorial_card_should_show_recommendation_status_if_all_conditions_are_met()
        {
            // Given
            var sectionTutorial = SectionTutorialHelper.CreateDefaultSectionTutorial(
                tutorialDiagnosticStatus: true,
                tutorialDiagnosticAttempts: 2
                );

            // When
            var tutorialCardViewModel = new TutorialCardViewModel(
                sectionTutorial,
                ShowTime,
                showLearnStatus: true,
                CustomisationId,
                SectionId
                );

            // Then
            tutorialCardViewModel.ShowRecommendationStatus.Should().BeTrue();
        }