Example #1
0
        public async Task Handle_Success()
        {
            // Arrange
            var request = new GetUserProfile(DiverFactory.JohnDoeDiverId, outputPort);

            // Act
            var interactorResult = await interactor.Handle(request, CancellationToken.None);

            // Assert
            interactorResult.IsSuccessful.Should().BeTrue();
            A.CallTo(() => outputPort.Output(A <GetUserProfileOutput> .That.Matches(o => o.AllowEdit == false)))
            .MustHaveHappenedOnceExactly();
        }
Example #2
0
        public async Task Handle_DiverNotFound_MustReturnNotFound()
        {
            // Arrange
            var request = new GetUserProfile(DiverFactory.JaneDoeDiverId, outputPort);

            // Act
            var interactorResult = await interactor.Handle(request, CancellationToken.None);

            // Assert
            interactorResult.IsSuccessful.Should().BeFalse();
            interactorResult.ResultCategory.Should().Be(ResultCategory.NotFound);
            A.CallTo(() => outputPort.Output(A <GetUserProfileOutput> ._))
            .MustNotHaveHappened();
        }
Example #3
0
        public UserProfile Get(GetUserProfile request)
        {
            var session = base.SessionAs <CustomUserSession>();

            var userAuthId  = session.UserAuthId.ToInt();
            var userProfile = new UserProfile
            {
                Id              = userAuthId,
                Session         = session,
                UserAuth        = Db.SingleById <UserAuth>(userAuthId),
                UserAuthDetails = Db.Select <UserAuthDetails>(x => x.UserAuthId == userAuthId),
            };

            return(userProfile);
        }
Example #4
0
        public UserProfile Get(GetUserProfile request)
        {
            var session = base.SessionAs<CustomUserSession>();

            var userAuthId = session.UserAuthId.ToInt();
            var userProfile = new UserProfile
            {
                Id = userAuthId,
                Session = session,
                UserAuth = Db.SingleById<UserAuth>(userAuthId),
                UserAuthDetails = Db.Select<UserAuthDetails>(x => x.UserAuthId == userAuthId),
            };

            return userProfile;
        }
Example #5
0
        public async Task Handle_OwnUser_MustBeAllowedToEdit()
        {
            // Arrange
            var request = new GetUserProfile(DiverFactory.JohnDoeDiverId, outputPort);

            A.CallTo(() => currentUser.GetCurrentDiverAsync())
            .ReturnsLazily(() => Task.FromResult(DiverFactory.CreateJohnDoe()));

            // Act
            var interactorResult = await interactor.Handle(request, CancellationToken.None);

            // Assert
            interactorResult.IsSuccessful.Should().BeTrue();
            A.CallTo(() => outputPort.Output(A <GetUserProfileOutput> .That.Matches(o => o.AllowEdit == true)))
            .MustHaveHappenedOnceExactly();
        }
Example #6
0
        public async Task Handle_CurrentUserDiverNotFound_MustReturnFail()
        {
            // Arrange
            var request = new GetUserProfile(DiverFactory.JohnDoeDiverId, outputPort);

            A.CallTo(() => currentUser.GetCurrentDiverAsync())
            .ReturnsLazily(() => Task.FromResult <Diver>(null));

            // Act
            var interactorResult = await interactor.Handle(request, CancellationToken.None);

            // Assert
            interactorResult.IsSuccessful.Should().BeFalse();
            interactorResult.ResultCategory.Should().Be(ResultCategory.GeneralFailure);
            A.CallTo(() => outputPort.Output(A <GetUserProfileOutput> ._))
            .MustNotHaveHappened();
        }
Example #7
0
        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            var serviceFacebook = new GetUserProfile();
            var userData        = await serviceFacebook.Execute(context.Activity.From.Id);

            if (userData != null)
            {
                await context.PostAsync("Id: " + userData.Id);

                await context.PostAsync("Name: " + userData.Name);

                await context.PostAsync("First_Name: " + userData.First_name);

                await context.PostAsync("Last_Name: " + userData.Last_name);

                await context.PostAsync("Profile_Pic: " + userData.Profile_pic);

                await context.PostAsync("Locale: " + userData.Locale);

                await context.PostAsync("Timezone: " + userData.Timezone);

                await context.PostAsync("Gender: " + userData.Gender);
            }
        }