public void return_a_boolean_if_postcode_is_valid(string postcode, bool expected) { var postcodeValidator = new PostcodeValidator(); var result = postcodeValidator.Validate(postcode); Assert.Equal(expected, result); }
public async Task PassesRegexButPostcodeIOThrowsError() { _regexPostcodeValidator.Setup(x => x.IsPostcodeValid(It.IsAny <string>())).Returns(true); _repository.Setup(x => x.IsPostcodeInDbAndActive(It.IsAny <string>())).Throws <Exception>(); PostcodeValidator postcodeValidator = new PostcodeValidator(_regexPostcodeValidator.Object, _repository.Object, _iLogger.Object); bool result = await postcodeValidator.IsPostcodeValidAsync("NG15FS"); Assert.IsTrue(result); }
public async Task IsPostcodeValid(bool passesRegexValidator, bool isInDbAndActive, bool expectedResult) { _regexPostcodeValidator.Setup(x => x.IsPostcodeValid(It.IsAny <string>())).Returns(passesRegexValidator); _repository.Setup(x => x.IsPostcodeInDbAndActive(It.IsAny <string>())).ReturnsAsync(isInDbAndActive); PostcodeValidator postcodeValidator = new PostcodeValidator(_regexPostcodeValidator.Object, _repository.Object, _iLogger.Object); bool result = await postcodeValidator.IsPostcodeValidAsync("NG15FS"); Assert.AreEqual(expectedResult, result); }
public async Task <IActionResult> OnPostAsync() { bool extraValid = true; if (ModelState.IsValid) { if (!PostcodeValidator.IsValid(CaseForm.Postcode, _config["googleApiKey"])) { ModelState.AddModelError("CaseForm.Postcode", PostcodeValidator.FormatErrorMessage()); extraValid = false; } if (CaseForm.Email == null && CaseForm.Phone == null) { ModelState.AddModelError("CaseForm.Email", "You must supply either an email address or primary phone number"); ModelState.AddModelError("CaseForm.Phone", "You must supply either an email address or primary phone number"); extraValid = false; } else if (CaseForm.Phone2 != null && CaseForm.Phone == null) { ModelState.AddModelError("CaseForm.Phone", "You should supply a primary phone number before entering a secondary phone number"); extraValid = false; } if (CaseForm.TestDate > DateTime.Now.AddDays(1)) { ModelState.AddModelError("CaseForm.TestDate", "Test date is too far in the future"); extraValid = false; } if (CaseForm.SymptomDate > DateTime.Now.AddDays(1)) { ModelState.AddModelError("CaseForm.Phone", "Symptom date is too far in the future"); extraValid = false; } if (extraValid) { var lastCase = _CaseService.AssignAndAdd(CaseForm.getCase()); return(RedirectToPage("Dashboard", new { lastCaseId = lastCase.CaseID })); } } return(Page()); }
public PostcodeValidatorTests() { _validator = new PostcodeValidator(); }