diff rhodecode/tests/functional/test_forks.py @ 1723:64e91067b996 beta

- refactoring to overcome poor usage of global pylons config - db transaction fixes - fixed tests - garden
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 26 Nov 2011 02:16:21 +0200
parents f9559677c953
children 8321b3d19b1f
line wrap: on
line diff
--- a/rhodecode/tests/functional/test_forks.py	Sat Nov 26 00:11:32 2011 +0200
+++ b/rhodecode/tests/functional/test_forks.py	Sat Nov 26 02:16:21 2011 +0200
@@ -20,10 +20,13 @@
         fork_name = HG_FORK
         description = 'fork of vcs test'
         repo_name = HG_REPO
-        response = self.app.post(url(controller='settings',
+        org_repo = Repository.get_by_repo_name(repo_name)
+        response = self.app.post(url(controller='forks',
                                      action='fork_create',
                                     repo_name=repo_name),
-                                    {'fork_name':fork_name,
+                                    {'repo_name':fork_name,
+                                     'repo_group':'',
+                                     'fork_parent_id':org_repo.repo_id,
                                      'repo_type':'hg',
                                      'description':description,
                                      'private':'False'})
@@ -39,3 +42,42 @@
         #remove this fork
         response = self.app.delete(url('repo', repo_name=fork_name))
 
+
+
+
+    def test_z_fork_create(self):
+        self.log_user()
+        fork_name = HG_FORK
+        description = 'fork of vcs test'
+        repo_name = HG_REPO
+        org_repo = Repository.get_by_repo_name(repo_name)
+        response = self.app.post(url(controller='forks', action='fork_create',
+                                    repo_name=repo_name),
+                                    {'repo_name':fork_name,
+                                     'repo_group':'',
+                                     'fork_parent_id':org_repo.repo_id,
+                                     'repo_type':'hg',
+                                     'description':description,
+                                     'private':'False'})
+
+        #test if we have a message that fork is ok
+        self.assertTrue('forked %s repository as %s' \
+                      % (repo_name, fork_name) in response.session['flash'][0])
+
+        #test if the fork was created in the database
+        fork_repo = self.Session().query(Repository)\
+            .filter(Repository.repo_name == fork_name).one()
+
+        self.assertEqual(fork_repo.repo_name, fork_name)
+        self.assertEqual(fork_repo.fork.repo_name, repo_name)
+
+
+        #test if fork is visible in the list ?
+        response = response.follow()
+
+
+        #check if fork is marked as fork
+        response = self.app.get(url(controller='summary', action='index',
+                                    repo_name=fork_name))
+
+        self.assertTrue('Fork of %s' % repo_name in response.body)