Ejemplo n.º 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
Ejemplo n.º 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,
        }
Ejemplo n.º 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,
        }
Ejemplo n.º 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,
        }
Ejemplo n.º 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,
        }
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 10
0
    def test_enabled_raises_for_unknown_features(self, db_session):
        svc = FeatureService(session=db_session)

        with pytest.raises(UnknownFeatureError):
            svc.enabled("wibble")
Ejemplo n.º 11
0
    def test_enabled_false_if_everyone_false(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled("foo") is False
Ejemplo n.º 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")
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 15
0
    def test_enabled_raises_for_unknown_features(self, db_session):
        svc = FeatureService(session=db_session)

        with pytest.raises(UnknownFeatureError):
            svc.enabled('wibble')
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 20
0
    def test_enabled_true_if_overridden(self, db_session):
        svc = FeatureService(session=db_session, overrides=['foo'])

        assert svc.enabled('foo') is True
Ejemplo n.º 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)
Ejemplo n.º 22
0
    def test_enabled_false_if_everyone_false(self, db_session):
        svc = FeatureService(session=db_session)

        assert svc.enabled('foo') is False
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 25
0
    def test_enabled_true_if_overridden(self, db_session):
        svc = FeatureService(session=db_session, overrides=["foo"])

        assert svc.enabled("foo") is True
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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