コード例 #1
0
    def test_init_custom_fields_source_card_present(self):
        instance = MagicMock()

        Transaction.init_custom_fields(
            instance,
            payment_type=Transaction.CARD_TYPE,
            source=SourceCardPresentFactory().to_dict(),
            amount=1234,
        )
        self.assertIsInstance(instance.source, Source)
コード例 #2
0
    def test_init_custom_fields_created_float_parse(self):
        instance = MagicMock(amount=None)

        self.assertIsNone(instance.amount)

        Transaction.init_custom_fields(instance,
                                       payment_type=Transaction.BOLETO_TYPE,
                                       id="foo",
                                       amount="12.34")

        self.assertEqual(instance.amount, 1234)
コード例 #3
0
    def test_init_custom_fields_invoice(self):
        instance = MagicMock()

        Transaction.init_custom_fields(instance,
                                       payment_type=Transaction.BOLETO_TYPE,
                                       amount=1234)
        self.assertIsInstance(instance.payment_method, Invoice)
        self.assertIsInstance(instance.point_of_sale, PointOfSale)
        self.assertIsInstance(instance.history, list)
        self.assertEqual(len(instance.history), 1)
        self.assertIsInstance(instance.history[0], History)
コード例 #4
0
    def test_init_custom_fields_source_card_not_present(self):
        instance = MagicMock()

        Transaction.init_custom_fields(
            instance,
            payment_type=Transaction.CARD_TYPE,
            source=SourceCardNotPresentFactory(amount=1234,
                                               usage="single_use").to_dict(),
            amount=1234,
            allow_empty=True,
        )
        self.assertIsInstance(instance.source, Source)
コード例 #5
0
    def test_init_custom_fields_user_given_float_amount(self):
        """
        Dado que um usuário criou a transação com amount 56.78
        Quando init_custom_fields rodar
        Então o amount após conversão deve ser 5678
        """
        instance = MagicMock()

        Transaction.init_custom_fields(instance,
                                       payment_type=Transaction.BOLETO_TYPE,
                                       amount=56.78)

        self.assertEqual(instance.amount, 5678)
コード例 #6
0
    def test_init_custom_fields_user_given_integer_amount(self):
        """
        Dado que um usuário criou a transação com amount 1234
        Quando init_custom_fields rodar
        Então o amount após conversão deve continuar sendo 1234
        """
        instance = MagicMock()

        Transaction.init_custom_fields(instance,
                                       payment_type=Transaction.BOLETO_TYPE,
                                       amount=1234)

        self.assertEqual(instance.amount, 1234)
コード例 #7
0
    def test_init_custom_fields_created_card(self):
        instance = MagicMock()

        Transaction.init_custom_fields(instance,
                                       payment_type=Transaction.CARD_TYPE,
                                       id="foo",
                                       amount="23.45")
        self.assertEqual(instance.amount, 2345)
        self.assertIsInstance(instance.payment_method, Card)
        self.assertIsInstance(instance.point_of_sale, PointOfSale)
        self.assertIsInstance(instance.history, list)
        self.assertEqual(len(instance.history), 1)
        self.assertIsInstance(instance.history[0], History)
コード例 #8
0
 def test_non_required_fields(self):
     self.assertIsSubSet(
         {
             "app_transaction_uid",
             "business",
             "captured",
             "confirmed",
             "discounts",
             "expected_on",
             "fee_details",
             "fees",
             "gateway_authorizer",
             "history",
             "individual",
             "installment_plan",
             "location_latitude",
             "location_longitude",
             "original_amount",
             "point_of_sale",
             "pre_authorization",
             "reference_id",
             "refunded",
             "refunds",
             "rewards",
             "sales_receipt",
             "statement_descriptor",
             "status",
             "transaction_number",
             "voided",
         },
         Transaction.get_non_required_fields(),
     )
コード例 #9
0
 def test_required_fields(self):
     self.assertEqual(
         {
             "currency", "customer", "description", "on_behalf_of",
             "payment_type"
         },
         Transaction.get_required_fields(),
     )
コード例 #10
0
    def test_get_boleto_required_fields(self):
        expected = {"payment_method", "amount"}

        with patch(
                "zoop_wrapper.models.transaction.Transaction.get_required_fields"
        ) as mocked_required:
            mocked_required.return_value = set()

            result = Transaction.get_boleto_required_fields()

            mocked_required.assert_called_once()

        self.assertEqual(result, expected)
コード例 #11
0
    def test_get_card_required_fields(self):
        expected = {"source", "capture"}

        with patch(
                "zoop_wrapper.models.transaction.Transaction.get_required_fields"
        ) as mocked_required:
            mocked_required.return_value = set()

            result = Transaction.get_card_required_fields()

            mocked_required.assert_called_once()

        self.assertEqual(result, expected)