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(); }
public async Task <ActionResult> AddPet([FromBody] AddPetCommand command) => await base.Send(command);
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)); } }