public async Task ShouldRaiseAnErrorWhenProvisionalEndDateOutOfRangePackageDetailDate() { var package = _generator.CreateCarePackage(PackageType.NursingCare); var packageDetails = _generator.CreateCarePackageDetails(package, 1, PackageDetailType.CoreCost); var request = new CareChargeReclaimCreationRequest() { CarePackageId = package.Id, ClaimCollector = ClaimCollector.Supplier, Cost = 90M, SubType = ReclaimSubType.CareChargeProvisional, Description = null, ClaimReason = null }; request.StartDate = packageDetails.First().StartDate.AddDays(10); var coreCostDetailEndDate = packageDetails.First().EndDate; if (coreCostDetailEndDate != null) { var provisionalCareChargeEndDate = (DateTimeOffset)coreCostDetailEndDate; request.EndDate = provisionalCareChargeEndDate.AddDays(+10); } var response = await _fixture.RestClient .PostAsync <CarePackageReclaimResponse>($"api/v1/care-packages/{request.CarePackageId}/reclaims/care-charges/provisional", request); response.Message.StatusCode.Should().Be(HttpStatusCode.UnprocessableEntity); }
public async Task ShouldUpdateExistingProvisionalCareCharge() { var package = _generator.CreateCarePackage(); _generator.CreateCarePackageDetails(package, 1, PackageDetailType.CoreCost); var provisionalCharge = _generator .CreateCarePackageReclaim(package, ClaimCollector.Supplier, ReclaimType.CareCharge, ReclaimSubType.CareChargeProvisional); var request = new CareChargeReclaimCreationRequest { Cost = provisionalCharge.Cost + 12.34m, ClaimCollector = ClaimCollector.Supplier, SubType = ReclaimSubType.CareChargeProvisional, CarePackageId = package.Id, StartDate = DateTimeOffset.UtcNow.AddDays(-1), EndDate = DateTimeOffset.UtcNow.AddDays(2), Description = "test", ClaimReason = "test" }; var response = await _fixture.RestClient .SubmitFormAsync <CarePackageReclaimResponse>( $"api/v1/care-packages/{request.CarePackageId}/reclaims/care-charges", request); var reclaims = _fixture.DatabaseContext.CarePackageReclaims .Where(r => r.CarePackageId == package.Id).ToList(); response.Message.StatusCode.Should().Be(HttpStatusCode.OK); reclaims.Count.Should().Be(1); reclaims.Should().ContainSingle(r => r.Cost == request.Cost); }
public async Task ShouldCreateProvisionalCareCharge() { var package = _generator.CreateCarePackage(PackageType.NursingCare); var packageDetails = _generator.CreateCarePackageDetails(package, 1, PackageDetailType.CoreCost); var request = new CareChargeReclaimCreationRequest() { CarePackageId = package.Id, ClaimCollector = ClaimCollector.Supplier, Cost = 90M, SubType = ReclaimSubType.CareChargeProvisional, StartDate = packageDetails.First().StartDate, EndDate = packageDetails.First().EndDate, Description = null, ClaimReason = null }; var response = await _fixture.RestClient .PostAsync <CarePackageReclaimResponse>($"api/v1/care-packages/{request.CarePackageId}/reclaims/care-charges/provisional", request); response.Message.StatusCode.Should().Be(HttpStatusCode.OK); }
private async Task <TestResponse <CarePackageReclaimResponse> > CreateCareChargesReclaim(CareChargeReclaimCreationRequest request) { var response = await _fixture.RestClient .PostAsync <CarePackageReclaimResponse>($"api/v1/care-packages/{request.CarePackageId}/reclaims/care-charges", request); return(response); }
public async Task <ActionResult <CarePackageReclaimResponse> > CreateProvisionalCareChargeReclaim(CareChargeReclaimCreationRequest careChargeReclaimCreationRequest) { var carePackageReclaimResponse = await _createProvisionalCareChargeUseCase.CreateProvisionalCareCharge(careChargeReclaimCreationRequest.ToDomain(), ReclaimType.CareCharge); return(Ok(carePackageReclaimResponse)); }
public static CareChargeReclaimCreationDomain ToCareChargeDomain(this CareChargeReclaimCreationRequest input) { return(_mapper.Map <CareChargeReclaimCreationDomain>(input)); }
public static CarePackageReclaimCreationDomain ToDomain(this CareChargeReclaimCreationRequest carePackageReclaimCreationRequest) { return(_mapper.Map <CarePackageReclaimCreationDomain>(carePackageReclaimCreationRequest)); }