public void Create_ValidLinkSupplied_CreatesLink() { var validLink = new Link { Id = 4, Url = "https://test.com/" }; _applicationDbContext.Setup(a => a.AddLink(validLink)); _applicationDbContext.Setup(a => a.SaveChanges()).Returns(1); var result = _linkRepository.Create(validLink); _applicationDbContext.Verify(a => a.AddLink(validLink), Times.Once); _applicationDbContext.Verify(a => a.SaveChanges(), Times.Once); Assert.True(result); }
public IActionResult Create(HyperLinkModel link) { if (Regex.IsMatch(link.Link, @"[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)")) { _repository.Create(link); return(RedirectToAction(nameof(Index))); } return(BadRequest("Niepoprawny link")); }
public object Post(CreateLinkRequest request) { var link = request.ConvertTo <Link>(); link.SessionId = Session.Id; link.CreatedAt = DateTime.UtcNow; if (link.Key.IsNullOrEmpty()) { var currentIterator = StartKeyLength * 10; do { ++currentIterator; link.Key = KeyValidator.GenerateKey(currentIterator / 10); } while (_linkRepo.KeyExists(link.Key)); } UnitOfWork(() => { _linkRepo.Create(link); if (request.Tags != null) { link.LinkTags = new List <LinkTag>(); var tagsDict = _tagRepo.GetTagsDictionary(); foreach (var tag in request.Tags) { if (!tagsDict.ContainsKey(tag)) { throw HttpError.NotFound($"Tag '{tag}' not found."); } var linkTag = new LinkTag() { LinkId = link.Id, TagId = tagsDict[tag].Id }; link.LinkTags.Add(linkTag); } _linkRepo.SetLinkTags(link.Id, link.LinkTags); } PublishMessage(new CreateLinkScreenshotRequest() { Id = link.Id }); }); return(_linkRepo.GetLinkResponse(link.Id)); }
public async Task <Result> Create(LinkViewModel model) { try { return(ModelState.IsValid ? await _repository.Create(LinkViewModel.Get(model)) : Result.Failed); } catch (Exception e) { await _logger.AddException(e); return(Result.Failed); } }
public async Task <IActionResult> Create([Bind("Title, URL")] Link link) { try { if (ModelState.IsValid) { await _linkRepository.Create(link); _toastNotification.AddSuccessToastMessage("Successfully added new link"); return(RedirectToAction(nameof(Index))); } } catch (DbUpdateException) { _toastNotification.AddErrorToastMessage("Something went wrong"); return(RedirectToAction(nameof(Index))); } return(RedirectToAction(nameof(Index))); }