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().Object; Mock.Get(schemaService) .Setup(x => x.GetDimensionMembersFromHierarchyPathsAsync(It.IsAny(), It.IsAny>(), It.IsAny())) .ReturnsAsync(new List { new() { Id = "188", } }); Mock.Get(schemaService) .Setup(x => x.GetDimensionByGlobalIdAsync(It.IsAny(), It.IsAny())) .ReturnsAsync(new ScoreDimensionInfoDto { DimensionGuid = new Guid("3465fcd8-9149-4d96-8456-3ecaa3ffdadd") }); var logger = Mock.Of>(); // 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) }; } } }