test/test_response.rb in textmagic-0.3.3 vs test/test_response.rb in textmagic-0.4.0

- old
+ new

@@ -1,288 +1,288 @@ -require 'test_helper' +require "test_helper" class ResponseTest < Test::Unit::TestCase - context 'Response to account command' do + context "Response to account command" do setup do @balance = 0.1 * rand(1e4) - @hash = { 'balance' => @balance.to_s } + @hash = { "balance" => @balance.to_s } @response = TextMagic::API::Response.account(@hash) end - should 'be an OpenStruct instance' do + should "be an OpenStruct instance" do @response.class.should == OpenStruct end - should 'have balance' do + should "have balance" do @response.balance.should be_close(@balance, 1e-10) end end - context 'Response to send command with single phone number' do + context "Response to send command with single phone number" do setup do @message_id, @phone = random_string, random_phone @text = random_string @parts_count = 1 + rand(3) - @hash = { 'message_id' => { @message_id => @phone }, 'sent_text' => @text, 'parts_count' => @parts_count } + @hash = { "message_id" => { @message_id => @phone }, "sent_text" => @text, "parts_count" => @parts_count } @response = TextMagic::API::Response.send(@hash, true) end - should 'equal to the message_id' do + should "equal to the message_id" do @response.should == @message_id end - should 'have sent_text' do + should "have sent_text" do @response.sent_text.should == @text end - should 'have parts_count' do + should "have parts_count" do @response.parts_count.should == @parts_count end end - context 'Response to send command with multiple phone numbers' do + context "Response to send command with multiple phone numbers" do setup do @message_id1, @phone1 = random_string, random_phone @message_id2, @phone2 = random_string, random_phone @text = random_string @parts_count = 1 + rand(3) - @hash = { 'message_id' => { @message_id1 => @phone1, @message_id2 => @phone2 }, 'sent_text' => @text, 'parts_count' => @parts_count } + @hash = { "message_id" => { @message_id1 => @phone1, @message_id2 => @phone2 }, "sent_text" => @text, "parts_count" => @parts_count } @response = TextMagic::API::Response.send(@hash, false) end - should 'be a hash' do + should "be a hash" do @response.class.should == Hash end - should 'have phone numbers as keys' do + should "have phone numbers as keys" do @response.keys.sort.should == [@phone1, @phone2].sort end - should 'have message ids as values' do + should "have message ids as values" do @response[@phone1].should == @message_id1 @response[@phone2].should == @message_id2 end - should 'have sent_text' do + should "have sent_text" do @response.sent_text.should == @text end - should 'have parts_count' do + should "have parts_count" do @response.parts_count.should == @parts_count end end - context 'Response to message_status command with single id' do + context "Response to message_status command with single id" do setup do @text = random_string @status = random_string @reply_number = random_phone @created_time = (Time.now - 30).to_i @completed_time = (Time.now - 20).to_i @credits_cost = 0.01 * rand(300) @hash = { - '141421' => { - 'text' => @text, - 'status' => @status, - 'created_time' => @created_time.to_s, - 'reply_number' => @reply_number, - 'completed_time' => @completed_time.to_s, - 'credits_cost' => @credits_cost + "141421" => { + "text" => @text, + "status" => @status, + "created_time" => @created_time.to_s, + "reply_number" => @reply_number, + "completed_time" => @completed_time.to_s, + "credits_cost" => @credits_cost } } @response = TextMagic::API::Response.message_status(@hash, true) end - should 'equal to the message status' do + should "equal to the message status" do @response.should == @status end - should 'have text' do + should "have text" do @response.text.should == @text end - should 'have created_time' do + should "have created_time" do @response.created_time.should == Time.at(@created_time) end - should 'have completed_time' do + should "have completed_time" do @response.completed_time.should == Time.at(@completed_time) end - should 'have reply_number' do + should "have reply_number" do @response.reply_number.should == @reply_number end - should 'have credits_cost' do + should "have credits_cost" do @response.credits_cost.should be_close(@credits_cost, 1e-10) end end - context 'Response to message_status command with multiple ids' do + context "Response to message_status command with multiple ids" do setup do @text = random_string @status = random_string @reply_number = random_phone @created_time = (Time.now - 30).to_i @completed_time = (Time.now - 20).to_i @credits_cost = 0.01 * rand(300) @hash = { - '141421' => { - 'text' => @text, - 'status' => @status, - 'created_time' => @created_time, - 'reply_number' => @reply_number, - 'completed_time' => @completed_time, - 'credits_cost' => @credits_cost + "141421" => { + "text" => @text, + "status" => @status, + "created_time" => @created_time, + "reply_number" => @reply_number, + "completed_time" => @completed_time, + "credits_cost" => @credits_cost } } @response = TextMagic::API::Response.message_status(@hash, false) end - should 'be a hash' do + should "be a hash" do @response.class.should == Hash end - should 'have message_ids as keys' do - @response.keys.should == ['141421'] + should "have message_ids as keys" do + @response.keys.should == ["141421"] end - should 'contain statuses' do + should "contain statuses" do @response.values.first.should == @status end - should 'have text for all statuses' do + should "have text for all statuses" do @response.values.first.text.should == @text end - should 'have created_time for all statuses' do + should "have created_time for all statuses" do @response.values.first.created_time.should == Time.at(@created_time) end - should 'have completed_time for all statuses' do + should "have completed_time for all statuses" do @response.values.first.completed_time.should == Time.at(@completed_time) end - should 'have reply_number for all statuses' do + should "have reply_number for all statuses" do @response.values.first.reply_number.should == @reply_number end - should 'have credits_cost for all statuses' do + should "have credits_cost for all statuses" do @response.values.first.credits_cost.should be_close(@credits_cost, 1e-10) end end - context 'Response to receive command' do + context "Response to receive command" do setup do @timestamp = (Time.now - 30).to_i @text, @phone, @message_id = random_string, random_phone, random_string @message = { - 'timestamp' => @timestamp, - 'from' => @phone, - 'text' => @text, - 'message_id' => @message_id + "timestamp" => @timestamp, + "from" => @phone, + "text" => @text, + "message_id" => @message_id } @unread = rand(1e4) - @hash = { 'unread' => @unread, 'messages' => [@message] } + @hash = { "unread" => @unread, "messages" => [@message] } @response = TextMagic::API::Response.receive(@hash) end - should 'have unread' do + should "have unread" do @response.unread.should == @unread end - should 'be an array' do + should "be an array" do @response.class.should == Array end - should 'contain strings with phones numbers and texts' do + should "contain strings with phones numbers and texts" do @response.first.should == "#{@phone}: #{@text}" end - should 'have timestamp for all messages' do + should "have timestamp for all messages" do @response.first.timestamp.should == Time.at(@timestamp) end - should 'have from for all messages' do + should "have from for all messages" do @response.first.from.should == @phone end - should 'have text for all messages' do + should "have text for all messages" do @response.first.text.should == @text end - should 'have message_id for all messages' do + should "have message_id for all messages" do @response.first.message_id.should == @message_id end end - context 'Response to check_number command with single phone' do + context "Response to check_number command with single phone" do setup do @phone = random_phone @price = rand @country = random_string @hash = { @phone => { - 'price' => @price, - 'country' => @country + "price" => @price, + "country" => @country } } @response = TextMagic::API::Response.check_number(@hash, true) end - should 'be an OpenStruct instance' do + should "be an OpenStruct instance" do @response.class.should == OpenStruct end - should 'have price' do + should "have price" do @response.price.should be_close(@price, 1e-10) end - should 'have country' do + should "have country" do @response.country.should == @country end end - context 'Response to check_number command with multiple phones' do + context "Response to check_number command with multiple phones" do setup do @phone = random_phone @price = rand @country = random_string @hash = { @phone => { - 'price' => @price, - 'country' => @country + "price" => @price, + "country" => @country } } @response = TextMagic::API::Response.check_number(@hash, false) end - should 'be a hash' do + should "be a hash" do @response.class.should == Hash end - should 'have phones as keys' do + should "have phones as keys" do @response.keys.should == [@phone] end - should 'contain OpenStruct instances' do + should "contain OpenStruct instances" do @response.values.first.class.should == OpenStruct end - should 'have price for all phones' do + should "have price for all phones" do @response.values.first.price.should be_close(@price, 1e-10) end - should 'have country for all phones' do + should "have country for all phones" do @response.values.first.country.should == @country end end end