public void ValidateBCBAMaxHoursPerEntryTrueIfOk() { var entry = new Domain2.Hours.Hours(); var serviceMock = new Mock <IResolutionService>(); entry.TotalHours = 1; entry.ServiceID = (int)Domain2.Services.ServiceIDs.DirectSupervision; entry.Service = new Domain2.Services.Service() { ID = entry.ServiceID.Value }; serviceMock .Setup(x => x.Provider) .Returns(() => new Domain2.Providers.Provider() { ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst }); serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection()); var validator = new CaseAndProviderValidations(serviceMock.Object); var result = validator.ValidateBCBAMaxHoursPerEntry(entry); Assert.IsTrue(result); }
public void ValidateBCBAMaxHoursPerEntryAddsWarningIssueOnManagementEntry() { var entry = new Domain2.Hours.Hours(); var serviceMock = new Mock <IResolutionService>(); entry.TotalHours = 3; entry.ServiceID = (int)Domain2.Services.ServiceIDs.DirectSupervision; entry.Service = new Domain2.Services.Service() { ID = entry.ServiceID.Value }; serviceMock .Setup(x => x.Provider) .Returns(() => new Domain2.Providers.Provider() { ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst }); serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection()); serviceMock.Setup(x => x.EntryMode).Returns(Domain2.Cases.HoursEntryMode.ManagementEntry); var validator = new CaseAndProviderValidations(serviceMock.Object); var result = validator.ValidateBCBAMaxHoursPerEntry(entry); Assert.IsTrue(serviceMock.Object.Issues.Issues.Count == 1); Assert.IsTrue(serviceMock.Object.Issues.HasWarnings); }
public void ValidateProviderNotSelfOverlapTrueIfNoOverlaps() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), StartTime = new TimeSpan(12, 30, 0), EndTime = new TimeSpan(13, 30, 0) }; ResetService(); _serviceMock.Setup(x => x.EntryMode).Returns(Domain2.Cases.HoursEntryMode.ProviderEntry); _serviceMock.Setup(x => x.AllProposedProviderHours).Returns(() => _selfOverlapHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 17 }); _serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection()); _serviceMock.Object.AllProposedProviderHours.Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateProviderNotSelfOverlap(entry); Assert.IsTrue(result); Assert.IsTrue(_serviceMock.Object.Issues.Issues.Count == 0); }
public void ValidateAideMaxHoursPerDayPerCaseTrueIfNotOver() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), TotalHours = (decimal)0.25, ProviderID = 5 }; ResetService(); _serviceMock.Setup(x => x.EntryMode).Returns(Domain2.Cases.HoursEntryMode.ManagementEntry); _serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(() => _aideMaxHoursPerDayPerCaseHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 17 }); _serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection()); _serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateAideMaxHoursPerDayPerCase(entry); Assert.IsTrue(_serviceMock.Object.Issues.Issues.Count == 0); Assert.IsTrue(result); }
public void ValidateAideNotDROverlapValidatesCorrectly() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), StartTime = new TimeSpan(15, 30, 0), EndTime = new TimeSpan(16, 30, 0), ServiceID = 9 }; ResetService(); _serviceMock.Setup(x => x.EntryMode).Returns(Domain2.Cases.HoursEntryMode.ProviderEntry); _serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(() => _aideDROverlapHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 17 }); _serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection()); _serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateAideNotDROverlapOnCase(entry); Assert.IsTrue(result); }
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); }
public void ValidateAideMaxHoursPerDayPerCaseIgnoresBCBAs() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), TotalHours = 5 }; ResetService(); _serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(() => _aideMaxHoursPerDayPerCaseHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 15 }); _serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateAideMaxHoursPerDayPerCase(entry); Assert.IsTrue(result); }
public void ValidateProviderNotSelfOverlapIgnoresBCBAs() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), StartTime = new TimeSpan(1, 30, 0), EndTime = new TimeSpan(2, 30, 0) }; ResetService(); _serviceMock.Setup(x => x.AllProposedProviderHours).Returns(() => _selfOverlapHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 15 }); _serviceMock.Object.AllProposedProviderHours.Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateProviderNotSelfOverlap(entry); Assert.IsTrue(result); }
public void ValidateAideNotDROverlapOnCaseIgnoresBCBA() { var entry = new Domain2.Hours.Hours { Date = new DateTime(2017, 1, 1), StartTime = new TimeSpan(1, 30, 0), EndTime = new TimeSpan(2, 30, 0), ServiceID = 9 }; ResetService(); _serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(() => _aideDROverlapHours); _serviceMock.Setup(x => x.Provider).Returns(new Domain2.Providers.Provider() { ID = 5, ProviderTypeID = 15 }); _serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry); var resolver = new CaseAndProviderValidations(_serviceMock.Object); var result = resolver.ValidateAideNotDROverlapOnCase(entry); Assert.IsTrue(result); }