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))
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)
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)
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)
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)
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)
def test_success(self): payments = generateExampleBrcodePaymentsJson(n=5, next_day=True) payments = starkbank.brcodepayment.create(payments) for payment in payments: print(payment)