Files

64 lines
2.3 KiB
C#

using Snowflake.Data.Client;
using Strata.DecisionSupport.Biz.Encounters;
using Strata.DecisionSupport.Biz.Parameters;
using Strata.DecisionSupport.Biz.Services;
using System.Diagnostics.CodeAnalysis;
namespace Strata.DecisionSupport.Biz.Test.Integration.IntegrationTests
{
[ExcludeFromCodeCoverage]
[TestFixture, Category("Integration"), Category("DSS")]
public class TestLOSOpportunityInfoQuery : IntegrationTestBase
{
[TestCaseSource(nameof(LOSOpportunityInfoQueryTestCases))]
public async Task LOSOpportunityInfoQueryTest(LOSOpportunityQueryInfo queryInfo)
{
var query = EncounterQueries.LOSOpportunityInfoQuery(LOSOpportunityQueryInfo.Args());
try
{
var result = ((IEnumerable<LOSOpportunityInfo>)await _databaseContext
.QueryAsync<LOSOpportunityInfo>(query, nameof(LOSOpportunityInfoQueryTest), queryInfo.Parameters()));
await Verifier.Verify(query, verifySettings)
.UseFileName(TestContext.CurrentContext.TestName(nameof(query)));
await Verifier.Verify(result, verifySettings)
.UseFileName(TestContext.CurrentContext.TestName(nameof(result)));
}
catch (SnowflakeDbException dbex)
{
// ILB
}
catch (Exception ex)
{
throw;
}
}
[TestCaseSource(nameof(LOSOpportunityInfoQueryTestCases))]
public async Task LOSOpportunityInfoQueryServiceTest(LOSOpportunityQueryInfo queryInfo)
{
try
{
var result = await _encounterQueryService.RunLOSOpportunityInfoQuery(queryInfo, CancellationToken.None);
await Verifier.Verify(result, verifySettings)
.UseFileName(TestContext.CurrentContext.TestName(nameof(result)));
}
catch (Exception)
{
throw;
}
}
public static IEnumerable<TestCaseData> LOSOpportunityInfoQueryTestCases()
{
yield return new TestCaseData(new LOSOpportunityQueryInfo(
Guid.NewGuid(),
24,
2))
.SetName("{m}");
}
}
}