示例#1
0
 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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
 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)