public async Task ShouldAdd_A_Pet()
        {
            string name = "Vader";

            var clientId = Guid.NewGuid();

            var request = new AddPetCommand {
                Name = name, ClientId = clientId
            };
            var expected = new AddPetResponse {
                Id = new Guid("994aa42a-e292-42f1-b5d4-749cd19a4d29"), Name = name, ClientId = clientId
            };

            var mapper         = PetShopMappingConfiguration.GetPetShopMappings();
            var mockRepository = new Mock <IPetRepository>();

            mockRepository.Setup(p => p.Add(It.Is <Pet>(c => c.Name == name)))
            .Returns((Pet pet) => Task.Run(() =>
            {
                pet.Id = new Guid("994aa42a-e292-42f1-b5d4-749cd19a4d29");
            }));

            var handler = new AddPetCommandHandler(mapper, mockRepository.Object);

            var result = await handler.Handle(request, CancellationToken.None);

            result.Data.Should().BeEquivalentTo(expected);
            result.Message.Should().BeEquivalentTo("Pet Added");
            mockRepository.Verify(m => m.Add(It.IsAny <Pet>()), Times.Once());
        }
        public void Shoud_have_error_when_name_is_empty()
        {
            var validator = new AddPetCommandValidator();

            var model = new AddPetCommand {
                Name = string.Empty
            };

            validator.Validate(model).IsValid.Should().BeFalse();
        }
Esempio n. 3
0
 public async Task <ActionResult> AddPet([FromBody] AddPetCommand command)
 => await base.Send(command);
Esempio n. 4
0
        public async Task <ActionResult <Response <AddPetResponse> > > AddPet(Guid clientId, [FromBody] AddPetCommand request)
        {
            var requestWithClientId = request with {
                ClientId = clientId
            };
            var response = await _mediator.Send(requestWithClientId);

            if (response.Error)
            {
                return(BadRequest(response.Message));
            }
            else
            {
                return(Created(nameof(GetClient), response));
            }
        }