diff --git a/lib/resend/broadcasts.rb b/lib/resend/broadcasts.rb index 8f09b96..4459356 100644 --- a/lib/resend/broadcasts.rb +++ b/lib/resend/broadcasts.rb @@ -41,6 +41,11 @@ def list(params = {}) Resend::Request.new(path, {}, "get").perform end + def cancel(broadcast_id = "") + path = "broadcasts/#{broadcast_id}/cancel" + Resend::Request.new(path, {}, "post").perform + end + # https://resend.com/docs/api-reference/broadcasts/delete-broadcast def remove(broadcast_id = "") path = "broadcasts/#{broadcast_id}" diff --git a/spec/broadcasts_spec.rb b/spec/broadcasts_spec.rb index 21d06c0..c98f151 100644 --- a/spec/broadcasts_spec.rb +++ b/spec/broadcasts_spec.rb @@ -147,6 +147,20 @@ end end + describe "cancel" do + it "should cancel broadcast" do + resp = { + "object": "broadcast", + "id": "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" + } + allow(resp).to receive(:body).and_return(resp) + allow(HTTParty).to receive(:send).and_return(resp) + + broadcast = Resend::Broadcasts.cancel(resp[:id]) + expect(broadcast[:id]).to eql "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" + end + end + describe "remove" do it "should remove broadcast" do allow_any_instance_of(Resend::Request).to receive(:perform).and_return("")