public void ShouldFailWhenFirstCareChargeStartLessThanPackageStartDate(ReclaimSubType subtype, int daysDelta) { var request = CreateUpsertRequest( (subtype, _coreCost.StartDate.AddDays(daysDelta), null)); VerifyFailedRequest(request, "First care charge start date must be greater or equal to package start date"); }
public async Task ShouldAdjustOngoingCareChargeEndDateToFinitePackageEndDate(ReclaimSubType subtype) { var request = CreateUpsertRequest((subtype, _coreCost.StartDate, null)); await _useCase.ExecuteAsync(_package.Id, request); _package.Reclaims .Single(r => r.SubType == subtype) .EndDate.Should().Be(_coreCost.EndDate); }
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 CarePackageReclaim CreateCarePackageReclaim(Guid packageId, ClaimCollector collector, ReclaimType type, ReclaimSubType subType) { return(new Faker <CarePackageReclaim>() .RuleFor(r => r.CarePackageId, packageId) .RuleFor(r => r.Cost, f => Math.Round(f.Random.Decimal(0m, 1000m), 2)) // Workaround to avoid precision loss in SQLite) .RuleFor(r => r.StartDate, f => f.Date.Past().Date) .RuleFor(r => r.EndDate, f => f.Date.Future().Date) .RuleFor(r => r.Description, f => f.Lorem.Paragraph()) .RuleFor(r => r.ClaimCollector, collector) .RuleFor(r => r.Type, type) .RuleFor(r => r.Status, ReclaimStatus.Active) .RuleFor(r => r.SubType, subType)); }
private void AddExistingCareCharge(ReclaimSubType subType, DateTimeOffset startDate, DateTimeOffset?endDate) { _package.Reclaims.Add(new CarePackageReclaim { Id = Guid.NewGuid(), CarePackageId = _package.Id, Type = ReclaimType.CareCharge, SubType = subType, Status = ReclaimStatus.Active, ClaimCollector = ClaimCollector.Supplier, Cost = 1m, StartDate = startDate, EndDate = endDate }); }
public static CarePackageReclaim CreateCarePackageReclaim( Guid packageId, ReclaimType type, ReclaimSubType subType, ClaimCollector?collector, decimal?cost, DateTimeOffset?startDate, DateTimeOffset?endDate) { return(new Faker <CarePackageReclaim>() .RuleFor(r => r.Id, Guid.NewGuid) .RuleFor(r => r.CarePackageId, packageId) .RuleFor(r => r.Cost, f => cost ?? f.Random.Decimal(0m, 1000m).Round(2)) .RuleFor(r => r.StartDate, f => startDate ?? f.Date.Past(1, DateTime.Now.AddDays(-1)).Date) .RuleFor(d => d.EndDate, f => endDate != DateTimeOffset.MaxValue // use DateTimeOffset.MaxValue to create an ongoing reclaim ? endDate ?? f.Date.Future(1, DateTime.Now.AddDays(1)).Date : null as DateTimeOffset?) .RuleFor(r => r.Description, f => f.Lorem.Paragraph()) .RuleFor(r => r.ClaimCollector, f => collector ?? f.PickRandom <ClaimCollector>()) .RuleFor(r => r.Type, type) .RuleFor(r => r.Status, ReclaimStatus.Active) .RuleFor(r => r.SubType, subType)); }
private static CarePackageReclaim CreateReclaimEntity(CarePackageReclaimCreationDomain requestedReclaim, ReclaimSubType subType) { var fncPayment = requestedReclaim.ToEntity(); fncPayment.Type = ReclaimType.Fnc; fncPayment.SubType = subType; fncPayment.Status = ReclaimStatus.Active; fncPayment.Subjective = fncPayment.SubType == ReclaimSubType.FncPayment ? SubjectiveConstants.FncPaymentSubjectiveCode : SubjectiveConstants.FncReclaimSubjectiveCode; return(fncPayment); }
public void ShouldFailWhenLastCareChargeEndDateExceedsPackageEndDate(ReclaimSubType subtype) { var request = CreateUpsertRequest((subtype, _coreCost.StartDate, _coreCost.EndDate?.AddDays(1))); VerifyFailedRequest(request, "Last care charge end date expected to be less than or equal to"); }
public void ShouldSaveWhenFirstCareChargeStartDateGreaterOrEqualThanPackageStartDate(ReclaimSubType subtype, int daysDelta) { var request = CreateUpsertRequest( (subtype, _coreCost.StartDate.AddDays(daysDelta), null)); _useCase.ExecuteAsync(_package.Id, request); _package.Reclaims.Should().ContainSingle(r => r.SubType == subtype); _dbManager.VerifySaved(); }