spec/client_spec.rb in arthropod-0.0.1 vs spec/client_spec.rb in arthropod-0.0.2

- old
+ new

@@ -40,28 +40,39 @@ expect(client).to( receive(:send_message) .with({ queue_url: sender_queue_url, message_body: JSON.dump({ return_queue_url: return_queue_url, body: body }) }) ) expect(client).to( + receive(:delete_queue) + .with({ queue_url: return_queue_url }) + ) + end + + it "works" do + expect(client).to( receive(:receive_message) .with({ queue_url: return_queue_url, max_number_of_messages: 1, wait_time_seconds: 1 }) .and_return(OpenStruct.new(messages: [ OpenStruct.new({ "body" => JSON.dump({ "state" => "open", "body" => "update" }), receipt_handle: "receipt_handle" }) ])) ) expect(client).to( receive(:receive_message) .with({ queue_url: return_queue_url, max_number_of_messages: 1, wait_time_seconds: 1 }) .and_return(OpenStruct.new(messages: [ OpenStruct.new({ "body" => JSON.dump({ "state" => "close", "body" => "payload" }), receipt_handle: "receipt_handle" }) ])) ) - expect(client).to( - receive(:delete_queue) - .with({ queue_url: return_queue_url }) - ) - end - - it "works" do response = Arthropod::Client.push(client: client, queue_name: "test", body: body) do |response| expect(response.body).to eq("update") end expect(response.body).to eq("payload") + end + + it "should raise on error" do + expect(client).to( + receive(:receive_message) + .with({ queue_url: return_queue_url, max_number_of_messages: 1, wait_time_seconds: 1 }) + .and_return(OpenStruct.new(messages: [ OpenStruct.new({ "body" => JSON.dump({ "state" => "error" }), receipt_handle: "receipt_handle" }) ])) + ) + expect do + Arthropod::Client.push(client: client, queue_name: "test", body: body) + end.to raise_error(Arthropod::Client::ServerError) end end end \ No newline at end of file