public void Arrange()
        {
            var expectedPermission = new ProviderPermission
            {
                AccountId            = 1,
                AccountLegalEntityId = 2,
                ProviderId           = 3,
                CanCreateCohort      = true
            };

            _dbContextTransaction = new Mock <IDbContextTransaction>();
            _dbContext            = new Mock <DbContext>();
            _dataContext          = new Mock <IReservationsDataContext>();
            _dataFacade           = new Mock <DatabaseFacade>(_dbContext.Object);
            _dataFacade.Setup(x => x.BeginTransaction()).Returns(_dbContextTransaction.Object);
            _dataContext.Setup(x => x.ProviderPermissions).ReturnsDbSet(new List <ProviderPermission>
            {
                expectedPermission
            });

            _dataContext.Setup(x => x.ProviderPermissions.AddAsync(It.IsAny <ProviderPermission>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((EntityEntry <ProviderPermission>)null);

            _dataContext.Setup(x => x.ProviderPermissions.FindAsync(expectedPermission.AccountId, expectedPermission.AccountLegalEntityId, expectedPermission.ProviderId))
            .ReturnsAsync(expectedPermission);

            _dataContext.Setup(x => x.Database)
            .Returns(_dataFacade.Object);

            _providerPermissionRepository = new Data.Repository.ProviderPermissionRepository(_dataContext.Object);
        }
        public void Arrange()
        {
            _expectedPermissions = new List <ProviderPermission>
            {
                new ProviderPermission {
                    AccountId = 1, AccountLegalEntityId = 1, ProviderId = 1, CanCreateCohort = true
                },
                new ProviderPermission {
                    AccountId = 1, AccountLegalEntityId = 2, ProviderId = 1, CanCreateCohort = true
                },
                new ProviderPermission {
                    AccountId = 1, AccountLegalEntityId = 3, ProviderId = 1, CanCreateCohort = false
                }
            };

            _dbContextTransaction = new Mock <IDbContextTransaction>();
            _dbContext            = new Mock <DbContext>();
            _dataContext          = new Mock <IReservationsDataContext>();
            _dataFacade           = new Mock <DatabaseFacade>(_dbContext.Object);
            _dataFacade.Setup(x => x.BeginTransaction()).Returns(_dbContextTransaction.Object);

            _dataContext.Setup(x => x.ProviderPermissions).ReturnsDbSet(_expectedPermissions);
            _dataContext.Setup(x => x.Database).Returns(_dataFacade.Object);

            _permissionsRepository = new Data.Repository.ProviderPermissionRepository(_dataContext.Object);
        }
Example #3
0
        public void Then_Filters_By_AccountLegalEntity(
            long accountLegalEntityId,
            List <ProviderPermission> permissions,
            [Frozen] Mock <IReservationsDataContext> mockContext,
            Data.Repository.ProviderPermissionRepository repository)
        {
            permissions.ForEach(permission => permission.CanCreateCohort = true);
            permissions[0].AccountLegalEntityId = accountLegalEntityId;
            mockContext
            .Setup(context => context.ProviderPermissions)
            .ReturnsDbSet(permissions);

            var result = repository.GetAllForAccountLegalEntity(accountLegalEntityId);

            result.Count().Should().Be(1);
            result.First().Should().BeEquivalentTo(permissions[0]);
        }