changeset 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 abd49f6f5805
children 2fb94c52e20e
files rhodecode/controllers/admin/repos_groups.py rhodecode/tests/functional/test_home.py
diffstat 2 files changed, 44 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos_groups.py	Fri Jan 18 00:50:06 2013 +0100
+++ b/rhodecode/controllers/admin/repos_groups.py	Fri Jan 18 01:01:22 2013 +0100
@@ -295,7 +295,7 @@
         c.groups = self.scm_model.get_repos_groups(groups)
 
         if c.visual.lightweight_dashboard is False:
-            c.repo_list = self.scm_model.get_repos(all_repos=gr_filter)
+            c.repos_list = self.scm_model.get_repos(all_repos=gr_filter)
         ## lightweight version of dashboard
         else:
             c.repos_list = Repository.query()\
@@ -303,10 +303,10 @@
                             .order_by(func.lower(Repository.repo_name))\
                             .all()
 
-        repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
-                                                   admin=False)
-        #json used to render the grid
-        c.data = json.dumps(repos_data)
+            repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
+                                                       admin=False)
+            #json used to render the grid
+            c.data = json.dumps(repos_data)
 
         return render('admin/repos_groups/repos_groups.html')
 
--- 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