public void GivenUserIsProvider_AndUserHasProviderAssociationsDifferentThanOffering_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(Data.ServiceOfferings[0]);
            EducationSecurityPrincipal   user   = CreateProviderUser(Data.Providers.Where(p => p != Data.ServiceOfferings[0].Provider).ToList());

            target.ExpectException <EntityAccessUnauthorizedException>(() => target.GrantAccess(user));
        }
        public void GivenUserIsProvider_AndUserHasNoProviderAssociations_WhenGrantAccess_ThenThrowException()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal   user   = CreateProviderUser(new List <Provider>());

            target.ExpectException <EntityAccessUnauthorizedException>(() => target.GrantAccess(user));
        }
        public void GivenUserIsProvider_AndUserHasAllProviderAssociations_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(Data.ServiceOfferings[0]);
            EducationSecurityPrincipal   user   = CreateProviderUser(Data.Providers);

            target.GrantAccess(user);
        }
        public void GivenUserIsDataAdmin_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal   user   = CreateDataAdminUser();

            target.GrantAccess(user);
        }
        public void GivenUserIsSiteCoordinator_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal   user   = CreateSiteCoordinatorUser(new List <School>());

            target.GrantAccess(user);
        }
        public void GivenUserIsSiteCoordinator_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal user = CreateSiteCoordinatorUser(new List<School>());

            target.GrantAccess(user);
        }
        public void GivenUserIsProvider_AndUserHasProviderAssociationsDifferentThanOffering_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(Data.ServiceOfferings[0]);
            EducationSecurityPrincipal user = CreateProviderUser(Data.Providers.Where(p => p != Data.ServiceOfferings[0].Provider).ToList());

            target.ExpectException<EntityAccessUnauthorizedException>(() => target.GrantAccess(user));
        }
        public void GivenUserIsProvider_AndUserHasNoProviderAssociations_WhenGrantAccess_ThenThrowException()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal user = CreateProviderUser(new List<Provider>());

            target.ExpectException<EntityAccessUnauthorizedException>(() => target.GrantAccess(user));
        }
        public void GivenUserIsProvider_AndUserHasAllProviderAssociations_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(Data.ServiceOfferings[0]);
            EducationSecurityPrincipal user = CreateProviderUser(Data.Providers);

            target.GrantAccess(user);
        }
        public void GivenUserIsDataAdmin_WhenGrantAccess_ThenSucceed()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());
            EducationSecurityPrincipal user = CreateDataAdminUser();

            target.GrantAccess(user);
        }
        public void GivenNullUser_WhenGrantAccess_ThenThrowException()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());

            target.ExpectException <ArgumentNullException>(() => target.GrantAccess(null));
        }
        public void GivenNullUser_WhenGrantAccess_ThenThrowException()
        {
            ImportOfferingDataPermission target = new ImportOfferingDataPermission(new ServiceOffering());

            target.ExpectException<ArgumentNullException>(() => target.GrantAccess(null));
        }