Template
chore: deploy initial code base
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
using Moq;
|
||||
using Strata.DecisionSupport.Biz.Encounters;
|
||||
using Strata.DecisionSupport.Biz.Parameters;
|
||||
using Strata.DecisionSupport.Biz.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using VerifyNUnit;
|
||||
|
||||
namespace Strata.DecisionSupport.Biz.Test.Unit.Services
|
||||
{
|
||||
[TestFixture, Category("Unit"), Category("DSS")]
|
||||
public class EncounterInfoQueryTests : EncounterQueryServiceTests
|
||||
{
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
var encounterInfo = new List<SnowflakeEncounterInfo> {
|
||||
new SnowflakeEncounterInfo
|
||||
{
|
||||
EncounterId = 123456789,
|
||||
EncounterRecordNumber = "123456789"
|
||||
}
|
||||
}.AsEnumerable();
|
||||
Mock.Get(snowflakeDbContext)
|
||||
.Setup(x => x.QueryAsync<SnowflakeEncounterInfo>(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<object>(), It.IsAny<TimeSpan>()))
|
||||
.Returns(() => Task.FromResult(encounterInfo));
|
||||
}
|
||||
|
||||
[TestCaseSource(nameof(EncounterInfoQueryTestCases))]
|
||||
public async Task EncounterInfoQueryTest(string globalId, params object[] args)
|
||||
{
|
||||
var query = globalId.EncounterInfoQuery(args);
|
||||
await Verifier.Verify(query, verifySettings)
|
||||
.UseFileName(TestContext.CurrentContext.TestName());
|
||||
}
|
||||
|
||||
public static IEnumerable<TestCaseData> EncounterInfoQueryTestCases()
|
||||
{
|
||||
yield return new TestCaseData("", Array.Empty<object>())
|
||||
.SetName("{m} with no args");
|
||||
yield return new TestCaseData("Location", Array.Empty<object>())
|
||||
.SetName("{m} Location with no args");
|
||||
yield return new TestCaseData("DepartmentRollup1Id", Array.Empty<object>())
|
||||
.SetName("{m} Department Rollup with no args");
|
||||
yield return new TestCaseData("", new[] {
|
||||
"PrimaryServiceLine",
|
||||
"INNER JOIN serviceLineTableName sl on sl.serviceLineIdAttribute = OBJ.serviceLineIdAttribute",
|
||||
"DepartmentRollup1Id",
|
||||
"OBJ.MSDRGCaseTypeFamilyID AS CaseTypeFamilyId\r\n\t,msdrg.CCMCCCategory",
|
||||
"INNER JOIN dss.dimMSDRG msdrg ON obj.ReportingDRGID = msdrg.MSDRGID \r\n AND ((msdrg.Type IN ('MED', 'SURG') AND ptr.Type = 'Inpatient')\r\n OR ptr.Type <> 'Inpatient')"})
|
||||
.SetName("{m} Entity");
|
||||
yield return new TestCaseData("Location", new[] {
|
||||
"PrimaryServiceLine",
|
||||
"INNER JOIN serviceLineTableName sl on sl.serviceLineIdAttribute = OBJ.serviceLineIdAttribute",
|
||||
"DepartmentRollup1Id",
|
||||
"OBJ.MSDRGCaseTypeFamilyID AS CaseTypeFamilyId\r\n\t,msdrg.CCMCCCategory",
|
||||
"INNER JOIN dss.dimMSDRG msdrg ON obj.ReportingDRGID = msdrg.MSDRGID\r\n AND ((msdrg.Type IN ('MED', 'SURG') AND ptr.Type = 'Inpatient')\r\n OR ptr.Type <> 'Inpatient')"})
|
||||
.SetName("{m} Location");
|
||||
yield return new TestCaseData("DepartmentRollup1Id", new[] {
|
||||
"PrimaryServiceLine",
|
||||
"INNER JOIN serviceLineTableName sl on sl.serviceLineIdAttribute = OBJ.serviceLineIdAttribute",
|
||||
"DepartmentRollup1Id",
|
||||
"OBJ.MSDRGCaseTypeFamilyID AS CaseTypeFamilyId\r\n\t,msdrg.CCMCCCategory",
|
||||
"INNER JOIN dss.dimMSDRG msdrg ON obj.ReportingDRGID = msdrg.MSDRGID\r\n AND ((msdrg.Type IN ('MED', 'SURG') AND ptr.Type = 'Inpatient')\r\n OR ptr.Type <> 'Inpatient')"})
|
||||
.SetName("{m} Department Rollup");
|
||||
|
||||
}
|
||||
[TestCaseSource(nameof(EncounterInfoQueryTestCases1))]
|
||||
public async Task RunEncounterInfoQueryTest(Models.Queries.CaseTypeCategory caseTypeCategory, Guid serviceLineGuid)
|
||||
{
|
||||
var queryInfo = new EncounterQueryInfo(caseTypeCategory, 210,
|
||||
new DateTime(2023, 1, 1), new DateTime(2024, 1, 1), "",
|
||||
serviceLineGuid, 24, new[] { 2 });
|
||||
var results = await service.RunEncounterInfoQuery(queryInfo, CancellationToken.None);
|
||||
await Verifier.Verify(results, verifySettings)
|
||||
.UseFileName(TestContext.CurrentContext.TestName());
|
||||
}
|
||||
|
||||
public static IEnumerable<TestCaseData> EncounterInfoQueryTestCases1()
|
||||
{
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.MSDRG, serviceLineDimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery Msdrg ServiceLine");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.APRDRG, serviceLineDimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery Aprdrg ServiceLine");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.CPTCode, serviceLineDimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery CptCode ServiceLine");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.PatientPopulation, serviceLineDimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery PatientPop ServiceLine");
|
||||
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.MSDRG, sg2DimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery Msdrg Sg2");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.APRDRG, sg2DimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery Aprdrg Sg2");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.CPTCode, sg2DimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery CptCode Sg2");
|
||||
yield return new TestCaseData(Models.Queries.CaseTypeCategory.PatientPopulation, sg2DimensionGuid)
|
||||
.SetName("RunEncounterInfoQuery PatientPop Sg2");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user