diff --git a/rhodecode/tests/functional/test_summary.py b/rhodecode/tests/functional/test_summary.py
--- a/rhodecode/tests/functional/test_summary.py
+++ b/rhodecode/tests/functional/test_summary.py
@@ -1,3 +1,17 @@
+# -*- coding: utf-8 -*-
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
from rhodecode.tests import *
from rhodecode.tests.fixture import Fixture
from rhodecode.model.db import Repository
@@ -19,33 +33,11 @@ class TestSummaryController(TestControll
#repo type
response.mustcontain(
- """
"""
- )
- response.mustcontain(
- """
"""
+ """"""
)
# clone url...
@@ -61,14 +53,11 @@ class TestSummaryController(TestControll
#repo type
response.mustcontain(
- """
"""
+ """"""
+ """"""
)
# clone url...
@@ -83,12 +72,13 @@ class TestSummaryController(TestControll
repo_name='_%s' % ID))
#repo type
- response.mustcontain("""
""")
- response.mustcontain("""
""")
+ response.mustcontain(
+ """"""
+ )
def test_index_by_repo_having_id_path_in_name_hg(self):
self.log_user()
@@ -111,15 +101,76 @@ class TestSummaryController(TestControll
repo_name='_%s' % ID))
#repo type
- response.mustcontain("""
""")
- response.mustcontain("""
""")
+ response.mustcontain(
+ """"""
+ )
- def _enable_stats(self):
- r = Repository.get_by_repo_name(HG_REPO)
+ def _enable_stats(self, repo):
+ r = Repository.get_by_repo_name(repo)
r.enable_statistics = True
Session().add(r)
Session().commit()
+
+ def test_index_trending(self):
+ self.log_user()
+ #codes stats
+ self._enable_stats(HG_REPO)
+
+ ScmModel().mark_for_invalidation(HG_REPO)
+ response = self.app.get(url(controller='summary', action='index',
+ repo_name=HG_REPO))
+ response.mustcontain(
+ '[["py", {"count": 68, "desc": ["Python"]}], '
+ '["rst", {"count": 16, "desc": ["Rst"]}], '
+ '["css", {"count": 2, "desc": ["Css"]}], '
+ '["sh", {"count": 2, "desc": ["Bash"]}], '
+ '["yml", {"count": 1, "desc": ["Yaml"]}], '
+ '["makefile", {"count": 1, "desc": ["Makefile", "Makefile"]}], '
+ '["js", {"count": 1, "desc": ["Javascript"]}], '
+ '["cfg", {"count": 1, "desc": ["Ini"]}], '
+ '["ini", {"count": 1, "desc": ["Ini"]}], '
+ '["html", {"count": 1, "desc": ["EvoqueHtml", "Html"]}]];'
+ )
+
+ def test_index_statistics(self):
+ self.log_user()
+ #codes stats
+ self._enable_stats(HG_REPO)
+
+ ScmModel().mark_for_invalidation(HG_REPO)
+ response = self.app.get(url(controller='summary', action='statistics',
+ repo_name=HG_REPO))
+
+ def test_index_trending_git(self):
+ self.log_user()
+ #codes stats
+ self._enable_stats(GIT_REPO)
+
+ ScmModel().mark_for_invalidation(GIT_REPO)
+ response = self.app.get(url(controller='summary', action='index',
+ repo_name=GIT_REPO))
+ response.mustcontain(
+ '[["py", {"count": 68, "desc": ["Python"]}], '
+ '["rst", {"count": 16, "desc": ["Rst"]}], '
+ '["css", {"count": 2, "desc": ["Css"]}], '
+ '["sh", {"count": 2, "desc": ["Bash"]}], '
+ '["makefile", {"count": 1, "desc": ["Makefile", "Makefile"]}], '
+ '["js", {"count": 1, "desc": ["Javascript"]}], '
+ '["cfg", {"count": 1, "desc": ["Ini"]}], '
+ '["ini", {"count": 1, "desc": ["Ini"]}], '
+ '["html", {"count": 1, "desc": ["EvoqueHtml", "Html"]}], '
+ '["bat", {"count": 1, "desc": ["Batch"]}]];'
+ )
+
+ def test_index_statistics_git(self):
+ self.log_user()
+ #codes stats
+ self._enable_stats(GIT_REPO)
+
+ ScmModel().mark_for_invalidation(GIT_REPO)
+ response = self.app.get(url(controller='summary', action='statistics',
+ repo_name=GIT_REPO))