Example #1
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_premise_to_statement(request)
        self.assertEqual(response.status_code, 400)
Example #2
0
    def test_add_valid_reason(self):
        # Add position
        request = create_request_with_token_header(
            json_body={'reason': "because i need to"},
            match_dict={
                'slug': self.issue_cat_or_dog.slug,
                'statement_id': 2,
                'attitude': Attitudes.DISAGREE.value
            })

        response: Response = apiviews.add_premise_to_statement(request)
        self.assertEqual(response.status_code, 303, response.body)
Example #3
0
 def test_add_valid_reason_with_origin(self):
     # Add position
     request = create_request_with_token_header(
         json_body={
             "reason": "this is sparta",
             "origin": {
                 "entity-id": 42,
                 "aggregate-id": "example.com",
                 "version": 10,
                 "author": {
                     "dgep-native": True,
                     "name": "anonymous",
                     "id": 1,
                 },
             }
         },
         match_dict={
             "slug": self.issue_cat_or_dog.slug,
             "statement_id": 2,
             "attitude": Attitudes.DISAGREE.value,
         })
     response: Response = apiviews.add_premise_to_statement(request)
     self.assertEqual(response.status_code, 303, response.body)
Example #4
0
    def test_valid_reference_should_be_assigned_to_new_statement(self):
        test_reference = 'awesome reference'
        request: IRequest = create_request_with_token_header(
            json_body={
                'reason': 'i am groot',
                'reference': test_reference
            },
            match_dict={
                'slug': self.issue_cat_or_dog.slug,
                'statement_id': 2,
                'attitude': Attitudes.DISAGREE.value
            })
        response: Response = apiviews.add_premise_to_statement(request)
        added_references: List[StatementReference] = DBDiscussionSession.query(StatementReference) \
            .filter_by(text=test_reference).all()

        self.assertGreater(len(added_references), 0)
        self.assertEqual(request.validated['reference'], test_reference)
        self.assertEqual(response.status_code, 303)

        DBDiscussionSession.query(StatementReference).filter_by(
            text=test_reference).delete()
        transaction.commit()