def test_same_position_and_reason_returns_error(self): request = create_request_with_token_header( json_body={ 'position': 'same-position-and-reason', 'reason': 'same-position-and-reason' }) response: Response = apiviews.add_position_with_premise(request) self.assertEqual(response.status_code, 400)
def test_without_authentication(self): request = construct_dummy_request( matchdict={'slug': self.issue_cat_or_dog.slug}) request.json_body = self.test_body response: Response = apiviews.add_position_with_premise(request) self.assertEqual(response.status_code, 401)
def test_invalid_body(self): request = create_request_with_token_header( match_dict={'slug': self.issue_cat_or_dog.slug}) request.json_body = { 'position': 'we should do something entirely else' } response: Response = apiviews.add_position_with_premise(request) self.assertEqual(response.status_code, 400)
def test_add_valid_position(self): request = create_request_with_token_header( json_body=self.test_body, match_dict={'slug': self.issue_cat_or_dog.slug}) response: Response = apiviews.add_position_with_premise(request) self.assertEqual(response.status_code, 303) # Check if position was added response: dict = apiviews.discussion_init( construct_dummy_request( matchdict={'slug': self.issue_cat_or_dog.slug})) positions = [position.texts[0] for position in response['positions']] self.assertIn(self.test_body['position'], positions)
def test_add_valid_position_with_valid_origin(self): request = create_request_with_token_header( json_body={ 'position': 'we should do something entirely else', 'reason': 'because i need to', 'origin': { 'entity-id': 23, 'aggregate-id': 'evil.com', 'version': 666, "author": { "dgep-native": True, "name": "anonymous", "id": 1, }, } }, match_dict={'slug': self.issue_cat_or_dog.slug}) response: Response = apiviews.add_position_with_premise(request) self.assertEqual(response.status_code, 303)