def test_features_save_ignores_unknown_fields(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    Feature.all.return_value = [foo]
    pyramid_request.POST = {"foo[wibble]": "on", "foo[admins]": "ignoreme"}

    features_save(pyramid_request)

    assert foo.admins is False
Beispiel #2
0
def test_features_save_ignores_unknown_fields(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    Feature.all.return_value = [foo]
    pyramid_request.POST = {"foo[wibble]": "on", "foo[admins]": "ignoreme"}

    features_save(pyramid_request)

    assert foo.admins is False
Beispiel #3
0
def test_features_save_ignores_unknown_fields(Feature, pyramid_request):
    foo = DummyFeature(name='foo')
    Feature.all.return_value = [foo]
    pyramid_request.POST = {'foo[wibble]': 'on',
                            'foo[admins]': 'ignoreme'}

    features_save(pyramid_request)

    assert foo.admins is False
def test_features_save_sets_attributes_when_checkboxes_off(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    foo.everyone = True
    foo.staff = True
    Feature.all.return_value = [foo]
    pyramid_request.POST = {}

    features_save(pyramid_request)

    assert foo.everyone is foo.staff is False
Beispiel #5
0
def test_features_save_sets_attributes_when_checkboxes_off(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    foo.everyone = True
    foo.staff = True
    Feature.all.return_value = [foo]
    pyramid_request.POST = {}

    features_save(pyramid_request)

    assert foo.everyone is foo.staff is False
Beispiel #6
0
def test_features_save_sets_attributes_when_checkboxes_on(Feature, pyramid_request):
    foo = DummyFeature(name='foo')
    bar = DummyFeature(name='bar')
    Feature.all.return_value = [foo, bar]
    pyramid_request.POST = {'foo[everyone]': 'on',
                            'foo[staff]': 'on',
                            'bar[admins]': 'on'}

    features_save(pyramid_request)

    assert foo.everyone is foo.staff is bar.admins is True
Beispiel #7
0
def test_features_save_sets_attributes_when_checkboxes_off(
        Feature, pyramid_request):
    feature = DummyFeature(name="foo")
    feature.everyone = True
    feature.staff = True
    Feature.all.return_value = [feature]
    pyramid_request.POST = {}

    features_save(pyramid_request)

    assert not feature.everyone
    assert not feature.staff
def test_features_save_sets_attributes_when_checkboxes_on(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    bar = DummyFeature(name="bar")
    Feature.all.return_value = [foo, bar]
    pyramid_request.POST = {
        "foo[everyone]": "on",
        "foo[staff]": "on",
        "bar[admins]": "on",
    }

    features_save(pyramid_request)

    assert foo.everyone is foo.staff is bar.admins is True
Beispiel #9
0
def test_features_save_sets_attributes_when_checkboxes_on(Feature, pyramid_request):
    foo = DummyFeature(name="foo")
    bar = DummyFeature(name="bar")
    Feature.all.return_value = [foo, bar]
    pyramid_request.POST = {
        "foo[everyone]": "on",
        "foo[staff]": "on",
        "bar[admins]": "on",
    }

    features_save(pyramid_request)

    assert foo.everyone is foo.staff is bar.admins is True
Beispiel #10
0
def test_features_save_sets_cohorts_when_checkboxes_on(pyramid_request):
    feat = models.Feature(name='feat')
    cohort = models.FeatureCohort(name='cohort')

    pyramid_request.db.add(feat)
    pyramid_request.db.add(cohort)
    pyramid_request.db.flush()

    pyramid_request.POST = {'feat[cohorts][cohort]': 'on'}
    features_save(pyramid_request)

    feat = pyramid_request.db.query(models.Feature).filter_by(name='feat').first()
    cohort = pyramid_request.db.query(models.FeatureCohort).filter_by(name='cohort').first()

    assert len(feat.cohorts) == 1
    assert cohort in feat.cohorts
Beispiel #11
0
def test_features_save_sets_cohorts_when_checkboxes_on(pyramid_request):
    feat = models.Feature(name="feat")
    cohort = models.FeatureCohort(name="cohort")

    pyramid_request.db.add(feat)
    pyramid_request.db.add(cohort)
    pyramid_request.db.flush()

    pyramid_request.POST = {"feat[cohorts][cohort]": "on"}
    features_save(pyramid_request)

    feat = pyramid_request.db.query(models.Feature).filter_by(name="feat").first()
    cohort = (
        pyramid_request.db.query(models.FeatureCohort).filter_by(name="cohort").first()
    )

    assert len(feat.cohorts) == 1
    assert cohort in feat.cohorts
def test_features_save_unsets_cohorts_when_checkboxes_off(pyramid_request):
    feat = models.Feature(name="feat")
    cohort = models.FeatureCohort(name="cohort")
    feat.cohorts.append(cohort)

    pyramid_request.db.add(feat)
    pyramid_request.db.add(cohort)
    pyramid_request.db.flush()

    pyramid_request.POST = {"feat[cohorts][cohort]": "off"}
    features_save(pyramid_request)

    feat = pyramid_request.db.query(models.Feature).filter_by(name="feat").first()
    cohort = (
        pyramid_request.db.query(models.FeatureCohort).filter_by(name="cohort").first()
    )

    assert len(feat.cohorts) == 0
    assert cohort not in feat.cohorts