public void ShouldRoundLearnerSatisfaction(double?finalScore, double?expected)
        {
            // Arrange
            var provider = new CoreProvider
            {
                Ukprn = 12345
            };

            var satisfactionRates = new LearnerSatisfactionRateResult
            {
                Rates = new List <SatisfactionRateProvider>
                {
                    new SatisfactionRateProvider
                    {
                        FinalScore = finalScore,
                        Ukprn      = provider.Ukprn
                    }
                }
            };

            // Act
            _sut.SetLearnerSatisfactionRate(satisfactionRates, provider);

            // Assert
            Assert.AreEqual(expected, provider.LearnerSatisfaction);
        }
        public void NoFeedbackResults_FeedbackNotSet_OnProvider()
        {
            // Arrange
            var feedbackResult = new ProviderFeedbackResult(new List <EmployerFeedbackSourceDto>());
            var provider       = new CoreProvider();

            // Act
            _sut.SetProviderFeedback(feedbackResult, provider);

            // Assert
            Assert.IsNull(provider.ProviderFeedback);
        }
        public void FeedbackResults_FeedbackSet_ShouldCalcRatings(string providerRating, int amount)
        {
            // Arrange
            SetRatings(providerRating, amount);
            var feedbackResult = new ProviderFeedbackResult(_feedbackEntries);
            var provider       = new CoreProvider {
                Ukprn = Ukprn
            };

            // Act
            _sut.SetProviderFeedback(feedbackResult, provider);
            int ratingCountToCheck = GetRatingCount(providerRating, provider);

            // Assert
            Assert.AreEqual(amount, ratingCountToCheck);
        }
        public void FeedbackResults_FeedbackSet_WithWeaknesses_OnProvider()
        {
            // Arrange
            SetProviderAttributesWeaknesses(3);
            var feedbackResult = new ProviderFeedbackResult(_feedbackEntries);
            var provider       = new CoreProvider {
                Ukprn = Ukprn
            };

            // Act
            _sut.SetProviderFeedback(feedbackResult, provider);

            // Assert
            Assert.IsNotNull(provider.ProviderFeedback);
            Assert.IsNotEmpty(provider.ProviderFeedback.Weaknesses);
            Assert.AreEqual(3, provider.ProviderFeedback.Weaknesses.Count);
        }
        private static int GetRatingCount(string providerRating, CoreProvider provider)
        {
            switch (providerRating)
            {
            case ProviderRatings.Excellent:
                return(provider.ProviderFeedback.ExcellentFeedbackCount);

            case ProviderRatings.Good:
                return(provider.ProviderFeedback.GoodFeedbackCount);

            case ProviderRatings.Poor:
                return(provider.ProviderFeedback.PoorFeedbackCount);

            case ProviderRatings.VeryPoor:
                return(provider.ProviderFeedback.VeryPoorFeedbackCount);

            default: return(0);
            }
        }
        public void FeedbackResults_FeedbackSet_Attributes_ShouldContain_DistinctList()
        {
            // Arrange
            SetProviderAttributesStrengths(9);
            var feedbackDiffAttributes = new EmployerFeedbackSourceDto {
                ProviderAttributes = new List <ProviderAttributeSourceDto> {
                    new ProviderAttributeSourceDto {
                        Name = "NewPa", Value = 1
                    }
                }, Ukprn = Ukprn
            };

            _feedbackEntries.Add(feedbackDiffAttributes);
            var feedbackResult = new ProviderFeedbackResult(_feedbackEntries);
            var provider       = new CoreProvider {
                Ukprn = Ukprn
            };

            // Act
            _sut.SetProviderFeedback(feedbackResult, provider);

            // Assert
            Assert.AreEqual(10, provider.ProviderFeedback.Strengths.Count);
        }