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_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
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
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
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_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