test/subscriber_test.rb in createsend-6.0.0 vs test/subscriber_test.rb in createsend-6.1.0
- old
+ new
@@ -9,113 +9,116 @@
should "get a subscriber by list id and email address" do
email = "subscriber@example.com"
stub_get(@auth, "subscribers/#{@list_id}.json?email=#{ERB::Util.url_encode(email)}&includetrackingpreference=false", "subscriber_details.json")
subscriber = CreateSend::Subscriber.get @auth, @list_id, email
- subscriber.EmailAddress.should == email
- subscriber.Name.should == "Subscriber One"
- subscriber.Date.should == "2010-10-25 10:28:00"
- subscriber.ListJoinedDate.should == "2010-10-25 10:28:00"
- subscriber.State.should == "Active"
- subscriber.CustomFields.size.should == 3
- subscriber.CustomFields.first.Key.should == 'website'
- subscriber.CustomFields.first.Value.should == 'http://example.com'
- subscriber.ReadsEmailWith.should == "Gmail"
+ subscriber.EmailAddress.should be == email
+ subscriber.Name.should be == "Subscriber One"
+ subscriber.Date.should be == "2010-10-25 10:28:00"
+ subscriber.MobileNumber.should be == "+61423153526"
+ subscriber.ListJoinedDate.should be == "2010-10-25 10:28:00"
+ subscriber.State.should be == "Active"
+ subscriber.CustomFields.size.should be == 3
+ subscriber.CustomFields.first.Key.should be == 'website'
+ subscriber.CustomFields.first.Value.should be == 'http://example.com'
+ subscriber.ReadsEmailWith.should be == "Gmail"
end
- should "get a subscriber with track preference information" do
+ should "get a subscriber with track and sms preference information" do
email = "subscriber@example.com"
- stub_get(@auth, "subscribers/#{@list_id}.json?email=#{ERB::Util.url_encode(email)}&includetrackingpreference=true", "subscriber_details_with_track_pref.json")
+ stub_get(@auth, "subscribers/#{@list_id}.json?email=#{ERB::Util.url_encode(email)}&includetrackingpreference=true", "subscriber_details_with_track_and_sms_pref.json")
subscriber = CreateSend::Subscriber.get @auth, @list_id, email, true
- subscriber.EmailAddress.should == email
- subscriber.Name.should == "Subscriber One"
- subscriber.ConsentToTrack == "Yes"
+ subscriber.EmailAddress.should be == email
+ subscriber.Name.should be == "Subscriber One"
+ subscriber.MobileNumber.should be == "+61423153526"
+ subscriber.ConsentToTrack.should be == "Yes"
+ subscriber.ConsentToSendSms.should be == "No"
end
should "add a subscriber without custom fields" do
stub_post(@auth, "subscribers/#{@list_id}.json", "add_subscriber.json")
email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", [], true, "Yes"
- email_address.should == "subscriber@example.com"
+ email_address.should be == "subscriber@example.com"
end
should "add a subscriber with custom fields" do
stub_post(@auth, "subscribers/#{@list_id}.json", "add_subscriber.json")
custom_fields = [ { :Key => 'website', :Value => 'http://example.com/' } ]
email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true, "Yes"
- email_address.should == "subscriber@example.com"
+ email_address.should be == "subscriber@example.com"
end
should "add a subscriber with custom fields including multi-option fields" do
stub_post(@auth, "subscribers/#{@list_id}.json", "add_subscriber.json")
custom_fields = [ { :Key => 'multioptionselectone', :Value => 'myoption' },
{ :Key => 'multioptionselectmany', :Value => 'firstoption' },
{ :Key => 'multioptionselectmany', :Value => 'secondoption' } ]
email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true, "Yes"
- email_address.should == "subscriber@example.com"
+ email_address.should be == "subscriber@example.com"
end
should "update a subscriber with custom fields" do
email = "subscriber@example.com"
new_email = "new_email_address@example.com"
stub_put(@auth, "subscribers/#{@list_id}.json?email=#{ERB::Util.url_encode(email)}", nil)
custom_fields = [ { :Key => 'website', :Value => 'http://example.com/' } ]
@subscriber.update new_email, "Subscriber", custom_fields, true, "Yes"
- @subscriber.email_address.should == new_email
+ @subscriber.email_address.should be == new_email
end
should "update a subscriber with custom fields including the clear option" do
email = "subscriber@example.com"
new_email = "new_email_address@example.com"
stub_put(@auth, "subscribers/#{@list_id}.json?email=#{ERB::Util.url_encode(email)}", nil)
custom_fields = [ { :Key => 'website', :Value => '', :Clear => true } ]
@subscriber.update new_email, "Subscriber", custom_fields, true, "No"
- @subscriber.email_address.should == new_email
+ @subscriber.email_address.should be == new_email
end
should "import many subscribers at once" do
stub_post(@auth, "subscribers/#{@list_id}/import.json", "import_subscribers.json")
subscribers = [
{ :EmailAddress => "example+1@example.com", :Name => "Example One" },
{ :EmailAddress => "example+2@example.com", :Name => "Example Two" },
{ :EmailAddress => "example+3@example.com", :Name => "Example Three" },
]
import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers, true
- import_result.FailureDetails.size.should == 0
- import_result.TotalUniqueEmailsSubmitted.should == 3
- import_result.TotalExistingSubscribers.should == 0
- import_result.TotalNewSubscribers.should == 3
- import_result.DuplicateEmailsInSubmission.size.should == 0
+ import_result.FailureDetails.size.should be == 0
+ import_result.TotalUniqueEmailsSubmitted.should be == 3
+ import_result.TotalExistingSubscribers.should be == 0
+ import_result.TotalNewSubscribers.should be == 3
+ import_result.DuplicateEmailsInSubmission.size.should be == 0
end
should "import many subscribers at once, and start subscription-based autoresponders" do
stub_post(@auth, "subscribers/#{@list_id}/import.json", "import_subscribers.json")
subscribers = [
{ :EmailAddress => "example+1@example.com", :Name => "Example One" },
{ :EmailAddress => "example+2@example.com", :Name => "Example Two" },
{ :EmailAddress => "example+3@example.com", :Name => "Example Three" },
]
import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers, true, true
- import_result.FailureDetails.size.should == 0
- import_result.TotalUniqueEmailsSubmitted.should == 3
- import_result.TotalExistingSubscribers.should == 0
- import_result.TotalNewSubscribers.should == 3
- import_result.DuplicateEmailsInSubmission.size.should == 0
+ import_result.FailureDetails.size.should be == 0
+ import_result.TotalUniqueEmailsSubmitted.should be == 3
+ import_result.TotalExistingSubscribers.should be == 0
+ import_result.TotalNewSubscribers.should be == 3
+ import_result.DuplicateEmailsInSubmission.size.should be == 0
end
should "import many subscribers at once with custom fields, including the clear option" do
stub_post(@auth, "subscribers/#{@list_id}/import.json", "import_subscribers.json")
subscribers = [
{ :EmailAddress => "example+1@example.com", :Name => "Example One", :CustomFields => [ { :Key => 'website', :Value => '', :Clear => true } ] },
{ :EmailAddress => "example+2@example.com", :Name => "Example Two", :CustomFields => [ { :Key => 'website', :Value => '', :Clear => false } ] },
{ :EmailAddress => "example+3@example.com", :Name => "Example Three", :CustomFields => [ { :Key => 'website', :Value => '', :Clear => false } ] },
]
import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers, true
- import_result.FailureDetails.size.should == 0
- import_result.TotalUniqueEmailsSubmitted.should == 3
- import_result.TotalExistingSubscribers.should == 0
- import_result.TotalNewSubscribers.should == 3
- import_result.DuplicateEmailsInSubmission.size.should == 0
+ import_result.FailureDetails.size.should be == 0
+ import_result.TotalUniqueEmailsSubmitted.should be == 3
+ import_result.TotalExistingSubscribers.should be == 0
+ import_result.TotalNewSubscribers.should be == 3
+ import_result.DuplicateEmailsInSubmission.size.should be == 0
end
should "import many subscribers at once with partial success" do
# Stub request with 400 Bad Request as the expected response status
stub_post(@auth, "subscribers/#{@list_id}/import.json", "import_subscribers_partial_success.json", 400)
@@ -123,29 +126,29 @@
{ :EmailAddress => "example+1@example", :Name => "Example One" },
{ :EmailAddress => "example+2@example.com", :Name => "Example Two" },
{ :EmailAddress => "example+3@example.com", :Name => "Example Three" },
]
import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers, true
- import_result.FailureDetails.size.should == 1
- import_result.FailureDetails.first.EmailAddress.should == "example+1@example"
- import_result.FailureDetails.first.Code.should == 1
- import_result.FailureDetails.first.Message.should == "Invalid Email Address"
- import_result.TotalUniqueEmailsSubmitted.should == 3
- import_result.TotalExistingSubscribers.should == 2
- import_result.TotalNewSubscribers.should == 0
- import_result.DuplicateEmailsInSubmission.size.should == 0
+ import_result.FailureDetails.size.should be == 1
+ import_result.FailureDetails.first.EmailAddress.should be == "example+1@example"
+ import_result.FailureDetails.first.Code.should be == 1
+ import_result.FailureDetails.first.Message.should be == "Invalid Email Address"
+ import_result.TotalUniqueEmailsSubmitted.should be == 3
+ import_result.TotalExistingSubscribers.should be == 2
+ import_result.TotalNewSubscribers.should be == 0
+ import_result.DuplicateEmailsInSubmission.size.should be == 0
end
should "raise a BadRequest error if the import _completely_ fails because of a bad request" do
# Stub request with 400 Bad Request as the expected response status
stub_post(@auth, "subscribers/#{@list_id}/import.json", "custom_api_error.json", 400)
subscribers = [
{ :EmailAddress => "example+1@example", :Name => "Example One" },
{ :EmailAddress => "example+2@example.com", :Name => "Example Two" },
{ :EmailAddress => "example+3@example.com", :Name => "Example Three" },
]
- lambda { import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers,
+ lambda { CreateSend::Subscriber.import @auth, @list_id, subscribers,
true }.should raise_error(CreateSend::BadRequest)
end
should "unsubscribe a subscriber" do
stub_post(@auth, "subscribers/#{@subscriber.list_id}/unsubscribe.json", nil)
@@ -153,18 +156,18 @@
end
should "get a subscriber's history" do
stub_get(@auth, "subscribers/#{@subscriber.list_id}/history.json?email=#{ERB::Util.url_encode(@subscriber.email_address)}", "subscriber_history.json")
history = @subscriber.history
- history.size.should == 1
- history.first.Name.should == "Campaign One"
- history.first.Type.should == "Campaign"
- history.first.ID.should == "fc0ce7105baeaf97f47c99be31d02a91"
- history.first.Actions.size.should == 6
- history.first.Actions.first.Event.should == "Open"
- history.first.Actions.first.Date.should == "2010-10-12 13:18:00"
- history.first.Actions.first.IPAddress.should == "192.168.126.87"
- history.first.Actions.first.Detail.should == ""
+ history.size.should be == 1
+ history.first.Name.should be == "Campaign One"
+ history.first.Type.should be == "Campaign"
+ history.first.ID.should be == "fc0ce7105baeaf97f47c99be31d02a91"
+ history.first.Actions.size.should be == 6
+ history.first.Actions.first.Event.should be == "Open"
+ history.first.Actions.first.Date.should be == "2010-10-12 13:18:00"
+ history.first.Actions.first.IPAddress.should be == "192.168.126.87"
+ history.first.Actions.first.Detail.should be == ""
end
should "delete a subscriber" do
stub_delete(@auth, "subscribers/#{@subscriber.list_id}.json?email=#{ERB::Util.url_encode(@subscriber.email_address)}", nil)
@subscriber.delete
\ No newline at end of file