public void ValidateBCBAMaxAssessmentHoursPerCasePerDayFalseIfOver()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours = 5;
            entry.Date       = new DateTime(2017, 1, 1);
            entry.ServiceID  = (int)Domain2.Services.ServiceIDs.Assessment;
            entry.Service    = new Domain2.Services.Service()
            {
                ID = entry.ServiceID.Value
            };
            entry.Provider          = provider;
            provider.ID             = 5;
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst;
            serviceMock.Setup(x => x.Provider).Returns(provider);
            serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(_bcbaMaxAssessmentCaseHours);
            serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection());
            serviceMock.Setup(x => x.AssessmentServiceIDs).Returns(new int[] { 11, 17, 18 });
            serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsFalse(result);
        }
        public void ValidateBCBAMaxAssessmentHoursPerCasePerDayIgnoresNonBCBAs()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours        = 8;
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.Aide;
            serviceMock.Setup(x => x.Provider).Returns(provider);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsTrue(result);
        }
        public void ValidateBCBAMaxAssessmentHoursPerCasePerDayIgnoresNonAssessmentServices()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours = 8;
            entry.ServiceID  = (int)Domain2.Services.ServiceIDs.DirectSupervision;
            entry.Service    = new Domain2.Services.Service()
            {
                ID = entry.ServiceID.Value
            };
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst;
            serviceMock.Setup(x => x.Provider).Returns(provider);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsTrue(result);
        }