示例#1
0
    def test_enabled_true_when_cohort_user_in_cohort(
        self, cohort, db_session, factories
    ):
        svc = FeatureService(db_session)
        user = factories.User(cohorts=[cohort])

        assert svc.enabled("on-for-cohort", user=user) is True
示例#2
0
    def test_all_returns_feature_dictionary(self, db_session):
        svc = FeatureService(db_session)

        result = svc.all()

        assert result == {
            "foo": False,
            "bar": False,
            "on-for-everyone": True,
            "on-for-staff": False,
            "on-for-admins": False,
            "on-for-cohort": False,
        }
示例#3
0
    def test_all_returns_feature_dictionary(self, db_session):
        svc = FeatureService(db_session)

        result = svc.all()

        assert result == {
            'foo': False,
            'bar': False,
            'on-for-everyone': True,
            'on-for-staff': False,
            'on-for-admins': False,
            'on-for-cohort': False,
        }
示例#4
0
    def test_all_respects_user_param(self, db_session, factories):
        svc = FeatureService(db_session)
        user = factories.User(staff=True)

        result = svc.all(user=user)

        assert result == {
            "foo": False,
            "bar": False,
            "on-for-everyone": True,
            "on-for-staff": True,
            "on-for-admins": False,
            "on-for-cohort": False,
        }
示例#5
0
    def test_all_respects_user_param(self, db_session, factories):
        svc = FeatureService(db_session)
        user = factories.User(staff=True)

        result = svc.all(user=user)

        assert result == {
            'foo': False,
            'bar': False,
            'on-for-everyone': True,
            'on-for-staff': True,
            'on-for-admins': False,
            'on-for-cohort': False,
        }
示例#6
0
    def test_enabled_false_when_staff_true_nonstaff_user(self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(staff=False)

        assert svc.enabled('on-for-staff', user=user) is False
示例#7
0
    def test_enabled_true_when_staff_true_staff_user(self, db_session, factories):
        svc = FeatureService(db_session)
        user = factories.User(staff=True)

        assert svc.enabled('on-for-staff', user=user) is True
示例#8
0
    def test_enabled_false_when_admins_true_no_user(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled("on-for-admins") is False
示例#9
0
    def test_enabled_false_when_admins_true_no_user(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled("on-for-admins") is False
示例#10
0
    def test_enabled_raises_for_unknown_features(self, db_session):
        svc = FeatureService(session=db_session)

        with pytest.raises(UnknownFeatureError):
            svc.enabled("wibble")
示例#11
0
    def test_enabled_false_if_everyone_false(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled("foo") is False
示例#12
0
    def test_enabled_false_when_staff_true_no_user(self, db_session):
        svc = FeatureService(session=db_session)

        assert not svc.enabled("on-for-staff")
示例#13
0
    def test_enabled_false_when_cohort_no_user(self, db_session):
        svc = FeatureService(db_session)

        assert svc.enabled("on-for-cohort") is False
示例#14
0
    def test_enabled_true_when_staff_true_staff_user(self, db_session,
                                                     factories):
        svc = FeatureService(db_session)
        user = factories.User(staff=True)

        assert svc.enabled("on-for-staff", user=user) is True
示例#15
0
    def test_enabled_raises_for_unknown_features(self, db_session):
        svc = FeatureService(session=db_session)

        with pytest.raises(UnknownFeatureError):
            svc.enabled('wibble')
示例#16
0
    def test_enabled_false_when_cohort_user_not_in_cohort(self, db_session, factories):
        svc = FeatureService(db_session)
        user = factories.User()

        assert svc.enabled('on-for-cohort', user=user) is False
示例#17
0
    def test_enabled_false_when_cohort_no_user(self, db_session):
        svc = FeatureService(db_session)

        assert svc.enabled('on-for-cohort') is False
示例#18
0
    def test_enabled_false_when_admins_true_nonadmin_user(self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(admin=False)

        assert svc.enabled("on-for-admins", user=user) is False
示例#19
0
    def test_enabled_true_when_cohort_user_in_cohort(self, cohort, db_session,
                                                     factories):
        svc = FeatureService(db_session)
        user = factories.User(cohorts=[cohort])

        assert svc.enabled("on-for-cohort", user=user) is True
示例#20
0
    def test_enabled_true_if_overridden(self, db_session):
        svc = FeatureService(session=db_session, overrides=['foo'])

        assert svc.enabled('foo') is True
示例#21
0
    def test_enabled_false_when_staff_true_nonstaff_user(
            self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(staff=False)

        assert not svc.enabled("on-for-staff", user=user)
示例#22
0
    def test_enabled_false_if_everyone_false(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled('foo') is False
示例#23
0
    def test_enabled_false_when_cohort_user_not_in_cohort(self, db_session, factories):
        svc = FeatureService(db_session)
        user = factories.User()

        assert svc.enabled("on-for-cohort", user=user) is False
示例#24
0
    def test_enabled_true_if_everyone_true(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled('on-for-everyone') is True
示例#25
0
    def test_enabled_true_if_overridden(self, db_session):
        svc = FeatureService(session=db_session, overrides=["foo"])

        assert svc.enabled("foo") is True
示例#26
0
    def test_enabled_true_when_admins_true_admin_user(self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(admin=True)

        assert svc.enabled('on-for-admins', user=user) is True
示例#27
0
    def test_enabled_true_if_everyone_true(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled("on-for-everyone") is True
示例#28
0
    def test_enabled_false_when_staff_true_no_user(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled('on-for-staff') is False
示例#29
0
    def test_enabled_true_when_admins_true_admin_user(self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(admin=True)

        assert svc.enabled("on-for-admins", user=user) is True
示例#30
0
    def test_enabled_false_when_admins_true_nonadmin_user(self, db_session, factories):
        svc = FeatureService(session=db_session)
        user = factories.User(admin=False)

        assert svc.enabled('on-for-admins', user=user) is False