def test_features_save_checks_csrf_token(Feature, check_csrf_token): Feature.all.return_value = [] request = DummyRequest(post={}) admin.features_save(request) check_csrf_token.assert_called_with(request)
def test_features_save_ignores_unknown_fields(Feature): foo = DummyFeature(name='foo') Feature.all.return_value = [foo] request = DummyRequest(post={'foo[wibble]': 'on', 'foo[admins]': 'ignoreme'}) admin.features_save(request) assert foo.admins == False
def test_features_save_sets_attributes_when_checkboxes_off(Feature): foo = DummyFeature(name='foo') foo.everyone = True foo.staff = True Feature.all.return_value = [foo] request = DummyRequest(post={}) admin.features_save(request) assert foo.everyone == foo.staff == False
def test_features_save_sets_attributes_when_checkboxes_on(Feature): foo = DummyFeature(name='foo') bar = DummyFeature(name='bar') Feature.all.return_value = [foo, bar] request = DummyRequest(post={'foo[everyone]': 'on', 'foo[staff]': 'on', 'bar[admins]': 'on'}) admin.features_save(request) assert foo.everyone == foo.staff == bar.admins == True