public UsuarioQueryResult Handle(UsuarioQuery query) { ICollectionRead <Usuario> qryDataUser = new UsuarioData(); IEntityRead <Userinfo> qryDataUserInfo = new UserinfoData(); UsuarioQueryHandler qryHandler = new UsuarioQueryHandler(qryDataUser, qryDataUserInfo); return(qryHandler.Handle(query)); }
public async Task ObterPorId_DeveRetornarNullQuandoNaoForEncontradoNoBanco() { var query = new ObterUsuarioPorIdQuery(Guid.NewGuid()); var queryHandler = new UsuarioQueryHandler(_usuarioRepository); var usuarioBanco = await queryHandler.Handle(query, CancellationToken.None); usuarioBanco.Should().BeNull(); }
public async Task ObterPorId_DeveInvalidarQueryQuandoIdForVazio() { var query = new ObterUsuarioPorIdQuery(Guid.Empty); var queryHandler = new UsuarioQueryHandler(_usuarioRepository); 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_DeveRetornarUsuarioQuandoForEncontradoNoBanco() { var usuario = UsuarioFactory.GerarUsuario(); await _context.Usuarios.AddAsync(usuario); await _context.SaveChangesAsync(); var query = new ObterUsuarioPorIdQuery(usuario.Id); var queryHandler = new UsuarioQueryHandler(_usuarioRepository); var usuarioBanco = await queryHandler.Handle(query, CancellationToken.None); usuarioBanco.Should().BeEquivalentTo(usuario); }