public async Task <IActionResult> AddAsync(RedirectMetadata model) { if (!ModelState.IsValid) { model.ErrorMessage = "Invalid options, confirm form validation"; return(View("Add", model)); } var redirect = model.ToRedirect(); var success = await _redirectService.TryCreateAsync(redirect); if (success) { return(RedirectToAction("List", new { highlightId = redirect.RedirectId })); } if (redirect.RedirectId == -1) { model.ErrorMessage = "A link with that name already exists."; return(View("Add", model)); } model.ErrorMessage = "Unknown problem happened. Try again?"; return(View("Add", model)); }
public void LinkNameIsNotValid(string name) { var model = new RedirectMetadata(name) { Target = "https://valid.target" }; var(isValid, _) = TryValidate(model); Assert.IsFalse(isValid); }
public void RedirectFromMetadataRedirectWorks() { var model = new RedirectMetadata() { Name = "Name", Description = "Description", Target = "https://target.com" }; var redirect = model.ToRedirect(); Assert.AreEqual("Name", redirect.Name); Assert.AreEqual("Description", redirect.Description); Assert.AreEqual("https://target.com", redirect.Target); }
public async Task <IActionResult> DeleteAsync(RedirectMetadata model) { await _redirectService.DeleteAsync(model.RedirectId); return(RedirectToAction("List")); }