public async Task <Result <UserRegistrationStatusModel> > Handle(IsUserRegisteredQuery request, CancellationToken cancellationToken)
    {
        var isUserRegistered =
            await _surveyContext.Users.AsNoTracking()
            .AnyAsync(user => user.ExternalUserId == request.UserId, cancellationToken);

        return(new UserRegistrationStatusModel
        {
            IsUserRegistered = isUserRegistered
        });
    }
        public async Task GivenNewUserId_WhenCallingHandle_ThenReturnedResultShouldBeFalse()
        {
            const string userId = "unregistered-id";

            var query = new IsUserRegisteredQuery(userId);

            var handler = new IsUserRegisteredQueryHandler(_surveyContext);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Value.Should().BeFalse();
        }
        public async Task GivenExistingUserId_WhenCallingHandle_ThenExpectedResultTypeShouldBeReturned()
        {
            const string userId = "test-id";

            var query = new IsUserRegisteredQuery(userId);

            var handler = new IsUserRegisteredQueryHandler(_surveyContext);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Should().BeOfType <Result <bool> >();
        }
Exemplo n.º 4
0
        public async Task Handle_Returns_False_For_Nonexistent_User()
        {
            const string userId = "unregistered-id";

            var query = new IsUserRegisteredQuery(userId);

            var handler = new IsUserRegisteredQueryHandler(_surveyContext);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Value.ShouldBe(false);
        }
Exemplo n.º 5
0
        public async Task Handle_Returns_True_For_Existing_User()
        {
            const string userId = "test-id";

            var query = new IsUserRegisteredQuery(userId);

            var handler = new IsUserRegisteredQueryHandler(_surveyContext);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Value.ShouldBe(true);
        }
Exemplo n.º 6
0
        public async Task Handle_Returns_Correct_Type()
        {
            const string userId = "test-id";

            var query = new IsUserRegisteredQuery(userId);

            var handler = new IsUserRegisteredQueryHandler(_surveyContext);

            var result = await handler.Handle(query, CancellationToken.None);

            result.ShouldBeOfType <Result <bool> >();
        }