Mercurial > bitten > bitten-test
changeset 455:dc2c565600a9
Fix for deactivating all configurations on admin page. Closes #175.
author | cmlenz |
---|---|
date | Mon, 03 Sep 2007 11:14:33 +0000 |
parents | ed81c13a5cac |
children | dcde61c928af |
files | bitten/admin.py bitten/tests/admin.py |
diffstat | 2 files changed, 30 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/admin.py +++ b/bitten/admin.py @@ -190,11 +190,9 @@ def _activate_configs(self, req): req.perm.assert_permission('BUILD_MODIFY') - active = req.args.get('active') - if not active: - return + active = req.args.get('active') or [] + active = isinstance(active, list) and active or [active] - active = isinstance(active, list) and active or [active] db = self.env.get_db_cnx() for config in list(BuildConfig.select(self.env, db=db, include_inactive=True)):
--- a/bitten/tests/admin.py +++ b/bitten/tests/admin.py @@ -245,6 +245,34 @@ config = BuildConfig.fetch(self.env, name='foo') self.assertEqual(True, config.active) + def test_process_deactivate_config(self): + BuildConfig(self.env, name='foo', path='branches/foo', + active=True).insert() + BuildConfig(self.env, name='bar', path='branches/bar', + active=True).insert() + + redirected_to = [] + def redirect(url): + redirected_to.append(url) + raise RequestDone + req = Mock(method='POST', perm=PermissionCache(self.env, 'joe'), + abs_href=Href('http://example.org/'), redirect=redirect, + authname='joe', + args={'apply': ''}) + + provider = BuildConfigurationsAdminPageProvider(self.env) + try: + provider.process_admin_request(req, 'bitten', 'configs', '') + self.fail('Expected RequestDone') + + except RequestDone: + self.assertEqual('http://example.org/admin/bitten/configs', + redirected_to[0]) + config = BuildConfig.fetch(self.env, name='foo') + self.assertEqual(False, config.active) + config = BuildConfig.fetch(self.env, name='bar') + self.assertEqual(False, config.active) + def test_process_add_config(self): BuildConfig(self.env, name='foo', label='Foo', path='branches/foo', active=True).insert()