Switch to side-by-side view

--- a/Allura/allura/tests/functional/test_admin.py
+++ b/Allura/allura/tests/functional/test_admin.py
@@ -234,6 +234,43 @@
         assert r.html.find('input',{'name':'removal','value':''}).has_key('checked')
         assert not r.html.find('input',{'name':'removal','value':'deleted'}).has_key('checked')
 
+    def test_project_delete_not_allowed(self):
+        # turn off project delete option
+        from allura.ext.admin.admin_main import config
+        config['allow_project_delete'] = False
+        # create a subproject
+        self.app.post('/admin/update_mounts', params={
+                'new.install':'install',
+                'new.ep_name':'',
+                'new.ordinal':1,
+                'new.mount_point':'sub1',
+                'new.mount_label':'sub1'})
+        # root project doesn't have delete option
+        r = self.app.get('/p/test/admin/overview')
+        assert not r.html.find('input',{'name':'removal','value':'deleted'})
+        # subprojects can still be deleted
+        r = self.app.get('/p/test/sub1/admin/overview')
+        assert r.html.find('input',{'name':'removal','value':'deleted'})
+        # attempt to delete root project won't do anything
+        self.app.post('/admin/update', params=dict(
+                name='Test Project',
+                shortname='test',
+                removal='deleted',
+                short_description='A Test Project',
+                delete='on'))
+        r = self.app.get('/p/test/admin/overview')
+        assert 'This project has been deleted and is not visible to non-admin users' not in r
+        # make sure subproject delete works
+        self.app.post('/p/test/sub1/admin/update', params=dict(
+                name='sub1',
+                shortname='sub1',
+                removal='deleted',
+                short_description='A Test Project',
+                delete='on'))
+        r = self.app.get('/p/test/sub1/admin/overview')
+        assert 'This project has been deleted and is not visible to non-admin users' in r
+        assert r.html.find('input',{'name':'removal','value':'deleted'}).has_key('checked')
+
     def test_add_remove_trove_cat(self):
         r = self.app.get('/admin/trove')
         assert 'No Database Environment categories have been selected.' in r