示例#1
0
    def test_init_custom_fields_card_present_type(self):
        """
        Dado:
            - Um cartão qualquer válido c1
            - Um installment_plan qualquer válido ip1
            - usage="single_use"
            - amount=1234
        Quando:
            - for chamado Source.init_custom_fields( ...)
        Então:
            - Nenhum erro deve ocorrer
            - instance.card deve ser uma instância de Token
        """
        c1 = CreateCardTokenFactory()
        ip1 = InstallmentPlanFactory()

        instance = MagicMock()

        Source.init_custom_fields(
            instance,
            card=c1,
            usage="single_use",
            amount=1234,
            installment_plan=ip1,
        )

        self.assertIsInstance(instance.card, Token)
示例#2
0
    def test_init_custom_fields_card_present_type_installment_plan_raise(self):
        """
        Dado:
            - Um installment_plan inválido installment_plan_invalid
        Quando:
            - for chamado Source.init_custom_fields( ..., installment_plan=installment_plan_invalid) # noqa
        Então:
            - O erro ValidationError deve ser lançado

        Note:
            - O number_installments só pode ser de 1 até 12
            - O mode só pode ser ou with_interest ou interest_free
        """

        installment_plan_invalid = MagicMock(mode="foo-bar",
                                             number_installments=11234)

        instance = MagicMock()

        with self.assertRaises(ValidationError):
            Source.init_custom_fields(
                instance,
                card=CreateCardTokenFactory(),
                usage="single_use",
                amount=1234,
                installment_plan=installment_plan_invalid,
            )
示例#3
0
    def test_init_custom_fields_card_present_type(self):
        instance = MagicMock()

        Source.init_custom_fields(instance,
                                  card=CreateCardTokenFactory(),
                                  usage="single_use",
                                  amount=1234)

        self.assertIsInstance(instance.card, Token)
示例#4
0
    def test_non_required_fields(self):

        self.assertEqual(
            {"installment_plan"},
            Source.get_non_required_fields(),
        )
示例#5
0
    def test_required_fields(self):

        self.assertEqual(
            {"card", "type", "usage", "currency", "amount"},
            Source.get_required_fields(),
        )