示例#1
0
        public void Authorize_NoUserProfile()
        {
            // Arrange.
            var providerViewModel = new ProviderViewModelBuilder().With(new List <ProviderSiteViewModel>
            {
                new ProviderSiteViewModel()
            }).Build();

            MockProviderProvider.Setup(p => p.GetProviderViewModel(It.IsAny <string>(), true)).Returns(providerViewModel);
            MockProviderUserProvider.Setup(p => p.GetProviderUsers(It.IsAny <string>()))
            .Returns(new List <ProviderUserViewModel> {
                new ProviderUserViewModel()
            });

            var mediator  = GetMediator();
            var principal =
                new ClaimsPrincipalBuilder().WithName("User001").WithUkprn("00001").WithRole(Roles.Faa).Build();

            // Act.
            var response = mediator.Authorize(principal);

            // Assert.
            response.AssertMessage(ProviderUserMediatorCodes.Authorize.NoUserProfile, AuthorizeMessages.NoUserProfile,
                                   UserMessageLevel.Info);
        }
        public void InvalidCodeTest(string code)
        {
            // Arrange.
            MockProviderUserProvider.Setup(x => x.ValidateEmailVerificationCode(UserName, code)).Returns(false);
            var mediator         = GetMediator();
            var verifyEmailModel = new VerifyEmailViewModel {
                VerificationCode = code
            };

            // Act.
            var response = mediator.VerifyEmailAddress(UserName, verifyEmailModel);

            // Assert.
            response.Should().NotBeNull();
            response.ValidationResult.Should().BeNull();
            response.Code.Should().Be(ProviderUserMediatorCodes.VerifyEmailAddress.InvalidCode);
        }
        public void OnBoardingCompleteAndNotMigratedTest()
        {
            // Arrange.
            var mockUser            = new Fixture().Build <ProviderUser>().Create();
            var providerSetToUseFAA = new Fixture().Build <ProviderViewModel>().With(u => u.IsMigrated, false).Create();

            MockProviderUserProvider.Setup(x => x.GetProviderUser(It.IsAny <string>())).Returns(mockUser);
            MockProviderUserProvider.Setup(x => x.ValidateEmailVerificationCode(It.IsAny <string>(), It.IsAny <string>())).Returns(true);
            MockProviderProvider.Setup(x => x.GetProviderViewModel(It.IsAny <int>())).Returns(providerSetToUseFAA);
            var mediator         = GetMediator();
            var verifyEmailModel = new VerifyEmailViewModel {
                VerificationCode = "ABC123"
            };

            // Act.
            var response = mediator.VerifyEmailAddress(UserName, verifyEmailModel);

            // Assert.
            response.Code.Should().Be(ProviderUserMediatorCodes.VerifyEmailAddress.OkNotYetMigrated);
        }
        public void ValidCodeTest(string code)
        {
            // Arrange.
            var providerSetToUseFAA = new Fixture().Build <ProviderViewModel>().With(u => u.IsMigrated, true).Create();
            var mockUser            = new Fixture().Build <ProviderUser>().Create();

            MockProviderUserProvider.Setup(x => x.ValidateEmailVerificationCode(UserName, code)).Returns(true);
            MockProviderUserProvider.Setup(x => x.GetProviderUser(UserName)).Returns(mockUser);
            MockProviderProvider.Setup(x => x.GetProviderViewModel(It.IsAny <int>())).Returns(providerSetToUseFAA);
            var mediator         = GetMediator();
            var verifyEmailModel = new VerifyEmailViewModel {
                VerificationCode = code
            };

            // Act.
            var response = mediator.VerifyEmailAddress(UserName, verifyEmailModel);

            // Assert.
            response.Should().NotBeNull();
            response.ValidationResult.Should().BeNull();
            response.Code.Should().Be(ProviderUserMediatorCodes.VerifyEmailAddress.Ok);
        }
示例#5
0
        public void Authorize_Ok_ShouldSetProviderId()
        {
            // Arrange.
            var providerViewModel = new ProviderViewModelBuilder()
                                    .With(42)
                                    .With(new List <ProviderSiteViewModel>
            {
                new ProviderSiteViewModel()
            }).Build();

            MockProviderProvider
            .Setup(mock => mock.GetProviderViewModel(It.IsAny <string>(), true))
            .Returns(providerViewModel);

            MockProviderUserProvider
            .Setup(mock => mock.GetUserProfileViewModel(It.IsAny <string>()))
            .Returns(new ProviderUserViewModel
            {
                EmailAddressVerified = true
            });

            var mediator = GetMediator();

            var principal = new ClaimsPrincipalBuilder()
                            .WithName("User001")
                            .WithUkprn("00001")
                            .WithRole(Roles.Faa)
                            .Build();

            // Act.
            var response = mediator.Authorize(principal);

            // Assert.
            response.AssertCodeAndMessage(ProviderUserMediatorCodes.Authorize.Ok);
            response.ViewModel.ProviderId.Should().Be(providerViewModel.ProviderId);
        }