[#5177] Added test for default source and target_branch values for merge requests

Signed-off-by: Cory Johns <cjohns@slashdotmedia.com>
diff --git a/ForgeGit/forgegit/tests/functional/test_controllers.py b/ForgeGit/forgegit/tests/functional/test_controllers.py
index d8c3f2c..597c5bb 100644
--- a/ForgeGit/forgegit/tests/functional/test_controllers.py
+++ b/ForgeGit/forgegit/tests/functional/test_controllers.py
@@ -33,6 +33,7 @@
 from alluratest.controller import TestController
 from allura.tests.decorators import with_tool
 from forgegit.tests import with_git
+from forgegit import model as GM
 
 class _TestCase(TestController):
 
@@ -517,6 +518,23 @@
                           params=dict(status='rejected')).follow()
         assert 'Merge Request #%s:  (rejected)' % mr_num in r, r
 
+    def test_merge_request_default_branches(self):
+        _select_val = lambda r, n: r.html.find('select', {'name': n}).find(selected=True).string
+        r = self.app.get('/p/test2/code/request_merge')
+        assert_equal(_select_val(r, 'source_branch'), 'master')
+        assert_equal(_select_val(r, 'target_branch'), 'master')
+        r = self.app.get('/p/test2/code/ci/zz/tree/').click('Request Merge')
+        assert_equal(_select_val(r, 'source_branch'), 'zz')
+        assert_equal(_select_val(r, 'target_branch'), 'master')
+        GM.Repository.query.get(_id=c.app.repo._id).default_branch_name = 'zz'
+        ThreadLocalORMSession.flush_all()
+        r = self.app.get('/p/test2/code/request_merge')
+        assert_equal(_select_val(r, 'source_branch'), 'master')
+        assert_equal(_select_val(r, 'target_branch'), 'zz')
+        r = self.app.get('/p/test2/code/ci/zz/tree/').click('Request Merge')
+        assert_equal(_select_val(r, 'source_branch'), 'zz')
+        assert_equal(_select_val(r, 'target_branch'), 'zz')
+
 class TestDiff(TestController):
 
     def setUp(self):