diff rhodecode/tests/functional/test_home.py @ 3167:87258a137018 beta

fixed issue with displaying repos in groups view (without lightweight dashboard), added tests for this case
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 18 Jan 2013 01:01:22 +0100
parents 9937afa7f093
children 2fb94c52e20e
line wrap: on
line diff
--- a/rhodecode/tests/functional/test_home.py	Fri Jan 18 00:50:06 2013 +0100
+++ b/rhodecode/tests/functional/test_home.py	Fri Jan 18 01:01:22 2013 +0100
@@ -3,6 +3,9 @@
 from rhodecode.model.meta import Session
 from rhodecode.model.db import User, RhodeCodeSetting, Repository
 from rhodecode.lib.utils import set_rhodecode_config
+from rhodecode.tests.models.common import _make_repo, _make_group
+from rhodecode.model.repo import RepoModel
+from rhodecode.model.repos_group import ReposGroupModel
 
 
 class TestHomeController(TestController):
@@ -61,18 +64,46 @@
             Session().add(anon)
             Session().commit()
 
+    def _set_l_dash(self, set_to):
+        self.app.post(url('admin_setting', setting_id='visual'),
+                      params=dict(_method='put',
+                                  rhodecode_lightweight_dashboard=set_to,))
+
     def test_index_with_lightweight_dashboard(self):
         self.log_user()
-
-        def set_l_dash(set_to):
-            self.app.post(url('admin_setting', setting_id='visual'),
-                          params=dict(_method='put',
-                                      rhodecode_lightweight_dashboard=set_to,))
-
-        set_l_dash(True)
+        self._set_l_dash(True)
 
         try:
             response = self.app.get(url(controller='home', action='index'))
             response.mustcontain("""var data = {"totalRecords": %s""" % len(Repository.getAll()))
         finally:
-            set_l_dash(False)
+            self._set_l_dash(False)
+
+    def test_index_page_on_groups(self):
+        self.log_user()
+        _make_repo(name='gr1/repo_in_group', repos_group=_make_group('gr1'))
+        Session().commit()
+        response = self.app.get(url('repos_group_home', group_name='gr1'))
+
+        try:
+            response.mustcontain("""gr1/repo_in_group""")
+        finally:
+            RepoModel().delete('gr1/repo_in_group')
+            ReposGroupModel().delete(repos_group='gr1', force_delete=True)
+            Session().commit()
+
+    def test_index_page_on_groups_with_lightweight_dashboard(self):
+        self.log_user()
+        self._set_l_dash(True)
+        _make_repo(name='gr1/repo_in_group', repos_group=_make_group('gr1'))
+        Session().commit()
+        response = self.app.get(url('repos_group_home', group_name='gr1'))
+
+        try:
+            response.mustcontain("""gr1/repo_in_group""")
+        finally:
+            self._set_l_dash(False)
+            RepoModel().delete('gr1/repo_in_group')
+            ReposGroupModel().delete(repos_group='gr1', force_delete=True)
+            Session().commit()
+            
\ No newline at end of file