public async Task Add_new_drafts() { var entry = new DraftSaveCommand { Title = "JS", Summary = "Learn JS", Tags = "js, es", Language = Language.English, Content = "<p>text</p>", EnglishUrl = "learn-js" }; var result = await _handler.Handle(entry, default); result.Should().BeEquivalentTo(new { PostUrl = (string)null, Published = false }); using (var ctx = _context.GetDb()) { ctx.Drafts.Should().HaveCount(1); ctx.Drafts.Single().Should().BeEquivalentTo(new { Id = 1, Title = "JS", Summary = "Learn JS", Language = Language.English, Content = "<p>text</p>", EnglishUrl = "learn-js" }); } }
public async Task <IActionResult> SavePost(DraftSaveCommand command) { var result = await _mediator.Send(command); if (result.Failed) { ModelState.AddModelErrors(result.Errors); return(View(nameof(Post), command)); } if (result.Published) { var lang = command.Language == Language.English ? "en" : "fa"; return(RedirectToAction("Post", "Home", new { language = lang, urlTitle = result.PostUrl })); } return(RedirectToAction(nameof(Index))); }