public async Task Then_the_claims_list_is_empty_if_there_are_no_matching_claims()
        {
            // arrange
            var userRef      = _fixture.Create <Guid>();
            var accountUsers = _fixture.Create <List <AccountUsers> >();

            var expected = new List <Claim>();

            accountUsers.ForEach(a =>
            {
                a.userRef       = userRef;
                a.removed       = null;
                a.role          = UserRole.Viewer;
                var hashedValue = $"HASH{a.accountId}";

                _mockHashingService.Setup(m => m.HashValue(a.accountId)).Returns(hashedValue);
            });

            var documentQuery = new FakeDocumentQuery <AccountUsers>(accountUsers);

            _mockAccountUsersReadOnlyRepository.Setup(m =>
                                                      m.CreateQuery(It.IsAny <FeedOptions>()))
            .Returns(documentQuery);

            // act
            var result = await _sut.GetClaims(userRef);

            // assert
            result.Count().Should().Be(0);
            result.Should().BeEquivalentTo(expected);
        }
コード例 #2
0
        public HasPermissionQueryHandlerTestsFixture()
        {
            Query                 = new HasPermissionQuery(11111111, 1, Operation.CreateCohort);
            CancellationToken     = CancellationToken.None;
            PermissionsRepository = new Mock <IAccountProviderLegalEntitiesReadOnlyRepository>();
            Permissions           = new List <AccountProviderLegalEntityDto>();
            DocumentQuery         = new FakeDocumentQuery <AccountProviderLegalEntityDto>(Permissions);

            PermissionsRepository.Setup(r => r.CreateQuery(null)).Returns(DocumentQuery);

            Handler = new HasPermissionQueryHandler(PermissionsRepository.Object);
        }
        public async Task Then_The_AccountModels_Are_Returned()
        {
            // arrange
            var userRef      = _fixture.Create <Guid>();
            var accountUsers = _fixture.Create <List <AccountUsers> >();

            int count    = 1;
            var expected = new List <UserModel>();

            accountUsers.ForEach(a =>
            {
                a.userRef       = userRef;
                a.removed       = null;
                a.role          = (UserRole)count;
                var hashedValue = $"HASH{a.accountId}";

                _mockHashingService.Setup(m => m.HashValue(a.accountId)).Returns(hashedValue);
                if (a.role == UserRole.Owner || a.role == UserRole.Transactor)
                {
                    expected.Add(new UserModel {
                        UserRef = userRef, AccountId = hashedValue
                    });
                }
                count++;
            });

            var documentQuery = new FakeDocumentQuery <AccountUsers>(accountUsers);

            GetUserRequest request = new GetUserRequest
            {
                UserRef = userRef,
                Roles   = new List <UserRole>()
                {
                    UserRole.Owner, UserRole.Transactor
                }
            };

            _mockAccountUsersReadOnlyRepository.Setup(m =>
                                                      m.CreateQuery(It.IsAny <FeedOptions>()))
            .Returns(documentQuery);

            // act
            var result = await _sut.Get(request);

            // assert
            result.Count().Should().Be(2);
            result.Should().BeEquivalentTo(expected);
        }
        public async Task Then_the_claims_list_only_contains_owner_and_transactor_claims()
        {
            // arrange
            var userRef      = _fixture.Create <Guid>();
            var accountUsers = _fixture.Create <List <AccountUsers> >();

            int count    = 1;
            var expected = new List <Claim>();

            accountUsers.ForEach(a =>
            {
                a.userRef       = userRef;
                a.removed       = null;
                a.role          = (UserRole)count;
                var hashedValue = $"HASH{a.accountId}";

                if (a.role == UserRole.Owner || a.role == UserRole.Transactor)
                {
                    expected.Add(new Claim(EmployerClaimTypes.Account, hashedValue));
                }
                _mockHashingService.Setup(m => m.HashValue(a.accountId)).Returns(hashedValue);
                count++;
            });

            var documentQuery = new FakeDocumentQuery <AccountUsers>(accountUsers);

            _mockAccountUsersReadOnlyRepository.Setup(m =>
                                                      m.CreateQuery(It.IsAny <FeedOptions>()))
            .Returns(documentQuery);

            // act
            var result = await _sut.GetClaims(userRef);

            // assert
            result.Count().Should().Be(2);
            result.Should().BeEquivalentTo(expected);
        }
コード例 #5
0
        public static void SetupInMemoryCollection <TRepository, TDocument>(this Mock <TRepository> documentRepository, IEnumerable <TDocument> documents) where TRepository : class, IDocumentRepository <TDocument> where TDocument : class
        {
            var documentQuery = new FakeDocumentQuery <TDocument>(documents);

            documentRepository.Setup(r => r.CreateQuery(null)).Returns(documentQuery);
        }