Template
330 lines
17 KiB
C#
330 lines
17 KiB
C#
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());
|
|
}
|
|
|
|
}
|
|
} |