public async Task <ResponseFromApi <int> > CreatePost(PostDetailBlazorVM postDetailViewModel) { try { CreatedPostCommand createPostCommand = _mapper.Map <CreatedPostCommand>(postDetailViewModel); var newId = await _client.AddPostAsync(createPostCommand); return(new ResponseFromApi <int>() { Data = newId, Success = true }); } catch (ApiException ex) { return(ex.ConvertApiExceptions()); } }
public async Task Handle_Not_ValidPost_FutureDate_2DayIntoTheFuture_NotAddedToPostRepo() { var handler = new CreatedPostCommandHandler (_mockPostRepository.Object, _mapper); var allPostsBeforeCount = (await _mockPostRepository.Object.GetAllAsync()).Count; var command = new CreatedPostCommand() { Title = new string('*', 80), Date = DateTime.Now.AddDays(2), Rate = 9, Author = "AAAA" }; var response = await handler.Handle(command, CancellationToken.None); var allPosts = await _mockPostRepository.Object.GetAllAsync(); response.Success.ShouldBe(false); response.ValidationErrors.Count.ShouldBe(1); allPosts.Count.ShouldBe(allPostsBeforeCount); response.PostId.ShouldBeNull(); }
public async Task Handle_ValidPost_AddedToPostRepo() { var handler = new CreatedPostCommandHandler (_mockPostRepository.Object, _mapper); var allPostsBeforeCount = (await _mockPostRepository.Object.GetAllAsync()).Count; var command = new CreatedPostCommand() { Title = "TestTest", Date = DateTime.Now.AddDays(-14), Rate = 9, Author = "AAAA" }; var response = await handler.Handle(command, CancellationToken.None); var allPosts = await _mockPostRepository.Object.GetAllAsync(); response.Success.ShouldBe(true); response.ValidationErrors.Count.ShouldBe(0); allPosts.Count.ShouldBe(allPostsBeforeCount + 1); response.PostId.ShouldNotBeNull(); }
public async Task <ActionResult <int> > Create([FromBody] CreatedPostCommand createPostCommand) { var result = await _mediator.Send(createPostCommand); return(Ok(result.PostId)); }