public async Task Handle_QuadraHandler_AdicionarQuadra() { var comando = new AdicionarQuadraCommand { Quadra = new QuadraModel { Nome = _faker.Company.CompanyName(), Imagem = _faker.Image.PicsumUrl(), PrecoHora = _faker.Random.Decimal(90, 130), Telefone = _faker.Phone.PhoneNumber("(##) ####-####"), Endereco = _faker.Address.FullAddress(), Cep = _faker.Address.ZipCode("#####-###"), Latitude = _faker.Address.Latitude(), Longitude = _faker.Address.Longitude(), UsuarioProprietarioId = _memoryDb.Usuarios.Last().Id } }; var cmdResult = await _mediator.Send(comando); cmdResult.Should().NotBeNull(); var quadraInserida = _memoryDb.Quadras.Last(); quadraInserida.Nome.Should().Be(comando.Quadra.Nome); quadraInserida.Imagem.Should().Be(comando.Quadra.Imagem); quadraInserida.PrecoHora.Should().Be(comando.Quadra.PrecoHora); quadraInserida.Telefone.Should().Be(comando.Quadra.Telefone); quadraInserida.Endereco.Should().Be(comando.Quadra.Endereco); quadraInserida.Cep.Should().Be(comando.Quadra.Cep); quadraInserida.Latitude.Should().Be(comando.Quadra.Latitude); quadraInserida.Longitude.Should().Be(comando.Quadra.Longitude); quadraInserida.UsuarioProprietarioId.Should().Be(comando.Quadra.UsuarioProprietarioId); }
public async Task EmpresaCommandHandler_Handle_AdicionarQuadraCommand_NaoDeveAdicionarNovaQuadraNaEmpresaPoisEmpresaNaoFoiEncontrada() { //Arrange AdicionarQuadraCommand adicionarQuadraCommand = _applicationFixtures.EmpresaCommandHandler.CriarAdicionarQuadraCommandValido(); //Act await _empresaCommandHandler.Handle(adicionarQuadraCommand, ApplicationFixtures.CancellationToken); //Assert _applicationFixtures.Mocker.Verify <IMediatrHandler>(m => m.Notify(It.IsAny <DomainNotification>()), Times.Once); }
public async Task <QuadraModel> AdicionarQuadraAsync(CriarQuadraRequest request) { var adicionadrQuadraCommand = new AdicionarQuadraCommand { Quadra = _mapper .Map <QuadraModel>(request) }; var result = await _mediator .Send(adicionadrQuadraCommand); return(result); }
public async Task EmpresaCommandHandler_Handle_AdicionarQuadraCommand_DeverAdicionarNovaQuadraNaEmpresa() { //Arrange AdicionarQuadraCommand adicionarQuadraCommand = _applicationFixtures.EmpresaCommandHandler.CriarAdicionarQuadraCommandValido(); Empresa empresa = _domainFixtures.Empresa.CriarEmpresaValida(); _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.ObterEmpresaPorId(adicionarQuadraCommand.EmpresaId)).ReturnsAsync(empresa); _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.Commit()).ReturnsAsync(true); //Act await _empresaCommandHandler.Handle(adicionarQuadraCommand, ApplicationFixtures.CancellationToken); //Assert empresa.Quadras.Should().HaveCount(1); _applicationFixtures.Mocker.Verify <IEmpresaRepository>(r => r.AdicionarQuadra(It.IsAny <Quadra>()), Times.Once); _applicationFixtures.Mocker.Verify <IMediatrHandler>(m => m.Publish(It.IsAny <Event>()), Times.Once); }
public async Task <ValidationResult> Handle(AdicionarQuadraCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { return(message.ValidationResult); } Empresa empresa = await _empresaRepository.ObterEmpresaPorId(message.EmpresaId); if (empresa is null) { return(await NotifyAndReturn("Empresa não encontrada.")); } Quadra novaQuadra = new Quadra(message.TipoEsporteQuadra, message.TempoLocacao, message.ValorPorTempoLocado); empresa.AdicionarQuadra(novaQuadra); _empresaRepository.AdicionarQuadra(novaQuadra); return(await SaveAndPublish(new QuadraAdicionadaEmpresaEvent(novaQuadra.Id, message.UsuarioId, novaQuadra.EmpresaId, novaQuadra.Id, novaQuadra.TempoLocacao, novaQuadra.ValorPorTempoLocado, novaQuadra.TipoEsporteQuadra))); }