Ejemplo n.º 1
0
        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());
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <int> > Create([FromBody] CreatedPostCommand createPostCommand)
        {
            var result = await _mediator.Send(createPostCommand);

            return(Ok(result.PostId));
        }