From c4a999dc9acafe88db7ac1dfe5c31a9ba2eaed21 Mon Sep 17 00:00:00 2001 From: Lucas Cardozo Date: Fri, 30 May 2025 13:59:13 -0300 Subject: [PATCH] Add document_pdf function to retrieve CCB document PDF and corresponding tests --- CHANGELOG.md | 2 ++ starkinfra/creditnote/__creditnote.py | 13 +++++++++++++ starkinfra/creditnote/__init__.py | 2 +- tests/sdk/testCreditNote.py | 7 +++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0c0a47..374c403 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ Given a version number MAJOR.MINOR.PATCH, increment: ## [Unreleased] +### Added +- Added `starkinfra.creditnote.document_pdf` function to retrieve CCB document PDF. ## [0.20.0] - 2025-05-13 ### Added diff --git a/starkinfra/creditnote/__creditnote.py b/starkinfra/creditnote/__creditnote.py index a81c999..53e9b6c 100644 --- a/starkinfra/creditnote/__creditnote.py +++ b/starkinfra/creditnote/__creditnote.py @@ -243,3 +243,16 @@ def pdf(noteId, user=None): - Transfer pdf file """ return rest.get_content(resource=_resource, id=noteId, user=user, sub_resource_name="payment/pdf") + + +def document_pdf(noteId, user=None): + """# Retrieve CCB document + Receive a CCB document pdf file. + ## Parameters (required): + - noteId [string]: object unique id. ex: "5656565656565656" + ## Parameters (optional): + - user [Organization/Project object, default None]: Organization or Project object. Not necessary if starkinfra.user was set before function call. + ## Return: + - CCB document pdf file + """ + return rest.get_content(resource=_resource, id=noteId, user=user, sub_resource_name="pdf") diff --git a/starkinfra/creditnote/__init__.py b/starkinfra/creditnote/__init__.py index c1b34f3..fabe419 100644 --- a/starkinfra/creditnote/__init__.py +++ b/starkinfra/creditnote/__init__.py @@ -6,4 +6,4 @@ from .invoice.__invoice import Invoice from .invoice.__discount import Discount from .invoice.__description import Description -from .__creditnote import create, get, query, page, cancel, pdf +from .__creditnote import create, get, query, page, cancel, pdf, document_pdf diff --git a/tests/sdk/testCreditNote.py b/tests/sdk/testCreditNote.py index 692f985..b9e6d3f 100644 --- a/tests/sdk/testCreditNote.py +++ b/tests/sdk/testCreditNote.py @@ -39,6 +39,13 @@ def test_success(self): self.assertGreater(len(pdf), 1000) +class TestCreditNoteSignPdf(TestCase): + + def test_success(self): + pdf = starkinfra.creditnote.document_pdf(os.environ["SANDBOX_SIGNED_CREDIT_NOTE_ID"]) + self.assertGreater(len(pdf), 1000) + + class TestCreditNoteQuery(TestCase): def test_success_after_before(self):