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)await _databaseContext .QueryAsync(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 LOSOpportunityInfoQueryTestCases() { yield return new TestCaseData(new LOSOpportunityQueryInfo( Guid.NewGuid(), 24, 2)) .SetName("{m}"); } } }