public async Task AndCheckingAllowedVersusAttemtpedMinWage(WageUnit wageUnit, decimal allowedMinimumHourlyWage, decimal attemptedFixedWage, bool expectedIsValid) { var request = new CreateApprenticeshipRequest { WageType = WageType.CustomWageFixed, WageUnit = wageUnit, FixedWage = attemptedFixedWage, HoursPerWeek = 36, ExpectedStartDate = _fixture.CreateFutureDateTime() }; var context = GetValidationContextForProperty(request, req => req.FixedWage); _fixture = new Fixture().Customize(new AutoMoqCustomization()); _mockSelector = _fixture.Freeze <Mock <IGetMinimumWagesService> >(); _mockSelector .Setup(selector => selector.GetApprenticeMinimumWageRate(It.IsAny <DateTime>())) .Returns(allowedMinimumHourlyWage); _fixture.Inject <IHourlyWageCalculator>(new HourlyWageCalculator()); _validator = _fixture.Create <CreateApprenticeshipRequestValidator>(); var result = await _validator.ValidateAsync(context).ConfigureAwait(false); result.IsValid.Should().Be(expectedIsValid); if (!result.IsValid) { result.Errors.First().ErrorCode .Should().Be(ErrorCodes.CreateApprenticeship.FixedWage); result.Errors.First().ErrorMessage .Should().Be(ErrorMessages.CreateApprenticeship.FixedWageIsBelowApprenticeMinimumWage); } }
public void Setup() { _request = new CreateApprenticeshipRequest() { LocationType = 0, AddressLine1 = "<>", AddressLine2 = "<>", AddressLine3 = "<>", Town = "<>", Postcode = "<>" }; var fixture = new Fixture().Customize(new AutoMoqCustomization()); _validator = fixture.Create <CreateApprenticeshipRequestValidator>(); }
public void Setup() { _fixture = new Fixture().Customize(new AutoMoqCustomization()); _expectedAllowedFixedWage = _fixture.Create <decimal>(); _expectedAttemptedFixedWage = _fixture.Create <decimal>(); _mockSelector = _fixture.Freeze <Mock <IGetMinimumWagesService> >(); _mockSelector .Setup(selector => selector.GetApprenticeMinimumWageRate(It.IsAny <DateTime>())) .Returns(_expectedAllowedFixedWage); _mockCalculator = _fixture.Freeze <Mock <IHourlyWageCalculator> >(); _mockCalculator .Setup(calculator => calculator.Calculate(It.IsAny <decimal>(), It.IsAny <WageUnit>(), It.IsAny <decimal>())) .Returns(_expectedAttemptedFixedWage); _validator = _fixture.Create <CreateApprenticeshipRequestValidator>(); }
public void Setup() { _request = new CreateApprenticeshipRequest() { LocationType = LocationType.Nationwide, AddressLine1 = "1 string lane<>", AddressLine2 = "string", AddressLine3 = "string", AddressLine4 = "string", AddressLine5 = "string", Town = "Coventry", Postcode = "CV1 1AA", AdditionalLocationInformation = "sdf" }; var fixture = new Fixture().Customize(new AutoMoqCustomization()); _validator = fixture.Create <CreateApprenticeshipRequestValidator>(); }