| |
@@ -1443,34 +1443,76 @@
|
| |
issue = pagure.lib.search_issues(self.session, repo, issueid=1)
|
| |
self.assertEqual(len(issue.comments), 0)
|
| |
|
| |
+ # No change
|
| |
+ repo = pagure.lib.get_project(self.session, 'test')
|
| |
+ issue = pagure.lib.search_issues(self.session, repo, issueid=1)
|
| |
+ self.assertEqual(issue.status, 'Open')
|
| |
+
|
| |
data = {
|
| |
- 'title': 'test issue',
|
| |
+ 'assignee': 'pingou',
|
| |
}
|
| |
|
| |
- # Incomplete request
|
| |
+ # Valid request
|
| |
output = self.app.post(
|
| |
'/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
- self.assertEqual(output.status_code, 400)
|
| |
+ self.assertEqual(output.status_code, 200)
|
| |
data = json.loads(output.data)
|
| |
self.assertDictEqual(
|
| |
data,
|
| |
- {
|
| |
- "error": "Invalid or incomplete input submited",
|
| |
- "error_code": "EINVALIDREQ",
|
| |
- "errors": {"assignee": ["This field is required."]}
|
| |
- }
|
| |
+ {'message': 'Issue assigned'}
|
| |
)
|
| |
|
| |
- # No change
|
| |
+ # Un-assign
|
| |
+ output = self.app.post(
|
| |
+ '/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
+ self.assertEqual(output.status_code, 200)
|
| |
+ data = json.loads(output.data)
|
| |
+ self.assertDictEqual(
|
| |
+ data,
|
| |
+ {'message': 'Assignee reset'}
|
| |
+ )
|
| |
repo = pagure.lib.get_project(self.session, 'test')
|
| |
issue = pagure.lib.search_issues(self.session, repo, issueid=1)
|
| |
- self.assertEqual(issue.status, 'Open')
|
| |
+ self.assertEqual(issue.assignee, None)
|
| |
|
| |
- data = {
|
| |
- 'assignee': 'pingou',
|
| |
- }
|
| |
+ # Un-assign
|
| |
+ data = {'assignee': None}
|
| |
+ output = self.app.post(
|
| |
+ '/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
+ self.assertEqual(output.status_code, 200)
|
| |
+ data = json.loads(output.data)
|
| |
+ self.assertDictEqual(
|
| |
+ data,
|
| |
+ {'message': 'Nothing to change'}
|
| |
+ )
|
| |
+ repo = pagure.lib.get_project(self.session, 'test')
|
| |
+ issue = pagure.lib.search_issues(self.session, repo, issueid=1)
|
| |
+ self.assertEqual(issue.assignee, None)
|
| |
|
| |
- # Valid request
|
| |
+ # Re-assign for the rest of the tests
|
| |
+ data = {'assignee': 'pingou'}
|
| |
+ output = self.app.post(
|
| |
+ '/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
+ self.assertEqual(output.status_code, 200)
|
| |
+ data = json.loads(output.data)
|
| |
+ self.assertDictEqual(
|
| |
+ data,
|
| |
+ {'message': 'Issue assigned'}
|
| |
+ )
|
| |
+
|
| |
+ # Un-assign
|
| |
+ data = {'assignee': ''}
|
| |
+ output = self.app.post(
|
| |
+ '/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
+ self.assertEqual(output.status_code, 200)
|
| |
+ data = json.loads(output.data)
|
| |
+ self.assertDictEqual(
|
| |
+ data,
|
| |
+ {'message': 'Assignee reset'}
|
| |
+ )
|
| |
+
|
| |
+ # Re-assign for the rest of the tests
|
| |
+ data = {'assignee': 'pingou'}
|
| |
output = self.app.post(
|
| |
'/api/0/test/issue/1/assign', data=data, headers=headers)
|
| |
self.assertEqual(output.status_code, 200)
|
| |
Signed-off-by: Paul W. Frields stickster@gmail.com
Unit test coming shortly.