public async Task Should_not_get_user_Repository_error_Should_return_repository_error_message()
        {
            logger.Setup(x => x.Log(
                             It.IsAny <LogLevel>(),
                             It.IsAny <EventId>(),
                             It.IsAny <It.IsAnyType>(),
                             It.IsAny <Exception>(),
                             (Func <It.IsAnyType, Exception, string>)It.IsAny <object>())).Throws(new System.Exception(""));

            // Arrange
            const string USERDOCUMENT = "32893956858";

            usuarioQueryService = new UserQueryRepository(new InMemoryMongoDbContext(true), logger.Object);

            // Act
            GetUserByDocumentResponse user = await usuarioQueryService.GetUserByDocumentAsync(USERDOCUMENT);

            // Assert
            logger.Verify(x => x.Log(
                              It.IsAny <LogLevel>(),
                              It.IsAny <EventId>(),
                              It.IsAny <It.IsAnyType>(),
                              It.IsAny <Exception>(),
                              (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()));

            Assert.NotEmpty(user.Errors);
        }
        public async Task Should_not_get_user_With_valid_document_User_not_found_in_database()
        {
            // Arrange
            const string USERDOCUMENT = "45166568095";

            usuarioQueryService = new UserQueryRepository(new InMemoryMongoDbContext(true), logger.Object);

            // Act
            GetUserByDocumentResponse user = await usuarioQueryService.GetUserByDocumentAsync(USERDOCUMENT);

            // Assert
            Assert.Null(user);
        }
        public async Task Should_get_user_With_valid_document_Must_return_user()
        {
            // Arrange
            const string USERDOCUMENT = "32893956858";

            usuarioQueryService = new UserQueryRepository(new InMemoryMongoDbContext(true), logger.Object);

            // Act
            GetUserByDocumentResponse user = await usuarioQueryService.GetUserByDocumentAsync(USERDOCUMENT);

            // Assert
            Assert.Equal(USERDOCUMENT, user.Document);
        }