spec/rest/sm/suppressions_spec.rb in sendgrid4r-1.12.0 vs spec/rest/sm/suppressions_spec.rb in sendgrid4r-1.13.0
- old
+ new
@@ -41,24 +41,42 @@
expect(emails.recipient_emails.length).to eq(2)
expect(emails.recipient_emails[0]).to eq(@email2)
expect(emails.recipient_emails[1]).to eq(@email3)
end
+ it '#search_suppressed_emails' do
+ emails = @client.search_suppressed_emails(
+ group_id: @group.id, recipient_emails: [@email1]
+ )
+ expect(emails.length).to eq(1)
+ expect(emails[0]).to eq(@email1)
+ end
+
it '#get_suppressed_emails' do
emails = @client.get_suppressed_emails(group_id: @group.id)
expect(emails.length).to eq(1)
expect(emails[0]).to eq(@email1)
end
+ it '#get_groups_by_email' do
+ groups = @client.get_groups_by_email(email_address: @email1)
+ expect(groups.suppressions).to be_a(Array)
+ groups.suppressions.each do |group|
+ next unless group.name == @group_name
+ expect(group.id).to eq(@group.id)
+ expect(group.name).to eq(@group_name)
+ expect(group.description).to eq(@group_desc)
+ expect(group.suppressed).to eq(true)
+ expect(group.is_default).to eq(false)
+ end
+ end
+
it '#get_suppressions' do
- suppressions = @client.get_suppressions(email_address: @email1)
- expect(suppressions.suppressions).to be_a(Array)
- suppressions.suppressions.each do |suppression|
- next unless suppression.name == @group_name
- expect(suppression.name).to eq(@group_name)
- expect(suppression.description).to eq(@group_desc)
- expect(suppression.suppressed).to eq(true)
+ suppressions = @client.get_suppressions
+ expect(suppressions).to be_a(Array)
+ suppressions.each do |suppression|
+ expect(suppression).to be_a(Suppressions::Suppression)
end
end
it '#delete_suppressed_email' do
@client.delete_suppressed_email(
@@ -96,82 +114,151 @@
let(:emails) do
'["test1@example.com","test2@example.com"]'
end
- let(:suppression) do
+ let(:group) do
'{'\
- '"id": 4,'\
- '"name": "Special Offers",'\
- '"description": "Special offers and coupons",'\
- '"suppressed": false'\
+ '"description": "Optional description.",'\
+ '"id": 1,'\
+ '"is_default": true,'\
+ '"name": "Weekly News",'\
+ '"suppressed": true'\
'}'
end
- let(:suppressions) do
+ let(:groups) do
'{'\
'"suppressions": ['\
'{'\
+ '"description": "Optional description.",'\
'"id": 1,'\
- '"name": "Weekly Newsletter",'\
- '"description": "The weekly newsletter",'\
- '"suppressed": false'\
+ '"is_default": true,'\
+ '"name": "Weekly News",'\
+ '"suppressed": true'\
'},'\
'{'\
- '"id": 4,'\
- '"name": "Special Offers",'\
- '"description": "Special offers and coupons",'\
+ '"description": "Some daily news.",'\
+ '"id": 2,'\
+ '"is_default": true,'\
+ '"name": "Daily News",'\
+ '"suppressed": true'\
+ '},'\
+ '{'\
+ '"description": "An old group.",'\
+ '"id": 2,'\
+ '"is_default": false,'\
+ '"name": "Old News",'\
'"suppressed": false'\
'}'\
']'\
'}'
end
+ let(:suppressions) do
+ '['\
+ '{'\
+ '"email":"test@example.com",'\
+ '"group_id": 1,'\
+ '"group_name": "Weekly News",'\
+ '"created_at": 1410986704'\
+ '},'\
+ '{'\
+ '"email":"test1@example.com",'\
+ '"group_id": 2,'\
+ '"group_name": "Daily News",'\
+ '"created_at": 1411493671'\
+ '},'\
+ '{'\
+ '"email":"test2@example.com",'\
+ '"group_id": 2,'\
+ '"group_name": "Daily News",'\
+ '"created_at": 1411493671'\
+ '}'\
+ ']'
+ end
+
+ let(:suppression) do
+ '{'\
+ '"email":"test@example.com",'\
+ '"group_id": 1,'\
+ '"group_name": "Weekly News",'\
+ '"created_at": 1410986704'\
+ '}'
+ end
+
it '#post_suppressed_emails' do
allow(client).to receive(:execute).and_return(recipient_emails)
actual = client.post_suppressed_emails(
group_id: 0, recipient_emails: ['', '']
)
expect(actual).to be_a(RecipientEmails)
end
+ it '#search_suppressed_emails' do
+ allow(client).to receive(:execute).and_return(emails)
+ actual = client.search_suppressed_emails(
+ group_id: 0, recipient_emails: ['', '']
+ )
+ expect(actual).to be_a(Array)
+ end
+
it '#get_suppressed_emails' do
allow(client).to receive(:execute).and_return(emails)
actual = client.get_suppressed_emails(group_id: 0)
expect(actual).to be_a(Array)
end
+ it '#get_groups_by_email' do
+ allow(client).to receive(:execute).and_return(groups)
+ actual = client.get_groups_by_email(email_address: '')
+ expect(actual.suppressions).to be_a(Array)
+ actual.suppressions.each do |group|
+ expect(group).to be_a(Suppressions::Group)
+ end
+ end
+
it '#get_suppressions' do
allow(client).to receive(:execute).and_return(suppressions)
- actual = client.get_suppressions(email_address: '')
- expect(actual.suppressions).to be_a(Array)
- actual.suppressions.each do |suppression|
- expect(suppression).to be_a(Suppressions::Suppression)
+ actual = client.get_suppressions
+ expect(actual).to be_a(Array)
+ actual.each do |group|
+ expect(group).to be_a(Suppressions::Suppression)
end
end
it '#delete_suppressed_email' do
allow(client).to receive(:execute).and_return('')
actual = client.delete_suppressed_email(group_id: 0, email_address: '')
expect(actual).to eq('')
end
- it 'creates suppression instance' do
- actual = Suppressions.create_suppression(JSON.parse(suppression))
- expect(actual).to be_a(Suppressions::Suppression)
- expect(actual.id).to eq(4)
- expect(actual.name).to eq('Special Offers')
- expect(actual.description).to eq('Special offers and coupons')
- expect(actual.suppressed).to eq(false)
+ it 'creates group instance' do
+ actual = Suppressions.create_group(JSON.parse(group))
+ expect(actual).to be_a(Suppressions::Group)
+ expect(actual.id).to eq(1)
+ expect(actual.name).to eq('Weekly News')
+ expect(actual.description).to eq('Optional description.')
+ expect(actual.suppressed).to eq(true)
+ expect(actual.is_default).to eq(true)
end
- it 'creates suppressions instance' do
- actual = Suppressions.create_suppressions(JSON.parse(suppressions))
- expect(actual).to be_a(Suppressions::Suppressions)
+ it 'creates groups instance' do
+ actual = Suppressions.create_groups(JSON.parse(groups))
+ expect(actual).to be_a(Suppressions::Groups)
expect(actual.suppressions).to be_a(Array)
- actual.suppressions.each do |suppression|
- expect(suppression).to be_a(Suppressions::Suppression)
+ actual.suppressions.each do |group|
+ expect(group).to be_a(Suppressions::Group)
end
+ end
+
+ it 'create suppression instance' do
+ actual = Suppressions.create_suppression(JSON.parse(suppression))
+ expect(actual).to be_a(Suppressions::Suppression)
+ expect(actual.email).to eq('test@example.com')
+ expect(actual.group_id).to eq(1)
+ expect(actual.group_name).to eq('Weekly News')
+ expect(actual.created_at).to eq(Time.at(1410986704))
end
end
end
end