public void CalculateDuty_NegativeTypeIdNegativeCIF_ValidationSuccess(long value) { CalculateDutyViewModel viewModel = new CalculateDutyViewModel( vehicleTypeId: value, cIF: value); Assert.IsFalse(viewModel.Result.IsValid); }
public void CalculateDuty_InvalidTypeIdValidCIFInput_ValidationError() { CalculateDutyViewModel viewModel = new CalculateDutyViewModel( vehicleTypeId: 0, cIF: CIF); Assert.IsFalse(viewModel.Result.IsValid); }
public void CalculateDuty_ValidTypeAndCIFIdInput_ValidationSuccess() { CalculateDutyViewModel viewModel = new CalculateDutyViewModel( vehicleTypeId: _vehicleTypeId, cIF: CIF); Assert.IsTrue(viewModel.Result.IsValid); }
public async Task <Result <double> > CalculateDuty(CalculateDutyViewModel query) { if (!query.Result.IsValid) { _logger.LogError($"Validation failed: {query.Result.Errors.FirstOrDefault().ToString()}"); return(Result.Fail(new Error(query.Result.Errors.FirstOrDefault().ToString()))); } VehicleTaxDto taxInfo = await _vehicleRepository.FetchVehicleTaxByTypeId(query.VehicleTypeId).ConfigureAwait(false); if (taxInfo is null) { _logger.LogError($"Vehicle Type does not exist: {query.Result.Errors.FirstOrDefault().ToString()}"); return(Result.Fail(new Error("Vehicle Type does not exist!"))); } return(Result.Ok(taxInfo.CalculateDuty(query.CIF)) .WithSuccess("Vehicle Tax Listed Succesfully")); }