diff --git a/lib/panda_doc/document_section.rb b/lib/panda_doc/document_section.rb index 1c2fbff..ab4fd89 100644 --- a/lib/panda_doc/document_section.rb +++ b/lib/panda_doc/document_section.rb @@ -25,6 +25,13 @@ def delete(document_uuid, section_uuid) ) end + def upload_status(document_uuid, upload_uuid) + respond( + ApiClient.request(:get, "/documents/#{document_uuid}/sections/uploads/#{upload_uuid}"), + type: :document_section + ) + end + private def respond(response, type: :document) diff --git a/spec/document_section_spec.rb b/spec/document_section_spec.rb index 3c9926d..3cec069 100644 --- a/spec/document_section_spec.rb +++ b/spec/document_section_spec.rb @@ -128,4 +128,28 @@ end end end + + describe ".upload_status" do + let(:upload_uuid) { "UPLOAD_UUID" } + subject { described_class.upload_status(document_uuid, upload_uuid) } + + before do + allow(PandaDoc::ApiClient).to receive(:request) + .with(:get, "/documents/#{document_uuid}/sections/uploads/#{upload_uuid}") + .and_return(response) + end + + context "with failed response" do + let(:response) { failed_response } + + it_behaves_like "a document section failure result" + end + + context "with successful response" do + let(:response) { successful_response } + let(:body) { document_body } + + it_behaves_like "a document section object interface" + end + end end