예제 #1
0
def enable_search_page_and_activity_pages_feature_flags(
        app,  # This fixture depends on the app fixture so that the app fixture
              # will be run before, not after, this fixture. This is necessary
              # because the app fixture cleans the database which would delete
              # the changes made by this fixture if it were run after this
              # fixture.
        db_session):
    for feature_name in ('search_page', 'activity_pages'):
        assert db_session.query(models.Feature).filter_by(name=feature_name).all() == []
        db_session.add(models.Feature(name=feature_name, everyone=True))
    db_session.commit()
예제 #2
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
예제 #3
0
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'}
    views.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
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