@@ -14,6 +14,9 @@ def setUp(self):
1414 super (TestPullRequest , self ).setUp ()
1515 self .pull = github3 .pulls .PullRequest (self .pull .to_json (), self .g )
1616
17+ def test_dest (self ):
18+ expect (repr (self .pull .base ).startswith ('<Base' )).is_True ()
19+
1720 def test_repr (self ):
1821 expect (repr (self .pull ).startswith ('<Pull Request' ))
1922
@@ -30,7 +33,7 @@ def test_close(self):
3033 self .pull .title , self .pull .body , 'closed' )
3134
3235 def test_diff (self ):
33- self .response ('archive' , 200 )
36+ self .response ('archive' )
3437 self .get (self .api )
3538 self .conf = {
3639 'headers' : {
@@ -40,3 +43,92 @@ def test_diff(self):
4043
4144 expect (self .pull .diff ()) != ''
4245 self .mock_assertions ()
46+
47+ def test_is_merged (self ):
48+ self .response ('' , 204 )
49+ self .get (self .api + '/merge' )
50+
51+ expect (self .pull .is_merged ()).is_True ()
52+ self .mock_assertions ()
53+
54+ self .response ('' , 404 )
55+ expect (self .pull .is_merged ()).is_False ()
56+ self .mock_assertions ()
57+
58+ def test_iter_comments (self ):
59+ self .response ('review_comment' , _iter = True )
60+ self .get (self .api + '/comments' )
61+
62+ c = next (self .pull .iter_comments ())
63+ expect (c ).isinstance (
64+ github3 .pulls .ReviewComment )
65+ self .mock_assertions ()
66+
67+ expect (repr (c ).startswith ('<Review Comment' )).is_True ()
68+
69+ def test_iter_comits (self ):
70+ self .response ('commit' , _iter = True )
71+ self .get (self .api + '/commits' )
72+
73+ expect (next (self .pull .iter_commits ())).isinstance (github3 .git .Commit )
74+ self .mock_assertions ()
75+
76+ def test_iter_files (self ):
77+ self .response ('pull_file' , _iter = True )
78+ self .get (self .api + '/files' )
79+
80+ f = next (self .pull .iter_files ())
81+ expect (f ).isinstance (github3 .pulls .PullFile )
82+ self .mock_assertions ()
83+
84+ expect (repr (f ).startswith ('<Pull Request File' )).is_True ()
85+
86+ def test_merge (self ):
87+ self .response ('merge' , 200 )
88+ self .put (self .api + '/merge' )
89+ self .conf = {'data' : None }
90+
91+ with expect .githuberror ():
92+ self .pull .merge ()
93+
94+ self .not_called ()
95+ self .login ()
96+ expect (self .pull .merge ()).is_True ()
97+ self .mock_assertions ()
98+
99+ self .conf ['data' ] = {'commit_message' : 'Merged' }
100+ expect (self .pull .merge ('Merged' )).is_True ()
101+ self .mock_assertions ()
102+
103+ def test_patch (self ):
104+ self .response ('archive' , 200 )
105+ self .get (self .api )
106+ self .conf = {'headers' : {'Accept' : 'application/vnd.github.patch' }}
107+
108+ expect (self .pull .patch ()) != ''
109+ self .mock_assertions ()
110+
111+ def test_reopen (self ):
112+ with expect .githuberror ():
113+ self .pull .reopen ()
114+
115+ self .login ()
116+ with patch .object (github3 .pulls .PullRequest , 'update' ) as up :
117+ self .pull .reopen ()
118+ up .assert_called_once_with (
119+ self .pull .title , self .pull .body , 'open' )
120+
121+ def test_update (self ):
122+ self .response ('pull' , 200 )
123+ self .patch (self .api )
124+ self .conf = {'data' : {'title' : 't' , 'body' : 'b' , 'state' : 'open' }}
125+
126+ with expect .githuberror ():
127+ self .pull .update ()
128+
129+ self .login ()
130+ expect (self .pull .update ()).is_False ()
131+ self .not_called ()
132+
133+ expect (self .pull .update ('t' , 'b' , 'open' )).is_True ()
134+ self .mock_assertions ()
0 commit comments