sendgrid4r 1.8.1 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -2
  3. data/README.md +1 -0
  4. data/lib/sendgrid4r/factory/campaign_factory.rb +18 -5
  5. data/lib/sendgrid4r/factory/condition_factory.rb +1 -1
  6. data/lib/sendgrid4r/factory/mail_factory.rb +57 -0
  7. data/lib/sendgrid4r/factory/segment_factory.rb +2 -5
  8. data/lib/sendgrid4r/factory/version_factory.rb +1 -1
  9. data/lib/sendgrid4r/rest/api.rb +48 -49
  10. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +75 -0
  11. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +31 -0
  12. data/lib/sendgrid4r/rest/blocks.rb +49 -68
  13. data/lib/sendgrid4r/rest/bounces.rb +45 -64
  14. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +53 -72
  15. data/lib/sendgrid4r/rest/categories.rb +31 -0
  16. data/lib/sendgrid4r/rest/email_activity.rb +72 -0
  17. data/lib/sendgrid4r/rest/invalid_emails.rb +50 -68
  18. data/lib/sendgrid4r/rest/ip_access_management.rb +86 -111
  19. data/lib/sendgrid4r/rest/ips/addresses.rb +50 -59
  20. data/lib/sendgrid4r/rest/ips/pools.rb +42 -53
  21. data/lib/sendgrid4r/rest/ips/warmup.rb +46 -55
  22. data/lib/sendgrid4r/rest/mail/address.rb +14 -0
  23. data/lib/sendgrid4r/rest/mail/attachment.rb +22 -0
  24. data/lib/sendgrid4r/rest/mail/content.rb +10 -0
  25. data/lib/sendgrid4r/rest/mail/mail.rb +28 -0
  26. data/lib/sendgrid4r/rest/mail/mail_settings.rb +62 -0
  27. data/lib/sendgrid4r/rest/mail/params.rb +64 -0
  28. data/lib/sendgrid4r/rest/mail/personalization.rb +33 -0
  29. data/lib/sendgrid4r/rest/mail/tracking_settings.rb +74 -0
  30. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/custom_fields.rb +12 -27
  31. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/lists.rb +20 -34
  32. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +134 -0
  33. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/reserved_fields.rb +6 -9
  34. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +86 -0
  35. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +119 -0
  36. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +101 -0
  37. data/lib/sendgrid4r/rest/request.rb +61 -63
  38. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +23 -26
  39. data/lib/sendgrid4r/rest/settings/mail.rb +167 -183
  40. data/lib/sendgrid4r/rest/settings/partner.rb +33 -36
  41. data/lib/sendgrid4r/rest/settings/settings.rb +17 -22
  42. data/lib/sendgrid4r/rest/settings/tracking.rb +97 -107
  43. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +52 -60
  44. data/lib/sendgrid4r/rest/sm/groups.rb +52 -58
  45. data/lib/sendgrid4r/rest/sm/sm.rb +15 -17
  46. data/lib/sendgrid4r/rest/sm/suppressions.rb +50 -67
  47. data/lib/sendgrid4r/rest/spam_reports.rb +49 -69
  48. data/lib/sendgrid4r/rest/stats/advanced.rb +100 -102
  49. data/lib/sendgrid4r/rest/stats/category.rb +31 -33
  50. data/lib/sendgrid4r/rest/stats/global.rb +17 -19
  51. data/lib/sendgrid4r/rest/stats/parse.rb +18 -20
  52. data/lib/sendgrid4r/rest/stats/stats.rb +59 -69
  53. data/lib/sendgrid4r/rest/stats/subuser.rb +70 -32
  54. data/lib/sendgrid4r/rest/subusers.rb +106 -134
  55. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +63 -0
  56. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +90 -0
  57. data/lib/sendgrid4r/rest/users.rb +125 -57
  58. data/lib/sendgrid4r/rest/webhooks/event.rb +36 -42
  59. data/lib/sendgrid4r/rest/webhooks/parse.rb +28 -37
  60. data/lib/sendgrid4r/rest/whitelabel/domains.rb +176 -222
  61. data/lib/sendgrid4r/rest/whitelabel/ips.rb +107 -128
  62. data/lib/sendgrid4r/rest/whitelabel/links.rb +131 -167
  63. data/lib/sendgrid4r/version.rb +1 -1
  64. data/lib/sendgrid4r.rb +23 -13
  65. data/sendgrid4r.gemspec +1 -1
  66. data/spec/client_spec.rb +12 -1
  67. data/spec/factory/campaign_factory_spec.rb +75 -35
  68. data/spec/factory/condition_factory_spec.rb +19 -18
  69. data/spec/factory/segment_factory_spec.rb +28 -21
  70. data/spec/factory/version_factory_spec.rb +28 -27
  71. data/spec/photo.jpg +0 -0
  72. data/spec/rest/api_keys_management/api_keys_spec.rb +174 -0
  73. data/spec/rest/api_keys_management/permissions_spec.rb +54 -0
  74. data/spec/rest/blocks_spec.rb +78 -106
  75. data/spec/rest/bounces_spec.rb +91 -118
  76. data/spec/rest/cancel_scheduled_sends_spec.rb +94 -149
  77. data/spec/rest/categories_spec.rb +77 -0
  78. data/spec/rest/email_activity_spec.rb +151 -0
  79. data/spec/rest/invalid_emails_spec.rb +85 -119
  80. data/spec/rest/ip_access_management_spec.rb +157 -195
  81. data/spec/rest/ips/addresses_spec.rb +94 -122
  82. data/spec/rest/ips/pools_spec.rb +84 -112
  83. data/spec/rest/ips/warmup_spec.rb +63 -71
  84. data/spec/rest/mail/address_spec.rb +28 -0
  85. data/spec/rest/mail/attachment_spec.rb +48 -0
  86. data/spec/rest/mail/content_spec.rb +32 -0
  87. data/spec/rest/mail/mail_settings_spec.rb +51 -0
  88. data/spec/rest/mail/mail_spec.rb +136 -0
  89. data/spec/rest/mail/params_spec.rb +152 -0
  90. data/spec/rest/mail/personalization_spec.rb +66 -0
  91. data/spec/rest/mail/tracking_settings_spec.rb +63 -0
  92. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +146 -0
  93. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +307 -0
  94. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +331 -0
  95. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +119 -0
  96. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +268 -0
  97. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +427 -0
  98. data/spec/rest/marketing_campaigns/senders_spec.rb +230 -0
  99. data/spec/rest/settings/enforced_tls_spec.rb +38 -54
  100. data/spec/rest/settings/mail_spec.rb +227 -330
  101. data/spec/rest/settings/partner_spec.rb +40 -59
  102. data/spec/rest/settings/settings_spec.rb +44 -42
  103. data/spec/rest/settings/tracking_spec.rb +130 -189
  104. data/spec/rest/sm/global_unsubscribes_spec.rb +47 -72
  105. data/spec/rest/sm/groups_spec.rb +88 -123
  106. data/spec/rest/sm/sm_spec.rb +32 -30
  107. data/spec/rest/sm/suppressions_spec.rb +105 -140
  108. data/spec/rest/spam_reports_spec.rb +81 -109
  109. data/spec/rest/stats/advanced_spec.rb +67 -125
  110. data/spec/rest/stats/category_spec.rb +27 -45
  111. data/spec/rest/stats/global_spec.rb +34 -42
  112. data/spec/rest/stats/parse_spec.rb +32 -30
  113. data/spec/rest/stats/stats_spec.rb +174 -172
  114. data/spec/rest/stats/subuser_spec.rb +97 -57
  115. data/spec/rest/subusers_spec.rb +156 -209
  116. data/spec/rest/transactional_templates/templates_spec.rb +199 -0
  117. data/spec/rest/transactional_templates/versions_spec.rb +228 -0
  118. data/spec/rest/users_spec.rb +176 -91
  119. data/spec/rest/webhooks/event_spec.rb +59 -85
  120. data/spec/rest/webhooks/parse_spec.rb +51 -71
  121. data/spec/rest/whitelabel/domains_spec.rb +333 -513
  122. data/spec/rest/whitelabel/ips_spec.rb +109 -147
  123. data/spec/rest/whitelabel/links_spec.rb +181 -265
  124. metadata +70 -40
  125. data/lib/sendgrid4r/rest/api_keys/api_keys.rb +0 -80
  126. data/lib/sendgrid4r/rest/api_keys/permissions.rb +0 -33
  127. data/lib/sendgrid4r/rest/campaigns/campaigns.rb +0 -126
  128. data/lib/sendgrid4r/rest/categories/categories.rb +0 -43
  129. data/lib/sendgrid4r/rest/contacts/recipients.rb +0 -150
  130. data/lib/sendgrid4r/rest/contacts/segments.rb +0 -97
  131. data/lib/sendgrid4r/rest/email_activity/email_activity.rb +0 -81
  132. data/lib/sendgrid4r/rest/templates/templates.rb +0 -69
  133. data/lib/sendgrid4r/rest/templates/versions.rb +0 -95
  134. data/spec/rest/api_keys/api_keys_spec.rb +0 -210
  135. data/spec/rest/api_keys/permissions_spec.rb +0 -65
  136. data/spec/rest/campaigns/campaigns_spec.rb +0 -492
  137. data/spec/rest/categories/categories_spec.rb +0 -96
  138. data/spec/rest/contacts/custom_fields_spec.rb +0 -174
  139. data/spec/rest/contacts/lists_spec.rb +0 -372
  140. data/spec/rest/contacts/recipients_spec.rb +0 -343
  141. data/spec/rest/contacts/reserved_fields_spec.rb +0 -146
  142. data/spec/rest/contacts/segments_spec.rb +0 -307
  143. data/spec/rest/email_activity/email_activity_spec.rb +0 -179
  144. data/spec/rest/templates/templates_spec.rb +0 -222
  145. data/spec/rest/templates/versions_spec.rb +0 -252
@@ -1,174 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/../../spec_helper'
3
-
4
- describe SendGrid4r::REST::Contacts::CustomFields do
5
- describe 'integration test', :it do
6
- before do
7
- begin
8
- Dotenv.load
9
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
10
- @name1 = 'birthday'
11
- @type1 = 'text'
12
- @name2 = 'born_at'
13
- @type2 = 'date'
14
-
15
- # celan up test env
16
- fields = @client.get_custom_fields
17
- fields.custom_fields.each do |field|
18
- next if field.name != @name1 && field.name != @name2
19
- @client.delete_custom_field(custom_field_id: field.id)
20
- end
21
- # post a custom field
22
- @new_field = @client.post_custom_field(name: @name1, type: @type1)
23
- rescue RestClient::ExceptionWithResponse => e
24
- puts e.inspect
25
- raise e
26
- end
27
- end
28
-
29
- context 'without block call' do
30
- it '#post_custom_field' do
31
- begin
32
- new_field = @client.post_custom_field(name: @name2, type: @type2)
33
- expect(new_field.id).to be_a(Fixnum)
34
- expect(new_field.name).to eq(@name2)
35
- expect(new_field.type).to eq(@type2)
36
- rescue RestClient::ExceptionWithResponse => e
37
- puts e.inspect
38
- raise e
39
- end
40
- end
41
-
42
- it '#post_custom_field for same key' do
43
- begin
44
- expect do
45
- @client.post_custom_field(name: @name1, type: @type1)
46
- end.to raise_error(RestClient::BadRequest)
47
- rescue RestClient::ExceptionWithResponse => e
48
- puts e.inspect
49
- raise e
50
- end
51
- end
52
-
53
- it '#get_custom_fields' do
54
- begin
55
- fields = @client.get_custom_fields
56
- expect(fields.length).to be >= 1
57
- fields.custom_fields.each do |field|
58
- next if field.name != @name1
59
- expect(field.id).to eq(@new_field.id)
60
- expect(field.name).to eq(@new_field.name)
61
- expect(field.type).to eq(@new_field.type)
62
- end
63
- rescue RestClient::ExceptionWithResponse => e
64
- puts e.inspect
65
- raise e
66
- end
67
- end
68
-
69
- it '#get_custom_field' do
70
- begin
71
- actual_field = @client.get_custom_field(
72
- custom_field_id: @new_field.id
73
- )
74
- expect(actual_field.id).to eq(@new_field.id)
75
- expect(actual_field.name).to eq(@new_field.name)
76
- expect(actual_field.type).to eq(@new_field.type)
77
- rescue RestClient::ExceptionWithResponse => e
78
- puts e.inspect
79
- raise e
80
- end
81
- end
82
-
83
- it '#delete_custom_field' do
84
- begin
85
- @client.delete_custom_field(custom_field_id: @new_field.id)
86
- rescue RestClient::ExceptionWithResponse => e
87
- puts e.inspect
88
- raise e
89
- end
90
- end
91
- end
92
- end
93
-
94
- describe 'unit test', :ut do
95
- let(:client) do
96
- SendGrid4r::Client.new(api_key: '')
97
- end
98
-
99
- let(:field) do
100
- JSON.parse(
101
- '{'\
102
- '"id": 1,'\
103
- '"name": "pet",'\
104
- '"type": "text"'\
105
- '}'
106
- )
107
- end
108
-
109
- let(:fields) do
110
- JSON.parse(
111
- '{'\
112
- '"custom_fields": ['\
113
- '{'\
114
- '"id": 1,'\
115
- '"name": "birthday",'\
116
- '"type": "date"'\
117
- '},'\
118
- '{'\
119
- '"id": 2,'\
120
- '"name": "middle_name",'\
121
- '"type": "text"'\
122
- '},'\
123
- '{'\
124
- '"id": 3,'\
125
- '"name": "favorite_number",'\
126
- '"type": "number"'\
127
- '}'\
128
- ']'\
129
- '}'
130
- )
131
- end
132
-
133
- it '#post_custom_field' do
134
- allow(client).to receive(:execute).and_return(field)
135
- actual = client.post_custom_field(name: '', type: '')
136
- expect(actual).to be_a(SendGrid4r::REST::Contacts::CustomFields::Field)
137
- end
138
-
139
- it '#get_custom_fields' do
140
- allow(client).to receive(:execute).and_return(fields)
141
- actual = client.get_custom_fields
142
- expect(actual).to be_a(SendGrid4r::REST::Contacts::CustomFields::Fields)
143
- end
144
-
145
- it '#get_custom_field' do
146
- allow(client).to receive(:execute).and_return(field)
147
- actual = client.get_custom_field(custom_field_id: 0)
148
- expect(actual).to be_a(SendGrid4r::REST::Contacts::CustomFields::Field)
149
- end
150
-
151
- it '#delete_custom_field' do
152
- allow(client).to receive(:execute).and_return('')
153
- actual = client.delete_custom_field(custom_field_id: 0)
154
- expect(actual).to eq('')
155
- end
156
-
157
- it 'creates field instance' do
158
- actual = SendGrid4r::REST::Contacts::CustomFields.create_field(field)
159
- expect(actual).to be_a(SendGrid4r::REST::Contacts::CustomFields::Field)
160
- expect(actual.id).to eq(1)
161
- expect(actual.name).to eq('pet')
162
- expect(actual.type).to eq('text')
163
- end
164
-
165
- it 'creates fields instance' do
166
- actual = SendGrid4r::REST::Contacts::CustomFields.create_fields(fields)
167
- expect(actual).to be_a(SendGrid4r::REST::Contacts::CustomFields::Fields)
168
- expect(actual.custom_fields).to be_a(Array)
169
- actual.custom_fields.each do |field|
170
- expect(field).to be_a(SendGrid4r::REST::Contacts::CustomFields::Field)
171
- end
172
- end
173
- end
174
- end
@@ -1,372 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/../../spec_helper'
3
-
4
- describe SendGrid4r::REST::Contacts::Lists do
5
- describe 'integration test', :it do
6
- before do
7
- begin
8
- Dotenv.load
9
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
10
- @list_name1 = 'test_list1'
11
- @edit_name1 = 'test_list1_edit'
12
- @list_name2 = 'test_list2'
13
- @email1 = 'jones@example.com'
14
- @email2 = 'miller@example.com'
15
- @last_name1 = 'Jones'
16
- @last_name2 = 'Miller'
17
- @pet1 = 'Fluffy'
18
- @pet2 = 'FrouFrou'
19
-
20
- # celan up test env(lists)
21
- lists = @client.get_lists
22
- lists.lists.each do |list|
23
- @client.delete_list(list_id: list.id) if list.name == @list_name1
24
- @client.delete_list(list_id: list.id) if list.name == @edit_name1
25
- @client.delete_list(list_id: list.id) if list.name == @list_name2
26
- end
27
- # celan up test env(recipients)
28
- recipients = @client.get_recipients
29
- recipients.recipients.each do |recipient|
30
- @client.delete_recipient(
31
- recipient_id: recipient.id
32
- ) if recipient.email == @email1
33
- @client.delete_recipient(
34
- recipient_id: recipient.id
35
- ) if recipient.email == @email2
36
- end
37
- # post a first list
38
- @list1 = @client.post_list(name: @list_name1)
39
- # add multiple recipients
40
- recipient1 = {}
41
- recipient1['email'] = @email1
42
- recipient1['last_name'] = @last_name1
43
- recipient2 = {}
44
- recipient2['email'] = @email2
45
- recipient2['last_name'] = @last_name2
46
- result = @client.post_recipients(params: [recipient1, recipient2])
47
- @recipients = result.persisted_recipients
48
- @client.post_recipient_to_list(
49
- list_id: @list1.id, recipient_id: result.persisted_recipients[0]
50
- )
51
- @client.post_recipient_to_list(
52
- list_id: @list1.id, recipient_id: result.persisted_recipients[1]
53
- )
54
- rescue RestClient::ExceptionWithResponse => e
55
- puts e.inspect
56
- raise e
57
- end
58
- end
59
-
60
- context 'without block call' do
61
- it '#post_list' do
62
- begin
63
- list2 = @client.post_list(name: @list_name2)
64
- expect(list2.id).to be_a(Fixnum)
65
- expect(list2.name).to eq(@list_name2)
66
- expect(list2.recipient_count).to eq(0)
67
- @client.delete_list(list_id: list2.id)
68
- rescue RestClient::ExceptionWithResponse => e
69
- puts e.inspect
70
- raise e
71
- end
72
- end
73
-
74
- it '#post_list for same key' do
75
- begin
76
- expect do
77
- @client.post_list(name: @list_name1)
78
- end.to raise_error(RestClient::BadRequest)
79
- rescue RestClient::ExceptionWithResponse => e
80
- puts e.inspect
81
- raise e
82
- end
83
- end
84
-
85
- it '#get_lists' do
86
- begin
87
- lists = @client.get_lists
88
- expect(lists.length).to be >= 1
89
- lists.lists.each do |list|
90
- next if list.name != @list_name1
91
- expect(list.id).to eq(@list1.id)
92
- expect(list.name).to eq(@list1.name)
93
- expect(list.recipient_count).to be_a(Fixnum)
94
- end
95
- rescue RestClient::ExceptionWithResponse => e
96
- puts e.inspect
97
- raise e
98
- end
99
- end
100
-
101
- it '#get_list' do
102
- begin
103
- actual_list = @client.get_list(list_id: @list1.id)
104
- expect(actual_list.id).to eq(@list1.id)
105
- expect(actual_list.name).to eq(@list1.name)
106
- expect(actual_list.recipient_count).to be_a(Fixnum)
107
- rescue RestClient::ExceptionWithResponse => e
108
- puts e.inspect
109
- raise e
110
- end
111
- end
112
-
113
- it '#patch_list' do
114
- begin
115
- edit_list = @client.patch_list(list_id: @list1.id, name: @edit_name1)
116
- expect(edit_list.id).to eq(@list1.id)
117
- expect(edit_list.name).to eq(@edit_name1)
118
- rescue RestClient::ExceptionWithResponse => e
119
- puts e.inspect
120
- raise e
121
- end
122
- end
123
-
124
- it '#get_recipients_from_list' do
125
- begin
126
- recipients = @client.get_recipients_from_list(list_id: @list1.id)
127
- recipients.recipients.each do |recipient|
128
- expect(
129
- recipient
130
- ).to be_a(SendGrid4r::REST::Contacts::Recipients::Recipient)
131
- end
132
- rescue RestClient::ExceptionWithResponse => e
133
- puts e.inspect
134
- raise e
135
- end
136
- end
137
-
138
- it '#get_recipients_from_list with offset & limit' do
139
- begin
140
- recipients = @client.get_recipients_from_list(
141
- list_id: @list1.id, page: 1, page_size: 10
142
- )
143
- recipients.recipients.each do |recipient|
144
- expect(
145
- recipient
146
- ).to be_a(SendGrid4r::REST::Contacts::Recipients::Recipient)
147
- end
148
- rescue RestClient::ExceptionWithResponse => e
149
- puts e.inspect
150
- raise e
151
- end
152
- end
153
-
154
- it '#delete_recipient_from_list' do
155
- begin
156
- @client.delete_recipient_from_list(
157
- list_id: @list1.id, recipient_id: @recipients[0]
158
- )
159
- rescue RestClient::ExceptionWithResponse => e
160
- puts e.inspect
161
- raise e
162
- end
163
- end
164
-
165
- it '#delete_list' do
166
- begin
167
- @client.delete_list(list_id: @list1.id)
168
- expect do
169
- @client.get_list(list_id: @list1.id)
170
- end.to raise_error(RestClient::ResourceNotFound)
171
- rescue RestClient::ExceptionWithResponse => e
172
- puts e.inspect
173
- raise e
174
- end
175
- end
176
-
177
- it '#delete_lists' do
178
- begin
179
- list2 = @client.post_list(name: @list_name2)
180
- @client.delete_lists(list_ids: [@list1.id, list2.id])
181
- rescue RestClient::ExceptionWithResponse => e
182
- puts e.inspect
183
- raise e
184
- end
185
- end
186
-
187
- it '#post_recipients_to_list' do
188
- begin
189
- @client.post_recipients_to_list(
190
- list_id: @list1.id, recipients: @recipients
191
- )
192
- rescue RestClient::ExceptionWithResponse => e
193
- puts e.inspect
194
- raise e
195
- end
196
- end
197
-
198
- it '#post_recipient_to_list' do
199
- begin
200
- recipient1 = {}
201
- recipient1['email'] = @email1
202
- recipient1['last_name'] = @last_name1
203
- result = @client.post_recipients(params: [recipient1])
204
- @client.post_recipient_to_list(
205
- list_id: @list1.id, recipient_id: result.persisted_recipients[0]
206
- )
207
- rescue RestClient::ExceptionWithResponse => e
208
- puts e.inspect
209
- raise e
210
- end
211
- end
212
- end
213
- end
214
-
215
- describe 'unit test', :ut do
216
- let(:client) do
217
- SendGrid4r::Client.new(api_key: '')
218
- end
219
-
220
- let(:list) do
221
- JSON.parse(
222
- '{'\
223
- '"id": 1,'\
224
- '"name": "listname",'\
225
- '"recipient_count": 0'\
226
- '}'
227
- )
228
- end
229
-
230
- let(:lists) do
231
- JSON.parse(
232
- '{'\
233
- '"lists": ['\
234
- '{'\
235
- '"id": 1,'\
236
- '"name": "the jones",'\
237
- '"recipient_count": 1'\
238
- '}'\
239
- ']'\
240
- '}'
241
- )
242
- end
243
-
244
- let(:recipient) do
245
- JSON.parse(
246
- '{'\
247
- '"created_at": 1422313607,'\
248
- '"email": "jones@example.com",'\
249
- '"first_name": null,'\
250
- '"id": "jones@example.com",'\
251
- '"last_clicked": null,'\
252
- '"last_emailed": null,'\
253
- '"last_name": "Jones",'\
254
- '"last_opened": null,'\
255
- '"updated_at": 1422313790,'\
256
- '"custom_fields": ['\
257
- '{'\
258
- '"id": 23,'\
259
- '"name": "pet",'\
260
- '"value": "Fluffy",'\
261
- '"type": "text"'\
262
- '}'\
263
- ']'\
264
- '}'
265
- )
266
- end
267
-
268
- let(:recipients) do
269
- JSON.parse(
270
- '{'\
271
- '"recipients": ['\
272
- '{'\
273
- '"created_at": 1422313607,'\
274
- '"email": "jones@example.com",'\
275
- '"first_name": null,'\
276
- '"id": "jones@example.com",'\
277
- '"last_clicked": null,'\
278
- '"last_emailed": null,'\
279
- '"last_name": "Jones",'\
280
- '"last_opened": null,'\
281
- '"updated_at": 1422313790,'\
282
- '"custom_fields": ['\
283
- '{'\
284
- '"id": 23,'\
285
- '"name": "pet",'\
286
- '"value": "Fluffy",'\
287
- '"type": "text"'\
288
- '}'\
289
- ']'\
290
- '}'\
291
- ']'\
292
- '}'
293
- )
294
- end
295
-
296
- it '#post_list' do
297
- allow(client).to receive(:execute).and_return(list)
298
- actual = client.post_list(name: '')
299
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Lists::List)
300
- end
301
-
302
- it '#get_lists' do
303
- allow(client).to receive(:execute).and_return(lists)
304
- actual = client.get_lists
305
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Lists::Lists)
306
- end
307
-
308
- it '#get_list' do
309
- allow(client).to receive(:execute).and_return(list)
310
- actual = client.get_list(list_id: 0)
311
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Lists::List)
312
- end
313
-
314
- it '#patch_list' do
315
- allow(client).to receive(:execute).and_return(list)
316
- actual = client.patch_list(list_id: 0, name: '')
317
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Lists::List)
318
- end
319
-
320
- it '#get_recipients_from_list' do
321
- allow(client).to receive(:execute).and_return(recipients)
322
- actual = client.get_recipients_from_list(list_id: 0)
323
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Recipients::Recipients)
324
- end
325
-
326
- it '#delete_recipient_from_list' do
327
- allow(client).to receive(:execute).and_return('')
328
- actual = client.delete_recipient_from_list(list_id: 0, recipient_id: '')
329
- expect(actual).to eq('')
330
- end
331
-
332
- it '#delete_list' do
333
- allow(client).to receive(:execute).and_return('')
334
- actual = client.delete_list(list_id: 0)
335
- expect(actual).to eq('')
336
- end
337
-
338
- it '#delete_lists' do
339
- allow(client).to receive(:execute).and_return('')
340
- actual = client.delete_lists(list_ids: [0, 1])
341
- expect(actual).to eq('')
342
- end
343
-
344
- it '#post_recipients_to_list' do
345
- allow(client).to receive(:execute).and_return('')
346
- actual = client.post_recipients_to_list(list_id: 0, recipients: ['', ''])
347
- expect(actual).to eq('')
348
- end
349
-
350
- it '#post_recipient_to_list' do
351
- allow(client).to receive(:execute).and_return('')
352
- actual = client.post_recipient_to_list(list_id: 0, recipient_id: 0)
353
- expect(actual).to eq('')
354
- end
355
-
356
- it 'creates list instance' do
357
- actual = SendGrid4r::REST::Contacts::Lists.create_list(list)
358
- expect(actual).to be_a(SendGrid4r::REST::Contacts::Lists::List)
359
- expect(actual.id).to eq(1)
360
- expect(actual.name).to eq('listname')
361
- expect(actual.recipient_count).to eq(0)
362
- end
363
-
364
- it 'creates lists instance' do
365
- actual = SendGrid4r::REST::Contacts::Lists.create_lists(lists)
366
- expect(actual.lists).to be_a(Array)
367
- actual.lists.each do |list|
368
- expect(list).to be_a(SendGrid4r::REST::Contacts::Lists::List)
369
- end
370
- end
371
- end
372
- end