campaigning 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnsignore +16 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +65 -0
- data/Rakefile +59 -0
- data/VERSION.yml +4 -0
- data/campaigning.gemspec +77 -0
- data/lib/campaigning.rb +1 -0
- data/lib/campaigning/campaign.rb +218 -0
- data/lib/campaigning/campaigning.rb +53 -0
- data/lib/campaigning/client.rb +335 -0
- data/lib/campaigning/list.rb +276 -0
- data/lib/campaigning/module_mixin.rb +31 -0
- data/lib/campaigning/soap/generated/default.rb +1715 -0
- data/lib/campaigning/soap/generated/defaultDriver.rb +413 -0
- data/lib/campaigning/soap/generated/defaultMappingRegistry.rb +1526 -0
- data/lib/campaigning/subscriber.rb +158 -0
- data/lib/campaigning/template.rb +124 -0
- data/sample/campaign_sample.rb +116 -0
- data/sample/campaigning_sample.rb +25 -0
- data/sample/client_sample.rb +139 -0
- data/sample/list_sample.rb +159 -0
- data/sample/subscriber_sample.rb +88 -0
- data/test/campaign_test.rb +102 -0
- data/test/campaigning_test.rb +34 -0
- data/test/client_test.rb +130 -0
- data/test/list_test.rb +113 -0
- data/test/subscriber_test.rb +55 -0
- data/test/template_test.rb +62 -0
- data/test/test_helper.rb +10 -0
- metadata +100 -0
@@ -0,0 +1,159 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'campaigning'
|
3
|
+
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT__YOUR__API__KEY__HERE__'
|
5
|
+
|
6
|
+
|
7
|
+
#Here is how to create a brand new subscriber list
|
8
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
9
|
+
list = Campaigning::List.create!(
|
10
|
+
:clientID => client.clientID,
|
11
|
+
:title => "List from Sample Exec",
|
12
|
+
:unsubscribePage => "http://www.mycompany.com/campaign/ubsubscribe.html", #If not suplied or equals blank (""), default value will be used
|
13
|
+
:confirmOptIn => false,
|
14
|
+
:confirmationSuccessPage => "" #Default value will be used
|
15
|
+
)
|
16
|
+
puts "Here is the new created List: #{list.name} #{list.listID}"
|
17
|
+
#OR you can remove both optional parameters from the method call like below and default values will be used as well:
|
18
|
+
list2 = Campaigning::List.create!(
|
19
|
+
:clientID => client.clientID,
|
20
|
+
:title => "List from Sample Exec2",
|
21
|
+
:confirmOptIn => false
|
22
|
+
)
|
23
|
+
puts "Here is my second new created List (without some params): #{list.name} #{list.listID}"
|
24
|
+
|
25
|
+
|
26
|
+
# SETUP FOR THIS SAMPLE ---------------------------------------------------------------------
|
27
|
+
|
28
|
+
EMAIL_1 = "another@example.com"
|
29
|
+
EMAIL_2 = "mrgree@example.com"
|
30
|
+
|
31
|
+
#Here is how to add a subscriber (email address, name) to an existing subscriber list.
|
32
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_1, "Robert Franklin Jr.")
|
33
|
+
result = subscriber.add!(list.listID)
|
34
|
+
puts "Was the subscriber add tho the list: #{result.message}"
|
35
|
+
|
36
|
+
#Here is how to add and resubscribe a Subscriber to an existing subscriber list.
|
37
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_2, "Nora Green Mor")
|
38
|
+
result = subscriber.add_and_resubscribe!(list.listID)
|
39
|
+
puts "Was the subscriber add and resubscribed tho the list: #{result.message}"
|
40
|
+
|
41
|
+
# /SETUP FOR THIS SAMPLE ---------------------------------------------------------------------
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
#Here is how to create a new custom field for a list
|
46
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
47
|
+
puts client.inspect
|
48
|
+
list = client.find_list_by_name "List from Sample Exec"
|
49
|
+
result = list.create_custom_field!(
|
50
|
+
:fieldName => "Color" ,
|
51
|
+
:dataType => "MultiSelectOne", #This must be one of Text, Number, MultiSelectOne, or MultiSelectMany
|
52
|
+
:options => %w[Blue Red Orange]
|
53
|
+
)
|
54
|
+
#Let's create one more custom field
|
55
|
+
result1 = list.create_custom_field!(
|
56
|
+
:fieldName => "Contact Type" ,
|
57
|
+
:dataType => "MultiSelectOne",
|
58
|
+
:options => %w[email post telephone]
|
59
|
+
)
|
60
|
+
puts "Was my Color custom field created successfuly? #{result.message}"
|
61
|
+
puts "Was my Contact Type custom field created successfuly? #{result1.message}"
|
62
|
+
|
63
|
+
|
64
|
+
#Here is how to get all the Custom Fields available for a list
|
65
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
66
|
+
list = client.find_list_by_name "List from Sample Exec"
|
67
|
+
result = list.custom_fields
|
68
|
+
puts result.inspect
|
69
|
+
puts "Here is all my Custom fields from the given list: #{result.inspect}"
|
70
|
+
|
71
|
+
|
72
|
+
#How to delete a custom field from a list
|
73
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
74
|
+
list = client.find_list_by_name "List from Sample Exec"
|
75
|
+
result = list.delete_custom_field!("Color")
|
76
|
+
puts "Was my Color custom field deleted successfuly? #{result.message}"
|
77
|
+
#Deleting my Contact Type custom Field
|
78
|
+
result = list.delete_custom_field!("ContactType")
|
79
|
+
puts "Was my Contact Type custom field deleted successfuly? #{result.message}"
|
80
|
+
|
81
|
+
|
82
|
+
#Here is how to get a list of all ACTIVE subscribers for a list that have been added since the specified date.
|
83
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
84
|
+
list = client.find_list_by_name "List from Sample Exec"
|
85
|
+
subscriber_list = list.find_active_subscribers(DateTime.new(y=2009,m=5,d=01, h=01,min=00,s=00))
|
86
|
+
result = subscriber_list.inspect
|
87
|
+
|
88
|
+
|
89
|
+
#Here is how to get all ACTIVE subscribers since ever
|
90
|
+
subscriber_list = list.get_all_active_subscribers
|
91
|
+
result = subscriber_list.inspect
|
92
|
+
puts "Here is all active subscribers from the list: #{result}"
|
93
|
+
|
94
|
+
|
95
|
+
#Here is how to get a range of subscribers by regular expression
|
96
|
+
subscriber_list = list.get_all_active_subscribers
|
97
|
+
subs_list_found = subscriber_list.find_all{|subscriber| subscriber.emailAddress =~ /[\w]+@example.com/}
|
98
|
+
puts "Here is how to get a range of subscribers by regular expression: #{subs_list_found.inspect}"
|
99
|
+
|
100
|
+
|
101
|
+
#Here is how to get a range of subscribers by string matching
|
102
|
+
subscriber_list = list.get_all_active_subscribers
|
103
|
+
subs_list_found = subscriber_list.find_all{|subscriber| subscriber.name == "Robert Franklin Jr."}
|
104
|
+
puts "Here is how to get a range of subscribers by regular expression: #{subs_list_found.inspect}"
|
105
|
+
|
106
|
+
|
107
|
+
#Here is how to get a list’s configuration detail
|
108
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
109
|
+
list = client.find_list_by_name "List from Sample Exec"
|
110
|
+
result = list.details
|
111
|
+
puts "Here is my list configuration details: #{result.inspect}"
|
112
|
+
|
113
|
+
|
114
|
+
#Here is hot to update a subscriber list’s details
|
115
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
116
|
+
list = client.find_list_by_name "List from Sample Exec"
|
117
|
+
result = list.update!(
|
118
|
+
:title => "My new list created by ruby list_sample",
|
119
|
+
:unsubscribePage => "", # Default will be used
|
120
|
+
:confirmOptIn => false,
|
121
|
+
:confirmationSuccessPage => "" #Default will be used
|
122
|
+
)
|
123
|
+
puts "Was my list updated successfully? #{result.message}"
|
124
|
+
|
125
|
+
|
126
|
+
#Gets a list of all subscribers for a list that have unsubscribed since the specified date.
|
127
|
+
client = Campaigning::Client.find_by_name "Client One Company"
|
128
|
+
list = client.find_list_by_name "My new list created by ruby list_sample"
|
129
|
+
subscriber_list = list.find_unsubscribed(DateTime.new(y=2009,m=4,d=01, h=01,min=00,s=00))
|
130
|
+
puts "All subscriber that have unsubscribed from the list: #{subscriber_list.inspect}"
|
131
|
+
|
132
|
+
|
133
|
+
#This method returns all of a particular subscribers details, including email address, name, active/inactive status
|
134
|
+
#and all custom field data.
|
135
|
+
client = Campaigning::Client.find_by_name "Client One Company"
|
136
|
+
list = client.find_list_by_name "My new list created by ruby list_sample"
|
137
|
+
subscriber = list.find_single_subscriber(EMAIL_2)
|
138
|
+
puts "Subscriber details: #{subscriber.inspect}"
|
139
|
+
|
140
|
+
|
141
|
+
#Here is how to delete a list
|
142
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
143
|
+
list = client.find_list_by_name "My new list created by ruby list_sample"
|
144
|
+
result = Campaigning::List.delete!(list.listID)
|
145
|
+
puts "Was my list deleted successfully? #{result.message}"
|
146
|
+
|
147
|
+
|
148
|
+
#Deleting another list (instance method)
|
149
|
+
list = client.find_list_by_name "List from Sample Exec2"
|
150
|
+
list.delete!
|
151
|
+
puts "Was my second list deleted successfully: #{list.listID}"
|
152
|
+
|
153
|
+
#Get statistics from a List
|
154
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
155
|
+
list = client.find_list_by_name "New list to test BLA"
|
156
|
+
puts "List statistics: #{list.stats}"
|
157
|
+
|
158
|
+
|
159
|
+
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'campaigning'
|
3
|
+
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT__YOUR__API__KEY__HERE__'
|
5
|
+
|
6
|
+
|
7
|
+
# SETUP FOR THIS SAMPLE ---------------------------------------------------------------------
|
8
|
+
#Creating a list for sample execution
|
9
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
10
|
+
list = Campaigning::List.create!(
|
11
|
+
:clientID => client.clientID,
|
12
|
+
:title => "List for Subscriber Sample Exec",
|
13
|
+
:confirmOptIn => false
|
14
|
+
)
|
15
|
+
LIST_ID = list.listID
|
16
|
+
puts "New list created: #{list.name} #{list.listID}"
|
17
|
+
#Creating a Custom Field for sample execution
|
18
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
19
|
+
list = client.find_list_by_name "List for Subscriber Sample Exec"
|
20
|
+
result = list.create_custom_field!(:fieldName => "City Name", :dataType => "Text")
|
21
|
+
puts "Custom field City Name created successfuly?: #{result.message}"
|
22
|
+
result = list.create_custom_field!(:fieldName => "Sponsor Name", :dataType => "Text")
|
23
|
+
puts "Custom field Sponsor Name created successfuly?: #{result.message}"
|
24
|
+
# /SETUP FOR THIS SAMPLE ---------------------------------------------------------------------
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
EMAIL_1 = "em4@example.com"
|
31
|
+
EMAIL_2 = "em5@example.com"
|
32
|
+
EMAIL_3 = "em6@example.com"
|
33
|
+
|
34
|
+
#Here is how to add a subscriber (email address, name) to an existing subscriber list.
|
35
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_1, "Robert Franklin")
|
36
|
+
result = subscriber.add!(LIST_ID)
|
37
|
+
puts "Was the subscriber add tho the list: #{result.message}"
|
38
|
+
|
39
|
+
|
40
|
+
#Here is how to add and resubscribe a Subscriber to an existing subscriber list.
|
41
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_2, "Nora Green")
|
42
|
+
result = subscriber.add_and_resubscribe!(LIST_ID)
|
43
|
+
puts "Was the subscriber add and resubscribed tho the list: #{result.message}"
|
44
|
+
|
45
|
+
|
46
|
+
#Here is how to add a subscriber WITH CUSTOM FIELDS to an existing subscriber list.
|
47
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_3, "Mr. Custon")
|
48
|
+
result = subscriber.add!(
|
49
|
+
LIST_ID,
|
50
|
+
:CityName => "London", :SponsorName => "Some Sponsor from London" #<-- Both Custom Fields for "City Name" and "Sponsor Name"
|
51
|
+
)
|
52
|
+
puts "Was the subscriber WITH custom fields add tho the list: #{result.message}"
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
#Here is how to add and resubscribe a Subscriber WITH CUSTOM FIELDS to an existing subscriber list.
|
57
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_3, "Mr. Custon")
|
58
|
+
result = subscriber.add_and_resubscribe!(
|
59
|
+
LIST_ID,
|
60
|
+
:CityName => "Dublin", :SponsorName => "Some Sponsor" #<-- Both Custom Fields for "City Name" and "Sponsor Name"
|
61
|
+
)
|
62
|
+
puts "Was the subscriber WITH custom fields add and resubscribed tho the list: #{result.message}"
|
63
|
+
|
64
|
+
|
65
|
+
#Here is how to change the status of an Active Subscriber to an Unsubscribed Subscriber who will no longer
|
66
|
+
#receive campaigns sent to that Subscriber List.
|
67
|
+
result = Campaigning::Subscriber.unsubscribe!(EMAIL_2, LIST_ID)
|
68
|
+
#Or you can use a instance method like:
|
69
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_1)
|
70
|
+
result = subscriber.unsubscribe!(LIST_ID)
|
71
|
+
puts "Was the subscriber unsubscribed from the list: #{result.message}"
|
72
|
+
|
73
|
+
|
74
|
+
#Returns True or False as to the existence of the given email address in the list supplied.
|
75
|
+
result = Campaigning::Subscriber.is_subscribed?(EMAIL_2, LIST_ID)
|
76
|
+
#Or you can use a instance method like:
|
77
|
+
subscriber = Campaigning::Subscriber.new(EMAIL_3)
|
78
|
+
result = subscriber.is_subscribed?(LIST_ID)
|
79
|
+
puts "Was the email subscribed in the list? #{result}"
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
# TEARDOWN FOR THIS SAMPLE --------------------------------------------------------------------
|
85
|
+
#Just deleting a list created for sample execution
|
86
|
+
list = client.find_list_by_name "List for Subscriber Sample Exec"
|
87
|
+
result = Campaigning::List.delete!( list.listID )
|
88
|
+
puts "Was the list deleted successfully? #{result.message}"
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
# Replace this API key with your own (http://www.campaignmonitor.com/api/)
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT_YOUR_API_KEY_HERE__'
|
5
|
+
|
6
|
+
class CampaignTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
|
9
|
+
def setup
|
10
|
+
#Campaigning.set_endpoint_url "http://127.0.0.1:8088/mockapiSoap"
|
11
|
+
Campaigning.set_debug_mode(:on)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_campaign_create
|
15
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
16
|
+
response = Campaigning::Campaign.create!(
|
17
|
+
:clientID => client.clientID,
|
18
|
+
:campaignName => "Campaign by Campaigning TO DELETE - CODEE",
|
19
|
+
:campaignSubject => "Campaign by myself - OK - CODEE",
|
20
|
+
:fromName => "Mr. Gordon23",
|
21
|
+
:fromEmail => "gordon23@test.com",
|
22
|
+
:replyTo => "no-reply@test.com",
|
23
|
+
:htmlUrl => "http://gnumarcelo.github.com",
|
24
|
+
:textUrl => "http://gnumarcelo.github.com",
|
25
|
+
:subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
|
26
|
+
:listSegments => client.segments
|
27
|
+
)
|
28
|
+
puts response.inspect
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def test_campaign_delete!
|
33
|
+
#client = Campaigning::Client.find_by_name("Client One Company")
|
34
|
+
response = Campaigning::Campaign.delete!("4e5952a0840869b77f05b29b9a7a292b")
|
35
|
+
puts response.inspect
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_campaign_bounces
|
39
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
40
|
+
puts client.campaigns[1].bounces.inspect
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_campaign_lists
|
44
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
45
|
+
client.campaigns[0].lists
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_campaign_opens
|
49
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
50
|
+
puts client.campaigns[0].opens
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_campaign_find_campaigns_by_subject
|
54
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
55
|
+
campaigns = client.find_campaigns_by_subject("Campaign to BOUNCE")
|
56
|
+
assert campaign.length > 0
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
def test_campaign_summary
|
61
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
62
|
+
# client.campaigns[2].subscriber_clicks.each do |subscriber|
|
63
|
+
# puts "Subscriber: #{subscriber.emailAddress}"
|
64
|
+
# subscriber.clickedLinks.each { |clicked| puts "Link: #{clicked.link} - Number of clicks: #{clicked.clicks}"}
|
65
|
+
# end
|
66
|
+
assert client.campaigns[2].subscriber_clicks != nil
|
67
|
+
assert client.campaigns[2].subscriber_clicks != []
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
def test_campaign_summary
|
73
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
74
|
+
puts client.campaigns[1].summary
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_campaign_unsubscribes
|
78
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
79
|
+
puts client.campaigns[0].unsubscribes
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_campaign_send
|
83
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
84
|
+
response = Campaigning::Campaign.create!(
|
85
|
+
:clientID => client.clientID,
|
86
|
+
:campaignName => "Campaign by myself RUBY NEW CREATED",
|
87
|
+
:campaignSubject => "Campaign by myself - OK",
|
88
|
+
:fromName => "Mr. Gordon2",
|
89
|
+
:fromEmail => "gordon2@test.com",
|
90
|
+
:replyTo => "no-reply@test.com",
|
91
|
+
:htmlUrl => "http://www.campaignmonitor.com/api/method/campaign-create/",
|
92
|
+
:textUrl => "http://www.google.com",
|
93
|
+
:subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
|
94
|
+
:listSegments => client.segments
|
95
|
+
)
|
96
|
+
|
97
|
+
puts client.campaigns[0].send!(
|
98
|
+
:confirmationEmail => "userhdhd@test.com",
|
99
|
+
:sendDate => "2009-04-30 11:55:01" # Date format YYYY-MM-DD HH:MM:SS.
|
100
|
+
)
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
# Replace this API key with your own (http://www.campaignmonitor.com/api/)
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT_YOUR_API_KEY_HERE__'
|
5
|
+
|
6
|
+
class CampaigningTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
|
9
|
+
def setup
|
10
|
+
#Campaigning.set_endpoint_url "http://127.0.0.1:8088/mockapiSoap"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_campaigning_system_date
|
14
|
+
date = Campaigning.system_date
|
15
|
+
assert !date.nil?
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_user_get_timezones
|
19
|
+
timezones = Campaigning.timezones
|
20
|
+
assert !timezones.nil?
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_user_countries
|
24
|
+
countries = Campaigning.countries
|
25
|
+
assert !countries.nil?
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_client_lists
|
29
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
30
|
+
assert client.lists.length > 0
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
end
|
data/test/client_test.rb
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
# Replace this API key with your own (http://www.campaignmonitor.com/api/)
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT_YOUR_API_KEY_HERE__'
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
class ClientTest < Test::Unit::TestCase
|
9
|
+
|
10
|
+
|
11
|
+
def setup
|
12
|
+
#Campaigning.set_endpoint_url "http://127.0.0.1:8088/mockapiSoap"
|
13
|
+
#Campaigning.set_debug_mode(:on)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_client_get_templates
|
17
|
+
client = Campaigning::Client.get_all_clients.first
|
18
|
+
puts "#{client.name} - #{client.clientID}"
|
19
|
+
puts "Templates: #{client.templates.inspect}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_client_get_all_clients
|
23
|
+
clients = Campaigning::Client.get_all_clients
|
24
|
+
assert clients.length > 0
|
25
|
+
#clients.each{ |c| puts c.clientID + " - " + c.name }
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_client_create!
|
29
|
+
client_created = Campaigning::Client.create!(
|
30
|
+
:companyName => "My test clients22",
|
31
|
+
:contactName => "Oswald Green15s25",
|
32
|
+
:emailAddress => "og1524s@example.com",
|
33
|
+
:country => "Ireland",
|
34
|
+
:timezone => Campaigning.timezones[1]
|
35
|
+
)
|
36
|
+
assert !client_created.clientID.nil?
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_client_delete
|
40
|
+
response = Campaigning::Client.delete!(client_created.clientID)
|
41
|
+
assert response.code == 0
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_client_delete_itself
|
45
|
+
client = Campaigning::Client.find_by_name("Orange Company 7")
|
46
|
+
client.delete!
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_client_segments
|
50
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
51
|
+
assert client.segments.length > 0
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
def test_find_client_by_name
|
56
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
57
|
+
assert !client.nil? && client.name == "Client One Company"
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
def test_get_client_campaigns
|
62
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
63
|
+
puts client.campaigns.inspect
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_get_client_details
|
67
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
68
|
+
client_details = client.details
|
69
|
+
basic_details = client_details.basicDetails
|
70
|
+
access_and_billing_details = client_details.accessAndBilling
|
71
|
+
puts "Basic details:"
|
72
|
+
puts "Client ID: #{basic_details.clientID} - \n
|
73
|
+
Company: #{basic_details.companyName} - \n
|
74
|
+
Contact: #{basic_details.contactName} - \n
|
75
|
+
Country: #{basic_details.country} - \n
|
76
|
+
Timezone: #{basic_details.timezone}"
|
77
|
+
|
78
|
+
puts "Access and Billing Details:"
|
79
|
+
puts "Username: #{access_and_billing_details.username} - \n
|
80
|
+
Password: #{access_and_billing_details.password} - \n
|
81
|
+
Billing Type: #{access_and_billing_details.billingType} - \n
|
82
|
+
Currency: #{access_and_billing_details.currency} - \n
|
83
|
+
Delivery Fee: #{access_and_billing_details.deliveryFee} - \n
|
84
|
+
Cost per Recipient: #{access_and_billing_details.costPerRecipient} - \n
|
85
|
+
Design and Span test Fee: #{access_and_billing_details.designAndSpamTestFee} - \n
|
86
|
+
Access Level: #{access_and_billing_details.accessLevel}"
|
87
|
+
|
88
|
+
assert !client.details.nil?
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_get_client_suppression_list
|
93
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
94
|
+
puts client.suppression_list.inspect
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_client_update_access_and_billing!
|
98
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
99
|
+
response = client.update_access_and_billing!(
|
100
|
+
:accessLevel => 5 ,
|
101
|
+
:username => "client_one",
|
102
|
+
:password => "1234560",
|
103
|
+
:billingType => "UserPaysOnClientsBehalf",
|
104
|
+
:currency => "USD",
|
105
|
+
:deliveryFee => 6.5,
|
106
|
+
:costPerRecipient => 1.5 ,
|
107
|
+
:designAndSpamTestFee => 5
|
108
|
+
)
|
109
|
+
assert response.code == 0
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_client_update_basics!
|
113
|
+
client = Campaigning::Client.find_by_name("Client Two")
|
114
|
+
response = client.update_basics!(
|
115
|
+
:companyName => "My new Company",
|
116
|
+
:contactName => "Mr. Gordon Newman",
|
117
|
+
:emailAddress => "gordon-newman@test.com",
|
118
|
+
:country => "Ireland",
|
119
|
+
:timezone => Campaigning.timezones[1]
|
120
|
+
)
|
121
|
+
assert response.code == 0
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_client_find_list_by_name
|
125
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
126
|
+
list = client.find_list_by_name "My Friends"
|
127
|
+
assert list.nil? == false
|
128
|
+
end
|
129
|
+
|
130
|
+
end
|