Esempio n. 1
0
        public static CarePackageUpdateRequest CarePackageUpdateRequest(CarePackage carePackage,
                                                                        CarePackageSettings carePackageSettings)
        {
            if (carePackage == null)
            {
                throw new ArgumentNullException(nameof(carePackage));
            }
            if (carePackageSettings == null)
            {
                throw new ArgumentNullException(nameof(carePackageSettings));
            }

            return(new CarePackageUpdateRequest()
            {
                PrimarySupportReasonId = carePackage.PrimarySupportReasonId,
                PackageScheduling = carePackage.PackageScheduling,
                HasRespiteCare = carePackageSettings.HasRespiteCare,
                HasDischargePackage = carePackageSettings.HasDischargePackage,
                HospitalAvoidance = carePackageSettings.HospitalAvoidance,
                IsReEnablement = carePackageSettings.IsReEnablement,
                IsS117Client = carePackageSettings.IsS117Client,
                PackageType = carePackage.PackageType,
                SocialWorkerCarePlanFileId = Guid.NewGuid()
            });
        }
        public CarePackageSettings CreateCarePackageSettingsForS117Client(Guid carePackageId, bool s117Client)
        {
            var packageSettings = new CarePackageSettings {
                CarePackageId = carePackageId, IsS117Client = s117Client
            };

            _context.CarePackageSettings.Add(packageSettings);
            _context.SaveChanges();

            return(packageSettings);
        }
Esempio n. 3
0
        public async Task ShouldUpdateCarePackage()
        {
            // using local fixture to isolate this test from data created by other tests
            using var localFixture = new MockWebApplicationFactory();

            var carePackage         = localFixture.Generator.CreateCarePackage();
            var carePackageSettings = localFixture.Generator.CreateCarePackageSettings(carePackage.Id);

            var updatedCarePackageSettings = new CarePackageSettings
            {
                HasRespiteCare      = true,
                HasDischargePackage = true,
                HospitalAvoidance   = true,
                IsReEnablement      = true,
                IsS117Client        = true
            };

            // Update some care package settings
            carePackage.PrimarySupportReasonId = 2;
            carePackage.PackageScheduling      = PackageScheduling.LongTerm;

            var carePackageUpdateRequest =
                TestDataHelper.CarePackageUpdateRequest(carePackage, updatedCarePackageSettings);

            var response = await localFixture.RestClient
                           .UpdateFormAsync <CarePackagePlainResponse>($"api/v1/care-packages/{carePackage.Id}", carePackageUpdateRequest)
                           .ConfigureAwait(false);

            var packageSettingsEntity = localFixture.DatabaseContext.CarePackageSettings.SingleOrDefault(ps => ps.CarePackageId.Equals(carePackage.Id));

            Assert.Equal(HttpStatusCode.OK, response.Message.StatusCode);
            response.Content.Id.Should().Be(carePackage.Id);
            response.Content.PackageType.Should().Be((int)carePackageUpdateRequest.PackageType);
            response.Content.Status.Should().Be(PackageStatus.InProgress);

            // Check package settings updated
            Assert.NotNull(packageSettingsEntity);
            var newSettings = new
            {
                updatedCarePackageSettings.HasRespiteCare,
                updatedCarePackageSettings.HasDischargePackage,
                updatedCarePackageSettings.HospitalAvoidance,
                updatedCarePackageSettings.IsReEnablement,
                updatedCarePackageSettings.IsS117Client
            };

            packageSettingsEntity.Should().BeEquivalentTo(newSettings, opt => opt.ExcludingMissingMembers().ExcludingNestedObjects());
        }
        public CarePackageSettings CreateCarePackageSettings(Guid carePackageId)
        {
            var packageSettings = new CarePackageSettings
            {
                CarePackageId       = carePackageId,
                HasRespiteCare      = false,
                HasDischargePackage = false,
                HospitalAvoidance   = false,
                IsReEnablement      = false,
                IsS117Client        = false
            };

            _context.CarePackageSettings.Add(packageSettings);
            _context.SaveChanges();

            return(packageSettings);
        }
 public static CarePackageUpdateDomain ToUpdateDomain(this CarePackageSettings input)
 {
     return(_mapper.Map <CarePackageUpdateDomain>(input));
 }
 public static CarePackageForCreationDomain ToForCreationDomain(this CarePackageSettings input)
 {
     return(_mapper.Map <CarePackageForCreationDomain>(input));
 }