コード例 #1
0
 def test_fail_invalid_array_size(self):
     payments = generateExampleBrcodePaymentsJson(n=50)
     payments2 = generateExampleBrcodePaymentsJson(n=55)
     payments = payments + payments2
     with self.assertRaises(InputErrors) as context:
         payments = starkbank.brcodepayment.create(payments)
     errors = context.exception.errors
     for error in errors:
         print(error)
         self.assertEqual('invalidJson', error.code)
     self.assertEqual(1, len(errors))
コード例 #2
0
    def test_success(self):
        brcodePayment = generateExampleBrcodePaymentsJson(n=1)[0]
        boletoPayment = generateExampleBoletoPaymentsJson(n=1)[0]
        utilityPayment = generateExampleUtilityPaymentsJson(n=1)[0]
        taxPayment = generateExampleTaxPaymentsJson(n=1)[0]

        types = [
            "brcode-payment", "boleto-payment", "utility-payment",
            "tax-payment"
        ]
        previews = [
            starkbank.PaymentPreview(id=brcodePayment.brcode),
            starkbank.PaymentPreview(
                id=boletoPayment.bar_code or boletoPayment.line),
            starkbank.PaymentPreview(
                id=utilityPayment.bar_code or utilityPayment.line),
            starkbank.PaymentPreview(
                id=taxPayment.bar_code or taxPayment.line),
        ]

        previewedTypes = []
        for preview in starkbank.paymentpreview.create(previews=previews):
            print(preview)
            previewedTypes.append(preview.type)
        self.assertEqual(types, previewedTypes)

        for preview in previews:
            preview.scheduled = date.today() + timedelta(days=100)

        previewedTypes = []
        for preview in starkbank.paymentpreview.create(previews=previews):
            print(preview)
            previewedTypes.append(preview.type)
        self.assertEqual(types, previewedTypes)
コード例 #3
0
 def test_success(self):
     payments = generateExampleBrcodePaymentsJson(n=5)
     try:
         payments = starkbank.brcodepayment.create(payments)
     except InputErrors as e:
         for error in e.errors:
             print(error)
             self.assertEqual('immediatePaymentOutOfTime', error.code)
コード例 #4
0
 def test_fail_invalid_tax_id(self):
     payments = generateExampleBrcodePaymentsJson(n=5)
     payments[0].tax_id = "000.000.000-00"
     payments[1].tax_id = "00.000.000/0000-00"
     payments[2].tax_id = "abc"
     payments[3].tax_id = 123
     payments[4].tax_id = {}
     with self.assertRaises(InputErrors) as context:
         payments = starkbank.brcodepayment.create(payments)
     errors = context.exception.errors
     for error in errors:
         print(error)
         self.assertTrue(
             error.code in ["invalidTaxId", "immediatePaymentOutOfTime"])
     self.assertTrue(len(errors) == 5 or len(errors) == 10)
コード例 #5
0
 def test_fail_invalid_json_payment(self):
     payments = generateExampleBrcodePaymentsJson(n=4)
     payments[0].line = None
     payments[1].scheduled = None
     payments[2].description = None
     payments[3].tax_id = None
     with self.assertRaises(InputErrors) as context:
         payments = starkbank.brcodepayment.create(payments)
     errors = context.exception.errors
     for error in errors:
         print(error)
         self.assertTrue(error.code in [
             "invalidJson", "invalidBrcode", "invalidPayment",
             "invalidBrcodePayment"
         ])
     self.assertTrue(len(errors) >= 2)
コード例 #6
0
    def test_success(self):
        brcodePayment = generateExampleBrcodePaymentsJson(n=1)[0]
        boletoPayment = generateExampleBoletoPaymentsJson(n=1)[0]
        taxPayment = generateExampleTaxPaymentsJson(n=1)[0]
        utilityPayment = generateExampleUtilityPaymentsJson(n=1)[0]

        previews = [
            starkbank.PaymentPreview(id=brcodePayment.brcode, scheduled=date.today() + timedelta(days=2)),
            starkbank.PaymentPreview(id=boletoPayment.bar_code or boletoPayment.line, scheduled=date.today() + timedelta(days=2)),
            starkbank.PaymentPreview(id=taxPayment.bar_code or taxPayment.line, scheduled=date.today() + timedelta(days=2)),
            starkbank.PaymentPreview(id=utilityPayment.bar_code or utilityPayment.line, scheduled=date.today() + timedelta(days=2)),
        ]

        for preview in starkbank.paymentpreview.create(previews=previews):
            print(preview)
            paymentClass = {
                "brcode-payment": BrcodePreview,
                "boleto-payment": BoletoPreview,
                "utility-payment": UtilityPreview,
                "tax-payment": TaxPreview,
            }[preview.type]
            self.assertIsInstance(preview.payment, paymentClass)
コード例 #7
0
 def test_success(self):
     payments = generateExampleBrcodePaymentsJson(n=5, next_day=True)
     payments = starkbank.brcodepayment.create(payments)
     for payment in payments:
         print(payment)