public async Task ShouldEndReclaim() { var package = TestDataHelper.CreateCarePackage(packageType: PackageType.ResidentialCare, status: PackageStatus.Approved); var coreCost = TestDataHelper.CreateCarePackageDetail(package.Id, PackageDetailType.CoreCost); package.Details.Add(coreCost); package.Reclaims.Add(TestDataHelper.CreateCarePackageReclaim(package.Id, type: ReclaimType.CareCharge, subType: ReclaimSubType.CareChargeProvisional, collector: ClaimCollector.Supplier, startDate: coreCost.StartDate, endDate: coreCost.EndDate, cost: 10M)); package = _generator.CreateCarePackage(package); var reclaim = package.Reclaims.First(); var endDate = DateTimeOffset.UtcNow; var response = await _fixture.RestClient .PutAsync <CarePackageReclaimResponse>( $"api/v1/care-packages/{package.Id}/reclaims/care-charges/{reclaim.Id}/end", new CarePackageReclaimEndRequest { EndDate = endDate }); reclaim = _fixture.DatabaseContext.CarePackageReclaims.First(r => r.Id == reclaim.Id); response.Message.StatusCode.Should().Be(HttpStatusCode.OK); response.Content.Status.Should().Be(ReclaimStatus.Ended); reclaim.Status.Should().Be(ReclaimStatus.Ended); reclaim.EndDate.Value.Date.Should().Be(endDate.Date); }
public CancelCarePackageReclaimsUseCaseTests() { using var localFixture = new MockWebApplicationFactory(); var carePackage = localFixture.Generator.CreateCarePackage(); _reclaim = TestDataHelper.CreateCarePackageReclaim(carePackage.Id, ClaimCollector.Hackney, ReclaimType.CareCharge, ReclaimSubType.CareChargeProvisional); _reclaim.Status = ReclaimStatus.Active; carePackage.Reclaims.Add(_reclaim); _dbManager = new Mock <IDatabaseManager>(); var historyGateway = new Mock <ICarePackageHistoryGateway>(); var gateway = new Mock <ICarePackageReclaimGateway>(); _carePackageGateway = new Mock <ICarePackageGateway>(); gateway .Setup(g => g.GetAsync(_reclaim.Id, It.IsAny <bool>())) .ReturnsAsync(_reclaim); _carePackageGateway .Setup(g => g.GetPackageAsync(It.IsAny <Guid>(), It.IsAny <PackageFields>(), It.IsAny <bool>())) .ReturnsAsync(carePackage); _useCase = new CancelCareChargeUseCase(gateway.Object, _dbManager.Object, historyGateway.Object, _carePackageGateway.Object); }
public CarePackageReclaim CreateCarePackageReclaim( CarePackage package, ClaimCollector collector, ReclaimType type, ReclaimSubType subType = ReclaimSubType.CareCharge13PlusWeeks) { var reclaim = TestDataHelper.CreateCarePackageReclaim(package.Id, collector, type, subType); _context.CarePackageReclaims.Add(reclaim); _context.SaveChanges(); return(reclaim); }
public static CarePackage AddCareChargeFor13PlusWeeks(this CarePackage package, decimal?cost = null, ClaimCollector?collector = null, DateTimeOffset?startDate = null, DateTimeOffset?endDate = null) { package.Reclaims.Add(TestDataHelper.CreateCarePackageReclaim(package.Id, ReclaimType.CareCharge, ReclaimSubType.CareCharge13PlusWeeks, collector, cost, startDate, endDate)); return(package); }
public static CarePackage AddFncPayment(this CarePackage package, decimal?cost = null, ClaimCollector?collector = null, DateTimeOffset?startDate = null, DateTimeOffset?endDate = null) { package.Reclaims.Add(TestDataHelper.CreateCarePackageReclaim(package.Id, ReclaimType.Fnc, ReclaimSubType.FncPayment, collector, cost, startDate, endDate)); return(package); }