sendgrid4r 1.8.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,12 +1,12 @@
1
1
  # encoding: utf-8
2
2
  require File.dirname(__FILE__) + '/../../spec_helper'
3
3
 
4
- describe SendGrid4r::REST::Sm::GlobalUnsubscribes do
5
- describe 'integration test', :it do
6
- before do
7
- begin
4
+ module SendGrid4r::REST::Sm
5
+ describe GlobalUnsubscribes do
6
+ describe 'integration test', :it do
7
+ before do
8
8
  Dotenv.load
9
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
+ @client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
10
10
  @email1 = 'test1@test.com'
11
11
  @email2 = 'test2@test.com'
12
12
  @email3 = 'test3@test.com'
@@ -32,44 +32,27 @@ describe SendGrid4r::REST::Sm::GlobalUnsubscribes do
32
32
  @client.post_global_suppressed_emails(
33
33
  recipient_emails: [@email1]
34
34
  )
35
- rescue RestClient::ExceptionWithResponse => e
36
- puts e.inspect
37
- raise e
38
35
  end
39
- end
40
36
 
41
- context 'without block call' do
42
- it '#get_global_unsubscribes' do
43
- begin
37
+ context 'without block call' do
38
+ it '#get_global_unsubscribes' do
44
39
  global_unsubscribes = @client.get_global_unsubscribes
45
40
  expect(global_unsubscribes).to be_a(Array)
46
41
  global_unsubscribes.each do |global_unsubscribe|
47
- expect(global_unsubscribe).to be_a(
48
- SendGrid4r::REST::Sm::GlobalUnsubscribes::Unsubscribe
49
- )
42
+ expect(global_unsubscribe).to be_a(GlobalUnsubscribes::Unsubscribe)
50
43
  end
51
- rescue RestClient::ExceptionWithResponse => e
52
- puts e.inspect
53
- raise e
54
44
  end
55
- end
56
45
 
57
- it '#post_global_suppressed_emails' do
58
- begin
46
+ it '#post_global_suppressed_emails' do
59
47
  emails = @client.post_global_suppressed_emails(
60
48
  recipient_emails: [@email2, @email3]
61
49
  )
62
50
  expect(emails.recipient_emails.length).to eq(2)
63
51
  expect(emails.recipient_emails.include? @email2).to eq(true)
64
52
  expect(emails.recipient_emails.include? @email3).to eq(true)
65
- rescue RestClient::ExceptionWithResponse => e
66
- puts e.inspect
67
- raise e
68
53
  end
69
- end
70
54
 
71
- it '#get_global_suppressed_email' do
72
- begin
55
+ it '#get_global_suppressed_email' do
73
56
  actual_email1 = @client.get_global_suppressed_email(
74
57
  email_address: @email1
75
58
  )
@@ -78,14 +61,9 @@ describe SendGrid4r::REST::Sm::GlobalUnsubscribes do
78
61
  )
79
62
  expect(actual_email1.recipient_email).to eq(@email1)
80
63
  expect(actual_notexist.recipient_email).to eq(nil)
81
- rescue RestClient::ExceptionWithResponse => e
82
- puts e.inspect
83
- raise e
84
64
  end
85
- end
86
65
 
87
- it '#delete_global_suppressed_email' do
88
- begin
66
+ it '#delete_global_suppressed_email' do
89
67
  expect(
90
68
  @client.delete_global_suppressed_email(email_address: @email1)
91
69
  ).to eq('')
@@ -95,54 +73,51 @@ describe SendGrid4r::REST::Sm::GlobalUnsubscribes do
95
73
  expect(
96
74
  @client.delete_global_suppressed_email(email_address: @email3)
97
75
  ).to eq('')
98
- rescue RestClient::ExceptionWithResponse => e
99
- puts e.inspect
100
- raise e
101
76
  end
102
77
  end
103
78
  end
104
- end
105
79
 
106
- describe 'unit test', :ut do
107
- let(:client) do
108
- SendGrid4r::Client.new(api_key: '')
109
- end
80
+ describe 'unit test', :ut do
81
+ let(:client) do
82
+ SendGrid4r::Client.new(api_key: '')
83
+ end
110
84
 
111
- let(:recipient_emails) do
112
- JSON.parse(
113
- '{'\
114
- '"recipient_emails": ['\
115
- '"test1@example.com",'\
116
- '"test2@example.com"'\
117
- ']'\
118
- '}'
119
- )
120
- end
85
+ let(:recipient_emails) do
86
+ JSON.parse(
87
+ '{'\
88
+ '"recipient_emails": ['\
89
+ '"test1@example.com",'\
90
+ '"test2@example.com"'\
91
+ ']'\
92
+ '}'
93
+ )
94
+ end
121
95
 
122
- let(:recipient_email) do
123
- JSON.parse(
124
- '{'\
125
- '"recipient_email": "test1@example.com"'\
126
- '}'
127
- )
128
- end
96
+ let(:recipient_email) do
97
+ JSON.parse(
98
+ '{'\
99
+ '"recipient_email": "test1@example.com"'\
100
+ '}'
101
+ )
102
+ end
129
103
 
130
- it '#post_global_suppressed_emails' do
131
- allow(client).to receive(:execute).and_return(recipient_emails)
132
- emails = client.post_global_suppressed_emails(recipient_emails: [])
133
- expect(emails).to be_a(SendGrid4r::REST::Sm::RecipientEmails)
134
- end
104
+ it '#post_global_suppressed_emails' do
105
+ allow(client).to receive(:execute).and_return(recipient_emails)
106
+ emails = client.post_global_suppressed_emails(recipient_emails: [])
107
+ expect(emails).to be_a(RecipientEmails)
108
+ end
135
109
 
136
- it '#get_global_suppressed_email' do
137
- allow(client).to receive(:execute).and_return(recipient_email)
138
- actual = client.get_global_suppressed_email(email_address: '')
139
- expect(actual).to be_a(SendGrid4r::REST::Sm::RecipientEmail)
140
- end
110
+ it '#get_global_suppressed_email' do
111
+ allow(client).to receive(:execute).and_return(recipient_email)
112
+ actual = client.get_global_suppressed_email(email_address: '')
113
+ expect(actual).to be_a(RecipientEmail)
114
+ end
141
115
 
142
- it '#delete_global_suppressed_email' do
143
- allow(client).to receive(:execute).and_return('')
144
- actual = client.delete_global_suppressed_email(email_address: '')
145
- expect(actual).to eq('')
116
+ it '#delete_global_suppressed_email' do
117
+ allow(client).to receive(:execute).and_return('')
118
+ actual = client.delete_global_suppressed_email(email_address: '')
119
+ expect(actual).to eq('')
120
+ end
146
121
  end
147
122
  end
148
123
  end
@@ -1,12 +1,12 @@
1
1
  # encoding: utf-8
2
2
  require File.dirname(__FILE__) + '/../../spec_helper'
3
3
 
4
- describe SendGrid4r::REST::Sm::Groups do
5
- describe 'integration test', :it do
6
- before do
7
- begin
4
+ module SendGrid4r::REST::Sm
5
+ describe Groups do
6
+ describe 'integration test', :it do
7
+ before do
8
8
  Dotenv.load
9
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
+ @client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
10
10
  @group_name1 = 'group_test1'
11
11
  @group_name2 = 'group_test2'
12
12
  @group_name_edit1 = 'group_edit1'
@@ -30,68 +30,43 @@ describe SendGrid4r::REST::Sm::Groups do
30
30
  @group1 = @client.post_group(
31
31
  name: @group_name1, description: @group_desc
32
32
  )
33
- rescue RestClient::ExceptionWithResponse => e
34
- puts e.inspect
35
- raise e
36
33
  end
37
- end
38
34
 
39
- context 'without block call' do
40
- it '#post_group' do
41
- begin
35
+ context 'without block call' do
36
+ it '#post_group' do
42
37
  group2 = @client.post_group(
43
38
  name: @group_name2, description: @group_desc
44
39
  )
45
40
  expect(@group_name2).to eq(group2.name)
46
41
  expect(@group_desc).to eq(group2.description)
47
- rescue RestClient::ExceptionWithResponse => e
48
- puts e.inspect
49
- raise e
50
42
  end
51
- end
52
43
 
53
- it '#post_group with is_default' do
54
- begin
44
+ it '#post_group with is_default' do
55
45
  group2 = @client.post_group(
56
46
  name: @group_name2, description: @group_desc, is_default: false
57
47
  )
58
48
  expect(@group_name2).to eq(group2.name)
59
49
  expect(@group_desc).to eq(group2.description)
60
50
  expect(false).to eq(group2.is_default)
61
- rescue RestClient::ExceptionWithResponse => e
62
- puts e.inspect
63
- raise e
64
51
  end
65
- end
66
52
 
67
- it '#get_groups' do
68
- begin
53
+ it '#get_groups' do
69
54
  groups = @client.get_groups
70
55
  expect(groups).to be_a(Array)
71
56
  groups.each do |group|
72
- expect(group).to be_a(SendGrid4r::REST::Sm::Groups::Group)
57
+ expect(group).to be_a(Groups::Group)
73
58
  end
74
- rescue RestClient::ExceptionWithResponse => e
75
- puts e.inspect
76
- raise e
77
59
  end
78
- end
79
60
 
80
- it '#get_group' do
81
- begin
61
+ it '#get_group' do
82
62
  group = @client.get_group(group_id: @group1.id)
83
63
  expect(group.id).to be_a(Fixnum)
84
64
  expect(group.name).to eq(@group_name1)
85
65
  expect(group.description).to eq(@group_desc)
86
66
  expect(group.unsubscribes).to eq(0)
87
- rescue RestClient::ExceptionWithResponse => e
88
- puts e.inspect
89
- raise e
90
67
  end
91
- end
92
68
 
93
- it '#patch_group' do
94
- begin
69
+ it '#patch_group' do
95
70
  @group1.name = @group_name_edit1
96
71
  @group1.description = @group_desc_edit
97
72
  group_edit1 = @client.patch_group(
@@ -101,44 +76,21 @@ describe SendGrid4r::REST::Sm::Groups do
101
76
  expect(group_edit1.name).to eq(@group_name_edit1)
102
77
  expect(group_edit1.description).to eq(@group_desc_edit)
103
78
  expect(group_edit1.unsubscribes).to eq(nil)
104
- rescue RestClient::ExceptionWithResponse => e
105
- puts e.inspect
106
- raise e
107
79
  end
108
- end
109
80
 
110
- it '#delete_group' do
111
- begin
81
+ it '#delete_group' do
112
82
  @client.delete_group(group_id: @group1.id)
113
- rescue RestClient::ExceptionWithResponse => e
114
- puts e.inspect
115
- raise e
116
83
  end
117
84
  end
118
85
  end
119
- end
120
-
121
- describe 'unit test', :ut do
122
- let(:client) do
123
- SendGrid4r::Client.new(api_key: '')
124
- end
125
86
 
126
- let(:group) do
127
- JSON.parse(
128
- '{'\
129
- '"id": 100,'\
130
- '"name": "Newsletters",'\
131
- '"description": "Our monthly newsletter.",'\
132
- '"last_email_sent_at": null,'\
133
- '"is_default": true,'\
134
- '"unsubscribes": 400'\
135
- '}'
136
- )
137
- end
87
+ describe 'unit test', :ut do
88
+ let(:client) do
89
+ SendGrid4r::Client.new(api_key: '')
90
+ end
138
91
 
139
- let(:groups) do
140
- JSON.parse(
141
- '['\
92
+ let(:group) do
93
+ JSON.parse(
142
94
  '{'\
143
95
  '"id": 100,'\
144
96
  '"name": "Newsletters",'\
@@ -146,70 +98,83 @@ describe SendGrid4r::REST::Sm::Groups do
146
98
  '"last_email_sent_at": null,'\
147
99
  '"is_default": true,'\
148
100
  '"unsubscribes": 400'\
149
- '},'\
150
- '{'\
151
- '"id": 101,'\
152
- '"name": "Alerts",'\
153
- '"description": "Emails triggered by user-defined rules.",'\
154
- '"last_email_sent_at": null,'\
155
- '"is_default": false,'\
156
- '"unsubscribes": 1'\
157
- '}'\
158
- ']'
159
- )
160
- end
101
+ '}'
102
+ )
103
+ end
161
104
 
162
- it '#post_group' do
163
- allow(client).to receive(:execute).and_return(group)
164
- actual = client.post_group(name: '', description: '')
165
- expect(actual).to be_a(SendGrid4r::REST::Sm::Groups::Group)
166
- end
105
+ let(:groups) do
106
+ JSON.parse(
107
+ '['\
108
+ '{'\
109
+ '"id": 100,'\
110
+ '"name": "Newsletters",'\
111
+ '"description": "Our monthly newsletter.",'\
112
+ '"last_email_sent_at": null,'\
113
+ '"is_default": true,'\
114
+ '"unsubscribes": 400'\
115
+ '},'\
116
+ '{'\
117
+ '"id": 101,'\
118
+ '"name": "Alerts",'\
119
+ '"description": "Emails triggered by user-defined rules.",'\
120
+ '"last_email_sent_at": null,'\
121
+ '"is_default": false,'\
122
+ '"unsubscribes": 1'\
123
+ '}'\
124
+ ']'
125
+ )
126
+ end
167
127
 
168
- it '#patch_group' do
169
- allow(client).to receive(:execute).and_return(group)
170
- actual = client.patch_group(group_id: 0, group: nil)
171
- expect(actual).to be_a(SendGrid4r::REST::Sm::Groups::Group)
172
- end
128
+ it '#post_group' do
129
+ allow(client).to receive(:execute).and_return(group)
130
+ actual = client.post_group(name: '', description: '')
131
+ expect(actual).to be_a(Groups::Group)
132
+ end
173
133
 
174
- it '#get_groups' do
175
- allow(client).to receive(:execute).and_return(groups)
176
- actual = client.get_groups
177
- expect(actual).to be_a(Array)
178
- actual.each do |group|
179
- expect(group).to be_a(SendGrid4r::REST::Sm::Groups::Group)
134
+ it '#patch_group' do
135
+ allow(client).to receive(:execute).and_return(group)
136
+ actual = client.patch_group(group_id: 0, group: nil)
137
+ expect(actual).to be_a(Groups::Group)
180
138
  end
181
- end
182
139
 
183
- it '#get_group' do
184
- allow(client).to receive(:execute).and_return(group)
185
- actual = client.get_group(group_id: 0)
186
- expect(actual).to be_a(SendGrid4r::REST::Sm::Groups::Group)
187
- end
140
+ it '#get_groups' do
141
+ allow(client).to receive(:execute).and_return(groups)
142
+ actual = client.get_groups
143
+ expect(actual).to be_a(Array)
144
+ actual.each do |group|
145
+ expect(group).to be_a(Groups::Group)
146
+ end
147
+ end
188
148
 
189
- it '#delete_group' do
190
- allow(client).to receive(:execute).and_return('')
191
- actual = client.delete_group(group_id: 0)
192
- expect(actual).to eq('')
193
- end
149
+ it '#get_group' do
150
+ allow(client).to receive(:execute).and_return(group)
151
+ actual = client.get_group(group_id: 0)
152
+ expect(actual).to be_a(Groups::Group)
153
+ end
194
154
 
195
- it 'creates group instance' do
196
- actual = SendGrid4r::REST::Sm::Groups.create_group(group)
197
- expect(actual).to be_a(
198
- SendGrid4r::REST::Sm::Groups::Group
199
- )
200
- expect(actual.id).to eq(100)
201
- expect(actual.name).to eq('Newsletters')
202
- expect(actual.description).to eq('Our monthly newsletter.')
203
- expect(actual.last_email_sent_at).to eq(nil)
204
- expect(actual.is_default).to eq(true)
205
- expect(actual.unsubscribes).to eq(400)
206
- end
155
+ it '#delete_group' do
156
+ allow(client).to receive(:execute).and_return('')
157
+ actual = client.delete_group(group_id: 0)
158
+ expect(actual).to eq('')
159
+ end
207
160
 
208
- it 'creates groups instance' do
209
- actual = SendGrid4r::REST::Sm::Groups.create_groups(groups)
210
- expect(actual).to be_a(Array)
211
- actual.each do |group|
212
- expect(group).to be_a(SendGrid4r::REST::Sm::Groups::Group)
161
+ it 'creates group instance' do
162
+ actual = Groups.create_group(group)
163
+ expect(actual).to be_a(Groups::Group)
164
+ expect(actual.id).to eq(100)
165
+ expect(actual.name).to eq('Newsletters')
166
+ expect(actual.description).to eq('Our monthly newsletter.')
167
+ expect(actual.last_email_sent_at).to eq(nil)
168
+ expect(actual.is_default).to eq(true)
169
+ expect(actual.unsubscribes).to eq(400)
170
+ end
171
+
172
+ it 'creates groups instance' do
173
+ actual = Groups.create_groups(groups)
174
+ expect(actual).to be_a(Array)
175
+ actual.each do |group|
176
+ expect(group).to be_a(Groups::Group)
177
+ end
213
178
  end
214
179
  end
215
180
  end
@@ -1,39 +1,41 @@
1
1
  # encoding: utf-8
2
2
  require File.dirname(__FILE__) + '/../../spec_helper'
3
3
 
4
- describe SendGrid4r::REST::Sm do
5
- let(:recipient_email) do
6
- JSON.parse(
7
- '{'\
8
- '"recipient_email": "test1@example.com"'\
9
- '}'
10
- )
11
- end
12
-
13
- let(:recipient_emails) do
14
- JSON.parse(
15
- '{'\
16
- '"recipient_emails": ['\
17
- '"test1@example.com",'\
18
- '"test2@example.com"'\
19
- ']'\
20
- '}'
21
- )
22
- end
4
+ module SendGrid4r::REST::Sm
5
+ describe SendGrid4r::REST::Sm do
6
+ let(:recipient_email) do
7
+ JSON.parse(
8
+ '{'\
9
+ '"recipient_email": "test1@example.com"'\
10
+ '}'
11
+ )
12
+ end
23
13
 
24
- describe 'unit test', :ut do
25
- it 'creates recipient_emails instance' do
26
- actual = SendGrid4r::REST::Sm.create_recipient_emails(recipient_emails)
27
- expect(actual).to be_a(SendGrid4r::REST::Sm::RecipientEmails)
28
- expect(actual.recipient_emails).to be_a(Array)
29
- expect(actual.recipient_emails).to include('test1@example.com')
30
- expect(actual.recipient_emails).to include('test2@example.com')
14
+ let(:recipient_emails) do
15
+ JSON.parse(
16
+ '{'\
17
+ '"recipient_emails": ['\
18
+ '"test1@example.com",'\
19
+ '"test2@example.com"'\
20
+ ']'\
21
+ '}'
22
+ )
31
23
  end
32
24
 
33
- it 'creates recipient_email instance' do
34
- actual = SendGrid4r::REST::Sm.create_recipient_email(recipient_email)
35
- expect(actual).to be_a(SendGrid4r::REST::Sm::RecipientEmail)
36
- expect(actual.recipient_email).to eq('test1@example.com')
25
+ describe 'unit test', :ut do
26
+ it 'creates recipient_emails instance' do
27
+ actual = SendGrid4r::REST::Sm.create_recipient_emails(recipient_emails)
28
+ expect(actual).to be_a(RecipientEmails)
29
+ expect(actual.recipient_emails).to be_a(Array)
30
+ expect(actual.recipient_emails).to include('test1@example.com')
31
+ expect(actual.recipient_emails).to include('test2@example.com')
32
+ end
33
+
34
+ it 'creates recipient_email instance' do
35
+ actual = SendGrid4r::REST::Sm.create_recipient_email(recipient_email)
36
+ expect(actual).to be_a(RecipientEmail)
37
+ expect(actual.recipient_email).to eq('test1@example.com')
38
+ end
37
39
  end
38
40
  end
39
41
  end