Template
chore: deploy initial code base
This commit is contained in:
+117
@@ -0,0 +1,117 @@
|
||||
using FluentAssertions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Moq;
|
||||
using Strata.ContinuousImprovement.Biz.ChargeCode.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.Shared;
|
||||
using Strata.CoreLib.Claims;
|
||||
using Strata.FeatureFlags.Client;
|
||||
using Strata.Schema.Client;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Security.Claims;
|
||||
|
||||
|
||||
namespace Strata.ContinuousImprovement.Biz.Test.Integration.JazzIntegrationTests
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
[TestFixture, Category("Integration"), Category("CCI")]
|
||||
internal class TestCCOpportunityDetailService : IntegrationTestBase
|
||||
{
|
||||
protected ICCOpportunityDetailService _ccOpportunityDetailService;
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void SetupChargeCodeDetailService()
|
||||
{
|
||||
var claims = new List<Claim>
|
||||
{
|
||||
new Claim("database_guid", GmAutomationDatabase.ToString())
|
||||
};
|
||||
|
||||
var principal = new ClaimsPrincipal(new ClaimsIdentity(claims, "TestAuth"));
|
||||
|
||||
var claimsPrincipalMock = Mock.Of<IClaimsPrincipalAccessor>();
|
||||
Mock.Get(claimsPrincipalMock)
|
||||
.Setup(x => x.GetCurrentClaimsPrincipal())
|
||||
.Returns(principal);
|
||||
|
||||
var featureFlagServiceMock = Mock.Of<IFeatureFlagServiceClient>();
|
||||
Mock.Get(featureFlagServiceMock)
|
||||
.Setup(x => x.IsEnabledAsync("is-decision-support-queries-enabled", It.IsAny<Guid>(), It.IsAny<bool>(), It.IsAny<bool>(), It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(true);
|
||||
|
||||
_ccOpportunityDetailService = new CCOpportunityDetailService(
|
||||
JazzConnBuilderFactory,
|
||||
Mock.Of<ISchemaServiceClient>(),
|
||||
SnowflakeDatabaseContext,
|
||||
featureFlagServiceMock,
|
||||
Mock.Of<ILogger<CCOpportunityDetailService>>(),
|
||||
claimsPrincipalMock);
|
||||
}
|
||||
|
||||
[TestCaseSource(nameof(OpportunityCases))]
|
||||
public async Task OpportunityDetailQueryTest_Returns_Data(bool isBaseline, CCOpportunityDataModel opportunity)
|
||||
{
|
||||
// arrange
|
||||
var configuration = CreateConfiguration();
|
||||
|
||||
// act
|
||||
var results = await _ccOpportunityDetailService.GetCCOpportunityDetailQueryResult(
|
||||
opportunity,
|
||||
configuration,
|
||||
CancellationToken.None,
|
||||
isBaseline: true);
|
||||
|
||||
// assert
|
||||
results.Should().NotBeNullOrEmpty();
|
||||
}
|
||||
|
||||
[TestCaseSource(nameof(OpportunityCases))]
|
||||
public async Task OpportunityDetailLevelCasesQueryTest_Returns_Data(bool isBaseline, CCOpportunityDataModel opportunity)
|
||||
{
|
||||
// arrange
|
||||
var configuration = CreateConfiguration();
|
||||
|
||||
// act
|
||||
var results = await _ccOpportunityDetailService.CCOpportunityLevelCasesQuery(
|
||||
opportunity,
|
||||
configuration,
|
||||
CancellationToken.None,
|
||||
isBaseline: true);
|
||||
|
||||
// assert
|
||||
results.Should().NotBeNullOrEmpty();
|
||||
}
|
||||
|
||||
private Configuration.Configuration CreateConfiguration()
|
||||
{
|
||||
return new Configuration.Configuration
|
||||
{
|
||||
OrgDefinedEndDate = new DateTime(2024, 1, 1)
|
||||
};
|
||||
}
|
||||
|
||||
private static IEnumerable<TestCaseData> OpportunityCases()
|
||||
{
|
||||
yield return new TestCaseData(true, GetSystemLevelData()).SetName("System");
|
||||
}
|
||||
|
||||
private static CCOpportunityDataModel GetSystemLevelData()
|
||||
{
|
||||
return new CCOpportunityDataModel
|
||||
{
|
||||
OpportunityLevel = OpportunityLevel.Organization.ToString(),
|
||||
ChargeCodeJson =
|
||||
@"{""HierarchyPaths"":[""CC|CCRU|Blood""],""Members"":[
|
||||
{""MemberGuid"":""4041e269-34c4-4a1d-bebf-c6e0a0799539"",""Name"":""10002765 - HB RBC LEUKOREDUCED EA UNIT"",""Id"":""3540""}]}",
|
||||
|
||||
ClinicalIndicatorJson =
|
||||
@"{""HierarchyPaths"":[""CLINICALINDICATOR|CLINICALINDI|188""],""Members"":[{""MemberGuid"":""d1e38321-5e37-4dad-9a54-ca8599763e7a"",""Name"":""All Readmissions"",""Id"":""188""}]}",
|
||||
|
||||
OpportunityLevelJson =
|
||||
@"{""HierarchyPaths"":[""SYS|SYSTEM""],
|
||||
""Members"":[{""MemberGuid"":""00000000-0000-0000-0000-000000000000"",
|
||||
""Id"":""1"",
|
||||
""Name"":""System""}]}"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
using FluentAssertions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Moq;
|
||||
using Strata.ContinuousImprovement.Biz.Encounter;
|
||||
using Strata.ContinuousImprovement.Biz.Encounter.Opportunities;
|
||||
using Strata.Schema.Client;
|
||||
using Strata.Schema.Client.Dtos;
|
||||
using Strata.Schema.Client.Dtos.Info;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
|
||||
namespace Strata.ContinuousImprovement.Biz.Test.Integration.JazzIntegrationTests
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
[TestFixture, Category("Integration"), Category("CCI")]
|
||||
internal class TestGetENOpportunityDetailQuery : IntegrationTestBase
|
||||
{
|
||||
[Test]
|
||||
public async Task TestGetENOpportunityDetailQuery_Returns_Data()
|
||||
{
|
||||
// arrange
|
||||
var config = CreateConfiguration();
|
||||
var opportunity = CreateOpportunity();
|
||||
var schemaService = new Mock<ISchemaServiceClient>().Object;
|
||||
Mock.Get(schemaService)
|
||||
.Setup(x => x.GetDimensionMembersFromHierarchyPathsAsync(It.IsAny<Guid>(), It.IsAny<IEnumerable<string>>(), It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new List<MemberDto> { new() { Id = "188", } });
|
||||
Mock.Get(schemaService)
|
||||
.Setup(x => x.GetDimensionByGlobalIdAsync(It.IsAny<string>(), It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new ScoreDimensionInfoDto { DimensionGuid = new Guid("3465fcd8-9149-4d96-8456-3ecaa3ffdadd") });
|
||||
var logger = Mock.Of<ILogger<ENOpportunityDetailJob>>();
|
||||
|
||||
// act
|
||||
var results = await JazzDbContext.GetENOpportunityDetailQuery(opportunity, config, schemaService, logger, GmAutomationDatabase);
|
||||
|
||||
// assert
|
||||
results.Should().NotBeNullOrEmpty();
|
||||
}
|
||||
|
||||
private ENOpportunityDataModel CreateOpportunity()
|
||||
{
|
||||
return new ENOpportunityDataModel()
|
||||
{
|
||||
EncounterOpportunityJSON = @"{
|
||||
""EncounterGroup"":1,""IsSeasonal"":false, ""CaseTypes"":[],
|
||||
""PatientPopulations"":[{""Text"":""All Readmissions"",""Id"":""CLINICALINDICATOR|CLINICALINDI|188""}],
|
||||
""OpportunityLevel"":""Organization"",
|
||||
""EncounterOpportunityLevel"":0,
|
||||
""Entities"":[],""ServiceLines"":[],""Specialties"":[],""Providers"":[],""IsBaseline"":true}"
|
||||
};
|
||||
}
|
||||
|
||||
private Configuration.Configuration CreateConfiguration()
|
||||
{
|
||||
return new Configuration.Configuration
|
||||
{
|
||||
OrgDefinedEndDate = new DateTime(2024, 1, 1)
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
+330
@@ -0,0 +1,330 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Strata.ContinuousImprovement.Biz.All.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.ChargeCode.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.Cube;
|
||||
using Strata.ContinuousImprovement.Biz.DbContexts;
|
||||
using Strata.ContinuousImprovement.Biz.DbContexts.Jazz.Dimensions;
|
||||
using Strata.ContinuousImprovement.Biz.DbContexts.Reports;
|
||||
using Strata.ContinuousImprovement.Biz.DbContexts.Security;
|
||||
using Strata.ContinuousImprovement.Biz.Encounter.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.Exploration.CaseTypeFamilies;
|
||||
using Strata.ContinuousImprovement.Biz.Exploration.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.Filter;
|
||||
using Strata.ContinuousImprovement.Biz.FreeForm.Initiatives;
|
||||
using Strata.ContinuousImprovement.Biz.FreeForm.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.GeneralLedger.Details;
|
||||
using Strata.ContinuousImprovement.Biz.GeneralLedger.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.GMDN;
|
||||
using Strata.ContinuousImprovement.Biz.InitiativeRollupColumns;
|
||||
using Strata.ContinuousImprovement.Biz.Initiatives;
|
||||
using Strata.ContinuousImprovement.Biz.Network;
|
||||
using Strata.ContinuousImprovement.Biz.Payroll.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.PeerGroups;
|
||||
using Strata.ContinuousImprovement.Biz.Population;
|
||||
using Strata.ContinuousImprovement.Biz.QualityVariation.Breakdowns;
|
||||
using Strata.ContinuousImprovement.Biz.QualityVariation.Events;
|
||||
using Strata.ContinuousImprovement.Biz.QualityVariation.Metrics;
|
||||
using Strata.ContinuousImprovement.Biz.QualityVariation.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.Score;
|
||||
using Strata.ContinuousImprovement.Biz.Security;
|
||||
using Strata.ContinuousImprovement.Biz.Shared;
|
||||
using Strata.ContinuousImprovement.Biz.Test.Unit.Utilities;
|
||||
using Strata.ContinuousImprovement.Biz.UserProfiles;
|
||||
using Strata.ContinuousImprovement.Biz.UserSetting;
|
||||
using Strata.ContinuousImprovement.Biz.UtilizationVariation;
|
||||
using Strata.ContinuousImprovement.Biz.UtilizationVariation.Opportunities;
|
||||
using Strata.ContinuousImprovement.Biz.UtilizationVariation.VariationCaseTypes;
|
||||
using Strata.Stratasphere.Biz.DbContexts;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace Strata.ContinuousImprovement.Biz.Test.Integration.JazzIntegrationTests
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
[TestFixture, Category("Integration"), Category("CCI")]
|
||||
public partial class TestJazzDbContext : IntegrationTestBase
|
||||
{
|
||||
|
||||
public async Task TestGeneric<T>(TestContext testContext) where T : class
|
||||
{
|
||||
try
|
||||
{
|
||||
var count = await ((DbContext)JazzDbContext).Set<T>().CountAsync(CancellationToken.None);
|
||||
Assert.That(count, Is.GreaterThanOrEqualTo(0));
|
||||
if (count == 0) { return; }
|
||||
var result = await ((DbContext)JazzDbContext).Set<T>().FirstOrDefaultAsync(CancellationToken.None);
|
||||
Assert.That(result, Is.Not.Null.And.InstanceOf<T>());
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ILB
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task JazzDbTestCases()
|
||||
{
|
||||
var types = ((DbContext)JazzDbContext).Model.GetEntityTypes()
|
||||
.Select(e => e.ClrType).OrderBy(c => c.Name).ToList();
|
||||
foreach (var type in types)
|
||||
{
|
||||
switch (type.Name)
|
||||
{
|
||||
case nameof(AllOpportunity):
|
||||
TestGeneric<AllOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CaseTypeFamily):
|
||||
TestGeneric<CaseTypeFamily>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CciUserSetting):
|
||||
TestGeneric<CciUserSetting>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CCOpportunity):
|
||||
TestGeneric<CCOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CCOpportunityDataModel):
|
||||
TestGeneric<CCOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CCOpportunityDetailQueryResult):
|
||||
TestGeneric<CCOpportunityDetailQueryResult>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(CCOpportunityLevelCaseQueryResult):
|
||||
TestGeneric<CCOpportunityLevelCaseQueryResult>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ChargeCode.ChargeCode):
|
||||
TestGeneric<ChargeCode.ChargeCode>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ChargeCodeOpportunityDetail):
|
||||
TestGeneric<ChargeCodeOpportunityDetail>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ChargeCodeOpportunityLevelCase):
|
||||
TestGeneric<ChargeCodeOpportunityLevelCase>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(Configuration.Configuration):
|
||||
TestGeneric<Configuration.Configuration>(TestContext.CurrentContext);
|
||||
break;␍
|
||||
case nameof(CostComponentRollup):
|
||||
TestGeneric<CostComponentRollup>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DboUserSetting):
|
||||
TestGeneric<DboUserSetting>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimCaseType):
|
||||
TestGeneric<DimCaseType>(TestContext.CurrentContext);
|
||||
break;␍
|
||||
case nameof(DimCostComponent):
|
||||
TestGeneric<DimCostComponent>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimDeviceIdentifier):
|
||||
TestGeneric<DimDeviceIdentifier>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimSupply):
|
||||
TestGeneric<DimSupply>(TestContext.CurrentContext);
|
||||
break;␍ case nameof(DimEntity):
|
||||
TestGeneric<DimEntity>(TestContext.CurrentContext);
|
||||
break;␍ case nameof(StringValue):
|
||||
TestGeneric<StringValue>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ENOpportunity):
|
||||
TestGeneric<ENOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ENOpportunityDataModel):
|
||||
TestGeneric<ENOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ENOpportunityMetricData):
|
||||
TestGeneric<ENOpportunityMetricData>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(EXOpportunity):
|
||||
TestGeneric<EXOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FactGL):
|
||||
TestGeneric<FactGL>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FactGLSampled):
|
||||
TestGeneric<FactGLSampled>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FactStatistic):
|
||||
TestGeneric<FactStatistic>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FactStatisticSampledMonthly):
|
||||
TestGeneric<FactStatisticSampledMonthly>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FFFInitiativeTrackingData):
|
||||
TestGeneric<FFFInitiativeTrackingData>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FFInitiativeTrackingData):
|
||||
TestGeneric<FFInitiativeTrackingData>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FFOpportunity):
|
||||
TestGeneric<FFOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(FFOpportunityDataModel):
|
||||
TestGeneric<FFOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(Folder):
|
||||
TestGeneric<Folder>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(GLOpportunity):
|
||||
TestGeneric<GLOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(GLOpportunityDataModel):
|
||||
TestGeneric<GLOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(Identity):
|
||||
TestGeneric<Identity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(Initiative):
|
||||
TestGeneric<Initiative>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeComment):
|
||||
TestGeneric<InitiativeComment>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeCriteria):
|
||||
TestGeneric<InitiativeCriteria>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeCriteriaQueryResult):
|
||||
TestGeneric<InitiativeCriteriaQueryResult>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeRollupColumn):
|
||||
TestGeneric<InitiativeRollupColumn>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeRollupValue):
|
||||
TestGeneric<InitiativeRollupValue>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(InitiativeScore):
|
||||
TestGeneric<InitiativeScore>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(Lock):
|
||||
// Lock is inaccessible due to its protection level
|
||||
break;
|
||||
case nameof(NetworkOpportunityLink):
|
||||
TestGeneric<NetworkOpportunityLink>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(OpportunityMetricCohortData):
|
||||
TestGeneric<OpportunityMetricCohortData>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(OpportunityReport):
|
||||
TestGeneric<OpportunityReport>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(PeerGroup):
|
||||
TestGeneric<PeerGroup>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(PeerGroupCriteriaMapping):
|
||||
TestGeneric<PeerGroupCriteriaMapping>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(PROpportunity):
|
||||
TestGeneric<PROpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(PROpportunityDataModel):
|
||||
TestGeneric<PROpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(QVIBreakdown):
|
||||
TestGeneric<QVIBreakdown>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(QVIEvent):
|
||||
TestGeneric<QVIEvent>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(QVIOpportunity):
|
||||
TestGeneric<QVIOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(REReport):
|
||||
TestGeneric<REReport>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(RESQLReportRegisteredAttribute):
|
||||
TestGeneric<RESQLReportRegisteredAttribute>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(S3ACLSimple):
|
||||
TestGeneric<S3ACLSimple>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(S3SimplePermission):
|
||||
TestGeneric<S3SimplePermission>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(S3SimplePermissionDefault):
|
||||
TestGeneric<S3SimplePermissionDefault>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ScoreAttribute):
|
||||
TestGeneric<ScoreAttribute>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ScoreDimension):
|
||||
TestGeneric<ScoreDimension>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(SimplePermission):
|
||||
TestGeneric<SimplePermission>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(SourceOfSavingsReport):
|
||||
TestGeneric<SourceOfSavingsReport>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(SystemSetting):
|
||||
TestGeneric<SystemSetting>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(UserGroup):
|
||||
TestGeneric<UserGroup>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(UserProfile):
|
||||
TestGeneric<UserProfile>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(UVCaseType):
|
||||
TestGeneric<UVCaseType>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(UVOpportunity):
|
||||
TestGeneric<UVOpportunity>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(VariationOpportunityDataModel):
|
||||
TestGeneric<VariationOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;␍
|
||||
case nameof(ExplorationVariationOpportunityDataModel):
|
||||
TestGeneric<ExplorationVariationOpportunityDataModel>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(ViewScoreAttribute):
|
||||
TestGeneric<ViewScoreAttribute>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimAprdrg):
|
||||
TestGeneric<DimAprdrg>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimCpt):
|
||||
TestGeneric<DimCpt>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimIcd10Dx):
|
||||
TestGeneric<DimIcd10Dx>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimIcd10Px):
|
||||
TestGeneric<DimIcd10Px>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimMsdrg):
|
||||
TestGeneric<DimMsdrg>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(DimMsdrgRollup):
|
||||
TestGeneric<DimMsdrgRollup>(TestContext.CurrentContext);
|
||||
break;
|
||||
case nameof(QviMetrics):
|
||||
TestGeneric<QviMetrics>(TestContext.CurrentContext);
|
||||
break;
|
||||
default:
|
||||
var pathArr = TestContext.CurrentContext.TestDirectory.Split(Path.DirectorySeparatorChar);
|
||||
var path = string.Join(Path.DirectorySeparatorChar, pathArr[..^3].Append("JazzIntegrationTests"));
|
||||
var fileName = Path.Combine(path, $"{nameof(TestJazzDbContext)}_{type.Name}.cs");
|
||||
if (File.Exists(fileName)) break;
|
||||
var testFile = @"
|
||||
namespace Strata.ContinuousImprovement.Biz.Test.Integration.ContinuousImprovementServiceTests
|
||||
{
|
||||
[TestFixture, Category(""Integration""), Category(""CCI"")]
|
||||
public partial class TestJazzDbContext : IntegrationTestBase
|
||||
{
|
||||
[Test]
|
||||
public async Task Test" + type.Name + @"()
|
||||
{
|
||||
TestGeneric<" + type.Name + @">(TestContext.CurrentContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
";
|
||||
File.WriteAllText(fileName, testFile);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
await Verify(types, verifySettings)
|
||||
.UseFileName(TestContext.CurrentContext.TestName());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user