active_campaign 0.1.13 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -3
- data/.travis.yml +15 -7
- data/Gemfile +3 -2
- data/README.md +1 -1
- data/active_campaign.gemspec +0 -2
- data/lib/active_campaign.rb +16 -8
- data/lib/active_campaign/client.rb +11 -15
- data/lib/active_campaign/client/campaigns.rb +7 -7
- data/lib/active_campaign/client/contacts.rb +9 -11
- data/lib/active_campaign/client/deals.rb +7 -7
- data/lib/active_campaign/client/forms.rb +5 -5
- data/lib/active_campaign/client/groups.rb +7 -7
- data/lib/active_campaign/client/lists.rb +12 -10
- data/lib/active_campaign/client/messages.rb +7 -7
- data/lib/active_campaign/client/tracks.rb +8 -12
- data/lib/active_campaign/client/users.rb +6 -11
- data/lib/active_campaign/configuration.rb +44 -24
- data/lib/active_campaign/core_ext.rb +53 -0
- data/lib/active_campaign/version.rb +1 -1
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_add/when_successful/returns_1_for_result_code.yml +96 -0
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_sync/when_successful/returns_1_for_result_code.yml +96 -0
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_view/can_find_contact_by_id.yml +150 -0
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_add/add_a_list.yml +48 -0
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_list/can_find_a_list_of_lists.yml +106 -0
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_view/can_find_lists_by_id.yml +102 -0
- data/spec/lib/active_campaign/client/contacts_spec.rb +15 -5
- data/spec/lib/active_campaign/client/lists_spec.rb +26 -18
- data/spec/lib/active_campaign/client_spec.rb +0 -1
- data/spec/lib/active_campaign_spec.rb +2 -2
- data/spec/spec_helper.rb +12 -14
- data/spec/support/coverage.rb +6 -2
- data/spec/support/vcr.rb +7 -5
- metadata +15 -40
- data/circle.yml +0 -15
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_sync/when_successful/returns_1_for_result_code.json +0 -1
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_view/can_find_contact_by_id.json +0 -1
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_list/can_find_a_list_of_lists.json +0 -1
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_view/can_find_lists_by_id.json +0 -1
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: "<API_ENDPOINT>?api_action=list_add&api_key=<API_KEY>&api_output=json"
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: carboncopy=mikael%40zoolutions.se&get_unsubscribe_reason=1&name=Swedish+Players&p_use_captcha=0&private=0&require_name=1&send_last_broadcast=1&sender_addr1=%25C3%2596sterv%25C3%25A5ngsplan%252015&sender_city=Landskrona&sender_country=Sweden&sender_name=Zoolutions%2520AB&sender_zip=26144&stringid=swedish-players&subscription_notify=mikael%40zoolutions.se&to_name=Recipient&unsubscription_notify=mikael%40zoolutions.se
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- ActiveCampaign Ruby Gem 0.1.13
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
X-Powered-By:
|
22
|
+
- PHP/5.3.3
|
23
|
+
Set-Cookie:
|
24
|
+
- PHPSESSID=5b0o8l8b4jqn8sr51ahnngdbi2; path=/
|
25
|
+
- em_acp_globalauth_cookie=c6ead9798fb11b728939168ee2d579611; path=/; domain=zoolutions.api-us1.com;
|
26
|
+
secure
|
27
|
+
- em_acp_globalauth_cookie=deleted; expires=Wed, 12-Aug-2015 08:19:05 GMT; path=/;
|
28
|
+
domain=zoolutions.api-us1.com
|
29
|
+
Expires:
|
30
|
+
- Thu, 19 Nov 1981 08:52:00 GMT
|
31
|
+
Pragma:
|
32
|
+
- no-cache
|
33
|
+
Content-Type:
|
34
|
+
- application/json; charset=utf-8
|
35
|
+
Cache-Control:
|
36
|
+
- no-store, max-age=0, must-revalidate
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
Date:
|
40
|
+
- Thu, 11 Aug 2016 08:19:06 GMT
|
41
|
+
Server:
|
42
|
+
- lighttpd/1.4.37
|
43
|
+
body:
|
44
|
+
encoding: UTF-8
|
45
|
+
string: '{"id":11,"result_code":1,"result_message":"List added","result_output":"json"}'
|
46
|
+
http_version:
|
47
|
+
recorded_at: Thu, 11 Aug 2016 08:19:06 GMT
|
48
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,106 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: "<API_ENDPOINT>/?api_action=list_list&api_key=<API_KEY>&api_output=json&ids=all"
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- ActiveCampaign Ruby Gem 0.1.13
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 302
|
19
|
+
message: Found
|
20
|
+
headers:
|
21
|
+
X-Powered-By:
|
22
|
+
- PHP/5.3.3
|
23
|
+
Set-Cookie:
|
24
|
+
- PHPSESSID=8ev4eknm8r6s20s6obihjcbac3; path=/
|
25
|
+
- em_acp_globalauth_cookie=deleted; expires=Wed, 12-Aug-2015 07:54:06 GMT; path=/;
|
26
|
+
domain=zoolutions.api-us1.com
|
27
|
+
Expires:
|
28
|
+
- Thu, 19 Nov 1981 08:52:00 GMT
|
29
|
+
Cache-Control:
|
30
|
+
- no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
31
|
+
Pragma:
|
32
|
+
- no-cache
|
33
|
+
Location:
|
34
|
+
- http://zoolutions.activehosted.com
|
35
|
+
Vary:
|
36
|
+
- Accept-Encoding
|
37
|
+
Content-Type:
|
38
|
+
- text/html
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
Date:
|
42
|
+
- Thu, 11 Aug 2016 07:54:07 GMT
|
43
|
+
Server:
|
44
|
+
- lighttpd/1.4.37
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: ''
|
48
|
+
http_version:
|
49
|
+
recorded_at: Thu, 11 Aug 2016 07:54:07 GMT
|
50
|
+
- request:
|
51
|
+
method: get
|
52
|
+
uri: "<API_ENDPOINT>?api_action=list_list&api_key=<API_KEY>&api_output=json&ids=all"
|
53
|
+
body:
|
54
|
+
encoding: US-ASCII
|
55
|
+
string: ''
|
56
|
+
headers:
|
57
|
+
User-Agent:
|
58
|
+
- ActiveCampaign Ruby Gem 0.1.13
|
59
|
+
Accept-Encoding:
|
60
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
61
|
+
Accept:
|
62
|
+
- "*/*"
|
63
|
+
response:
|
64
|
+
status:
|
65
|
+
code: 200
|
66
|
+
message: OK
|
67
|
+
headers:
|
68
|
+
X-Powered-By:
|
69
|
+
- PHP/5.3.3
|
70
|
+
Set-Cookie:
|
71
|
+
- PHPSESSID=mtidul4kr8djuf59uecffi0tg0; path=/
|
72
|
+
- em_acp_globalauth_cookie=c6ead9798fb11b728939168ee2d579611; path=/; domain=zoolutions.api-us1.com;
|
73
|
+
secure
|
74
|
+
- em_acp_globalauth_cookie=deleted; expires=Wed, 12-Aug-2015 08:19:06 GMT; path=/;
|
75
|
+
domain=zoolutions.api-us1.com
|
76
|
+
Expires:
|
77
|
+
- Thu, 19 Nov 1981 08:52:00 GMT
|
78
|
+
Pragma:
|
79
|
+
- no-cache
|
80
|
+
Content-Type:
|
81
|
+
- application/json; charset=utf-8
|
82
|
+
Cache-Control:
|
83
|
+
- no-store, max-age=0, must-revalidate
|
84
|
+
Transfer-Encoding:
|
85
|
+
- chunked
|
86
|
+
Date:
|
87
|
+
- Thu, 11 Aug 2016 08:19:07 GMT
|
88
|
+
Server:
|
89
|
+
- lighttpd/1.4.37
|
90
|
+
body:
|
91
|
+
encoding: UTF-8
|
92
|
+
string: '{"0":{"id":"1","name":"Swedish Players","cdate":"2016-08-11 10:02:18","private":"0","userid":"1","subscriber_count":1},"1":{"id":"2","name":"Swedish
|
93
|
+
Players","cdate":"2016-08-11 10:04:00","private":"1","userid":"1","subscriber_count":0},"2":{"id":"3","name":"Swedish
|
94
|
+
Players","cdate":"2016-08-11 10:08:42","private":"1","userid":"1","subscriber_count":0},"3":{"id":"4","name":"Swedish
|
95
|
+
Players","cdate":"2016-08-11 10:08:58","private":"1","userid":"1","subscriber_count":0},"4":{"id":"5","name":"Swedish
|
96
|
+
Players","cdate":"2016-08-11 10:13:21","private":"1","userid":"1","subscriber_count":0},"5":{"id":"6","name":"Swedish
|
97
|
+
Players","cdate":"2016-08-11 10:14:51","private":"1","userid":"1","subscriber_count":0},"6":{"id":"7","name":"Swedish
|
98
|
+
Players","cdate":"2016-08-11 10:15:32","private":"1","userid":"1","subscriber_count":1},"7":{"id":"8","name":"Swedish
|
99
|
+
Players","cdate":"2016-08-11 10:17:26","private":"1","userid":"1","subscriber_count":0},"8":{"id":"9","name":"Swedish
|
100
|
+
Players","cdate":"2016-08-11 10:17:58","private":"1","userid":"1","subscriber_count":0},"9":{"id":"10","name":"Swedish
|
101
|
+
Players","cdate":"2016-08-11 10:18:21","private":"1","userid":"1","subscriber_count":0},"10":{"id":"11","name":"Swedish
|
102
|
+
Players","cdate":"2016-08-11 10:19:06","private":"1","userid":"1","subscriber_count":0},"result_code":1,"result_message":"Success:
|
103
|
+
Something is returned","result_output":"json"}'
|
104
|
+
http_version:
|
105
|
+
recorded_at: Thu, 11 Aug 2016 08:19:07 GMT
|
106
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,102 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: "<API_ENDPOINT>/?api_action=list_view&api_key=<API_KEY>&api_output=json&id=1"
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- ActiveCampaign Ruby Gem 0.1.13
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 302
|
19
|
+
message: Found
|
20
|
+
headers:
|
21
|
+
X-Powered-By:
|
22
|
+
- PHP/5.3.3
|
23
|
+
Set-Cookie:
|
24
|
+
- PHPSESSID=n4r7a65tfahaitchoc2opqo3j3; path=/
|
25
|
+
- em_acp_globalauth_cookie=deleted; expires=Wed, 12-Aug-2015 07:54:07 GMT; path=/;
|
26
|
+
domain=zoolutions.api-us1.com
|
27
|
+
Expires:
|
28
|
+
- Thu, 19 Nov 1981 08:52:00 GMT
|
29
|
+
Cache-Control:
|
30
|
+
- no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
31
|
+
Pragma:
|
32
|
+
- no-cache
|
33
|
+
Location:
|
34
|
+
- http://zoolutions.activehosted.com
|
35
|
+
Vary:
|
36
|
+
- Accept-Encoding
|
37
|
+
Content-Type:
|
38
|
+
- text/html
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
Date:
|
42
|
+
- Thu, 11 Aug 2016 07:54:08 GMT
|
43
|
+
Server:
|
44
|
+
- lighttpd/1.4.37
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: ''
|
48
|
+
http_version:
|
49
|
+
recorded_at: Thu, 11 Aug 2016 07:54:08 GMT
|
50
|
+
- request:
|
51
|
+
method: get
|
52
|
+
uri: "<API_ENDPOINT>?api_action=list_view&api_key=<API_KEY>&api_output=json&id=1"
|
53
|
+
body:
|
54
|
+
encoding: US-ASCII
|
55
|
+
string: ''
|
56
|
+
headers:
|
57
|
+
User-Agent:
|
58
|
+
- ActiveCampaign Ruby Gem 0.1.13
|
59
|
+
Accept-Encoding:
|
60
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
61
|
+
Accept:
|
62
|
+
- "*/*"
|
63
|
+
response:
|
64
|
+
status:
|
65
|
+
code: 200
|
66
|
+
message: OK
|
67
|
+
headers:
|
68
|
+
X-Powered-By:
|
69
|
+
- PHP/5.3.3
|
70
|
+
Set-Cookie:
|
71
|
+
- PHPSESSID=kkjvn5o5597m11scubeb74igg4; path=/
|
72
|
+
- em_acp_globalauth_cookie=c6ead9798fb11b728939168ee2d579611; path=/; domain=zoolutions.api-us1.com;
|
73
|
+
secure
|
74
|
+
- em_acp_globalauth_cookie=deleted; expires=Wed, 12-Aug-2015 08:19:03 GMT; path=/;
|
75
|
+
domain=zoolutions.api-us1.com
|
76
|
+
Expires:
|
77
|
+
- Thu, 19 Nov 1981 08:52:00 GMT
|
78
|
+
Pragma:
|
79
|
+
- no-cache
|
80
|
+
Content-Type:
|
81
|
+
- application/json; charset=utf-8
|
82
|
+
Cache-Control:
|
83
|
+
- no-store, max-age=0, must-revalidate
|
84
|
+
Transfer-Encoding:
|
85
|
+
- chunked
|
86
|
+
Date:
|
87
|
+
- Thu, 11 Aug 2016 08:19:04 GMT
|
88
|
+
Server:
|
89
|
+
- lighttpd/1.4.37
|
90
|
+
body:
|
91
|
+
encoding: UTF-8
|
92
|
+
string: '{"id":"1","stringid":"swedish-players","userid":"1","name":"Swedish
|
93
|
+
Players","cdate":"2016-08-11 10:02:18","p_use_tracking":"1","p_use_analytics_read":"0","p_use_analytics_link":"0","p_use_twitter":"0","p_use_facebook":"0","p_embed_image":"1","p_use_captcha":"1","send_last_broadcast":"0","private":"0","analytics_domains":null,"analytics_source":"","analytics_ua":"","twitter_token":"","twitter_token_secret":"","facebook_session":"","carboncopy":"mikael@zoolutions.se","subscription_notify":"mikael@zoolutions.se","unsubscription_notify":"mikael@zoolutions.se","require_name":"0","get_unsubscribe_reason":"0","to_name":"Subscriber","optinoptout":"1","sender_name":"Zoolutions%20AB","sender_addr1":"%C3%96sterv%C3%A5ngsplan%2015","sender_addr2":"","sender_city":"Landskrona","sender_state":"","sender_zip":"26144","sender_country":"SE","sender_phone":"","sender_url":"","sender_reminder":"","fulladdress":"Zoolutions%20AB,
|
94
|
+
%C3%96sterv%C3%A5ngsplan%2015, Landskrona 26144, Sweden","optinmessageid":"0","optoutconf":"0","deletestamp":null,"listid":"1","p_admin":"1","p_list_add":"1","p_list_edit":"1","p_list_delete":"1","p_list_sync":"1","p_list_filter":"1","p_message_add":"1","p_message_edit":"1","p_message_delete":"1","p_message_send":"1","p_subscriber_add":"1","p_subscriber_edit":"1","p_subscriber_delete":"1","p_subscriber_import":"1","p_subscriber_approve":"1","luserid":"1","subscribers":"1","subscribers_active":"1","fields":[],"groups":{"3":{"id":"3","title":"Admin","descript":"This
|
95
|
+
is a group for admin users (people that can manage content)","unsubscribelink":"0","optinconfirm":"0","p_admin":"1","pg_list_add":"1","pg_list_edit":"1","pg_list_delete":"1","pg_list_headers":"1","pg_list_emailaccount":"1","pg_list_bounce":"1","pg_message_add":"1","pg_message_edit":"1","pg_message_delete":"1","pg_message_send":"1","pg_subscriber_add":"1","pg_subscriber_edit":"1","pg_subscriber_delete":"1","pg_subscriber_import":"1","pg_subscriber_approve":"1","pg_subscriber_export":"1","pg_subscriber_sync":"1","pg_subscriber_filters":"1","pg_subscriber_actions":"0","pg_subscriber_fields":"1","pg_user_add":"1","pg_user_edit":"1","pg_user_delete":"1","pg_group_add":"1","pg_group_edit":"1","pg_group_delete":"1","pg_template_add":"1","pg_template_edit":"1","pg_template_delete":"1","pg_personalization_add":"1","pg_personalization_edit":"1","pg_personalization_delete":"1","pg_form_edit":"1","pg_reports_campaign":"1","pg_reports_list":"1","pg_reports_user":"1","pg_reports_trend":"1","pg_startup_reports":"1","pg_startup_gettingstarted":"1","sdate":"2016-08-10
|
96
|
+
20:15:54","req_approval":"0","req_approval_1st":"2","req_approval_notify":"","socialdata":"0","listid":"1","groupid":"3","p_list_add":"0","p_list_edit":"0","p_list_delete":"0","p_list_sync":"1","p_list_filter":"1","p_message_add":"1","p_message_edit":"1","p_message_delete":"1","p_message_send":"1","p_subscriber_add":"1","p_subscriber_edit":"1","p_subscriber_delete":"1","p_subscriber_import":"1","p_subscriber_approve":"1"},"1":{"id":"1","title":"Visitor","descript":"This
|
97
|
+
is a group for site visitors (people that are not logged in)","unsubscribelink":"0","optinconfirm":"0","p_admin":"0","pg_list_add":"0","pg_list_edit":"0","pg_list_delete":"0","pg_list_headers":"0","pg_list_emailaccount":"0","pg_list_bounce":"0","pg_message_add":"0","pg_message_edit":"0","pg_message_delete":"0","pg_message_send":"0","pg_subscriber_add":"0","pg_subscriber_edit":"0","pg_subscriber_delete":"0","pg_subscriber_import":"0","pg_subscriber_approve":"0","pg_subscriber_export":"0","pg_subscriber_sync":"0","pg_subscriber_filters":"0","pg_subscriber_actions":"0","pg_subscriber_fields":"0","pg_user_add":"0","pg_user_edit":"0","pg_user_delete":"0","pg_group_add":"0","pg_group_edit":"0","pg_group_delete":"0","pg_template_add":"0","pg_template_edit":"0","pg_template_delete":"0","pg_personalization_add":"0","pg_personalization_edit":"0","pg_personalization_delete":"0","pg_form_edit":"0","pg_reports_campaign":"0","pg_reports_list":"0","pg_reports_user":"0","pg_reports_trend":"0","pg_startup_reports":"0","pg_startup_gettingstarted":"0","sdate":"2016-08-10
|
98
|
+
20:15:54","req_approval":"0","req_approval_1st":"2","req_approval_notify":"","socialdata":"0","listid":"1","groupid":"1","p_list_add":"0","p_list_edit":"0","p_list_delete":"0","p_list_sync":"0","p_list_filter":"0","p_message_add":"0","p_message_edit":"0","p_message_delete":"0","p_message_send":"0","p_subscriber_add":"0","p_subscriber_edit":"0","p_subscriber_delete":"0","p_subscriber_import":"0","p_subscriber_approve":"0"}},"groupsCnt":2,"bounces":[{"id":"1","userid":"1","type":"pipe","email":"bounce-289042@s11.avl3.acemsrvc.com","host":null,"port":"110","user":null,"pass":null,"method":"","limit_hard":"1","limit_soft":"3","emails_per_batch":"120"}],"analytics_domains_list":[],"facebook_oauth_logout_url":"","facebook_oauth_login_url":"https:\/\/www.facebook.com\/v2.6\/dialog\/oauth?client_id=118506481555093&redirect_uri=https%3A%2F%2Fzoolutions.api-us1.com%2Fadmin%2Fmain.php%3Faction%3Dlist%26formid%3D1&scope=publish_actions,manage_pages","facebook_oauth_me":null,"result_code":1,"result_message":"Success:
|
99
|
+
Something is returned","result_output":"json"}'
|
100
|
+
http_version:
|
101
|
+
recorded_at: Thu, 11 Aug 2016 08:19:05 GMT
|
102
|
+
recorded_with: VCR 3.0.3
|
@@ -11,7 +11,7 @@ describe ActiveCampaign::Client::Contacts, :vcr do
|
|
11
11
|
'email' => 'mhenrixon@me.com',
|
12
12
|
'first_name' => 'Mikael',
|
13
13
|
'last_name' => 'Henriksson',
|
14
|
-
'p' => { 1 =>
|
14
|
+
'p' => { 1 => 7 },
|
15
15
|
'status' => { 1 => 1 },
|
16
16
|
'instantresponders' => { 1 => 1 },
|
17
17
|
'ip4' => '127.0.0.1'
|
@@ -23,18 +23,28 @@ describe ActiveCampaign::Client::Contacts, :vcr do
|
|
23
23
|
subject(:response) { @client.contact_sync params }
|
24
24
|
|
25
25
|
it 'returns 1 for result_code' do
|
26
|
-
expect(response
|
26
|
+
expect(response['result_code']).to eq 1
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '.contact_add' do
|
32
|
+
context 'when successful' do
|
33
|
+
subject(:response) { @client.contact_add params }
|
34
|
+
|
35
|
+
it 'returns 1 for result_code' do
|
36
|
+
expect(response['result_code']).to eq 1
|
27
37
|
end
|
28
38
|
end
|
29
39
|
end
|
30
40
|
|
31
41
|
describe '.contact_view' do
|
32
|
-
let(:subscriber_id) { @client.contact_sync(params)
|
42
|
+
let(:subscriber_id) { @client.contact_sync(params)['subscriber_id'] }
|
33
43
|
|
34
44
|
it 'can find contact by id' do
|
35
45
|
contact = @client.contact_view id: subscriber_id
|
36
|
-
expect(contact
|
37
|
-
expect(contact
|
46
|
+
expect(contact['first_name']).to eq 'Mikael'
|
47
|
+
expect(contact['last_name']).to eq 'Henriksson'
|
38
48
|
end
|
39
49
|
end
|
40
50
|
end
|
@@ -4,35 +4,43 @@ require 'spec_helper'
|
|
4
4
|
describe ActiveCampaign::Client::Lists, :vcr do
|
5
5
|
initialize_new_client
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
describe '.list_add' do
|
8
|
+
it 'add a list' do
|
9
|
+
params = {
|
10
|
+
'name' => 'Swedish Players',
|
11
|
+
'stringid' => 'swedish-players',
|
12
|
+
'subscription_notify' => 'mikael@zoolutions.se',
|
13
|
+
'unsubscription_notify' => 'mikael@zoolutions.se',
|
14
|
+
'to_name' => 'Recipient',
|
15
|
+
'carboncopy' => 'mikael@zoolutions.se',
|
16
|
+
'sender_name' => 'Zoolutions%20AB',
|
17
|
+
'sender_addr1' => '%C3%96sterv%C3%A5ngsplan%2015',
|
18
|
+
'sender_city' => 'Landskrona',
|
19
|
+
'sender_zip' => '26144',
|
20
|
+
'sender_country' => 'Sweden',
|
21
|
+
'p_use_captcha' => 0,
|
22
|
+
'get_unsubscribe_reason' => 1,
|
23
|
+
'send_last_broadcast' => 1,
|
24
|
+
'require_name' => 1,
|
25
|
+
'private' => 0
|
26
|
+
}
|
21
27
|
|
22
|
-
|
23
|
-
|
28
|
+
list = @client.list_add params
|
29
|
+
expect(list['id']).to be_a(Integer)
|
30
|
+
end
|
31
|
+
end
|
24
32
|
|
25
33
|
describe '.list_view' do
|
26
34
|
it 'can find lists by id' do
|
27
35
|
list = @client.list_view id: 1
|
28
|
-
expect(list
|
36
|
+
expect(list['name']).to eq 'Swedish Players'
|
29
37
|
end
|
30
38
|
end
|
31
39
|
|
32
40
|
describe '.list_list' do
|
33
41
|
it 'can find a list of lists' do
|
34
42
|
lists = @client.list_list 'ids' => 'all'
|
35
|
-
expect(lists
|
43
|
+
expect(lists['results'][0]['name']).to eq 'Swedish Players'
|
36
44
|
end
|
37
45
|
end
|
38
46
|
end
|
@@ -50,11 +50,11 @@ describe ActiveCampaign do
|
|
50
50
|
|
51
51
|
describe '.configure' do
|
52
52
|
ActiveCampaign.config.to_h.keys.each do |key|
|
53
|
-
it "sets the #{key.to_s.
|
53
|
+
it "sets the #{key.to_s.tr('_', ' ')}" do
|
54
54
|
ActiveCampaign.configure do |config|
|
55
55
|
config.send("#{key}=", key)
|
56
56
|
end
|
57
|
-
expect(ActiveCampaign.
|
57
|
+
expect(ActiveCampaign.config.send(key)).to eq key
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
-
|
1
|
+
require 'simplecov'
|
2
2
|
|
3
3
|
require 'pry'
|
4
4
|
require 'rspec'
|
5
5
|
require 'active_campaign'
|
6
|
+
require_relative 'support/webmock'
|
7
|
+
require_relative 'support/vcr'
|
8
|
+
|
9
|
+
TEST_API_ENDPOINT ||= 'https://zoolutions.api-us1.com/admin/api.php'.freeze
|
10
|
+
TEST_API_KEY ||= '1b85f597c38b74fc842a04efe00f10d547a839487dcb05e2c639e92c450d53a366d96f84'.freeze
|
6
11
|
|
7
12
|
RSpec.configure do |config|
|
8
13
|
config.filter_run focus: true
|
@@ -13,29 +18,22 @@ RSpec.configure do |config|
|
|
13
18
|
end
|
14
19
|
|
15
20
|
config.before(:suite) do
|
16
|
-
HTTPI.log
|
21
|
+
HTTPI.log = false
|
22
|
+
HTTPI.logger = nil
|
17
23
|
HTTPI.log_level = :fatal
|
18
24
|
end
|
19
25
|
end
|
20
26
|
|
21
|
-
def
|
22
|
-
ENV.fetch 'ACTIVE_CAMPAIGN_API_ENDPOINT'
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_api_key
|
26
|
-
ENV.fetch 'ACTIVE_CAMPAIGN_API_KEY'
|
27
|
-
end
|
28
|
-
|
29
|
-
def initialize_new_client
|
27
|
+
def initialize_new_client # rubocop:disable MethodLength
|
30
28
|
before do
|
31
29
|
@client = ActiveCampaign::Client.new(
|
32
|
-
api_endpoint:
|
33
|
-
api_key:
|
30
|
+
api_endpoint: TEST_API_ENDPOINT,
|
31
|
+
api_key: TEST_API_KEY,
|
34
32
|
api_output: 'json',
|
35
33
|
debug: false,
|
36
34
|
log_level: :fatal,
|
37
35
|
log: false,
|
38
|
-
mash:
|
36
|
+
mash: false
|
39
37
|
)
|
40
38
|
end
|
41
39
|
end
|
data/spec/support/coverage.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
-
require 'simplecov'
|
1
|
+
require 'simplecov-json'
|
2
2
|
require 'coveralls'
|
3
3
|
Coveralls.wear!
|
4
4
|
|
5
5
|
require 'codeclimate-test-reporter'
|
6
|
-
formatters =
|
6
|
+
formatters = [
|
7
|
+
SimpleCov::Formatter::HTMLFormatter,
|
8
|
+
SimpleCov::Formatter::JSONFormatter,
|
9
|
+
Coveralls::SimpleCov::Formatter
|
10
|
+
]
|
7
11
|
|
8
12
|
if ENV['CODECLIMATE_REPO_TOKEN']
|
9
13
|
formatters << CodeClimate::TestReporter::Formatter
|