public async Task ObterPorId_DeveRetornarNullQuandoNaoForEncontradoNoBanco() { var query = new ObterAmbientePorIdQuery(Guid.NewGuid()); var queryHandler = new AmbienteQueryHandler(_ambienteRepository); var ambienteBanco = await queryHandler.Handle(query, CancellationToken.None); ambienteBanco.Should().BeNull(); }
public async Task ObterPorId_DeveInvalidarQueryQuandoIdForVazio() { var query = new ObterAmbientePorIdQuery(Guid.Empty); var queryHandler = new AmbienteQueryHandler(_ambienteRepository); await queryHandler.Handle(query, CancellationToken.None); (await query.EhValido()).Should().Be(false); query.ValidationResult.Errors .Should() .Contain(error => error.ErrorMessage == "Id deve possuir conteúdo"); }
public async Task ObterPorId_DeveRetornarAmbienteQuandoForEncontradoNoBanco() { var ambiente = AmbienteFactory.GerarAmbiente(); await _context.Ambientes.AddAsync(ambiente); await _context.SaveChangesAsync(); var query = new ObterAmbientePorIdQuery(ambiente.Id); var queryHandler = new AmbienteQueryHandler(_ambienteRepository); var ambienteBanco = await queryHandler.Handle(query, CancellationToken.None); ambienteBanco.Should().BeEquivalentTo(ambiente); }
public async Task HandlerObterTodos_DeveRetornarTodosOsAmbientesSalvosNoBanco() { var ambiente1 = AmbienteFactory.GerarAmbiente(); var ambiente2 = AmbienteFactory.GerarAmbiente(); await _context.Ambientes.AddRangeAsync(ambiente1, ambiente2); await _context.SaveChangesAsync(); var query = new ObterTodosOsAmbientesQuery(1, 20); var queryHandler = new AmbienteQueryHandler(_ambienteRepository); var ambientes = await queryHandler.Handle(query, CancellationToken.None); ambientes.Should().HaveCount(2); }