email_spec 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11bdd9e521aecbb968f672214cc109869f111f1ac981b793e1a3c41bcf4691ce
4
- data.tar.gz: 7cd61105485eae764f8786ef4a3e2ccdbd9309f8d020f883177d8d62df7df184
3
+ metadata.gz: 67b5cef2ce1c7cb7d919d61567a3fcdedab6747bf016962ca03da9b1d2abf660
4
+ data.tar.gz: 3694cba82a8b25469d5c0a7e5ec9f7d688471d357926a46cb37e7290320222f8
5
5
  SHA512:
6
- metadata.gz: 540ed6ea489564623c0ab0c781c70842782b8485307cf70d7396fc0221896ac396cae83a58d72e64586bb879b58a68b3e93b61f24120586657fe9acaea9f9486
7
- data.tar.gz: 57b37098385ff0d8f545e385195693ddf67c04d03d4c37a9219cf4677d36cc2a880e0dea6bca6eed595ac977eb9afd1841062d180e47410ce5ec6fe20c1820fd
6
+ metadata.gz: 780394b891b7fbcc9a75629fd20608e99730cca2a1ecf5882193d7e8f2fc59fd115c4360d517c1a0f94d7b6e8ca56c0bf01e00ae91f8f42f592d0d169fed09ae
7
+ data.tar.gz: 790bb0a29b5c44aacb5ddfb5c9d9f049cedea133df51a2ccf66c41f364b4610450ebb01ce4aa92a2f18ef815e4c48d402863fcb5a41530e7d819f3475242f01c
data/Changelog.md CHANGED
@@ -1,6 +1,13 @@
1
+ ## 2.2.2 2023-06-26
2
+
3
+ * [Defer accommodating different delivery methods to runtime](https://github.com/email-spec/email-spec/pull/224)
4
+
1
5
  ## 2.2.1 2022-09-12
2
6
 
3
- * [Patch for eager loading](https://github.com/email-spec/email-spec/pull/219)
7
+ * [Support to decode part in EmailSpec::MailExt#default_part_body](https://github.com/email-spec/email-spec/pull/211)
8
+ * [Drop rubyforge_project from gemspec](https://github.com/email-spec/email-spec/pull/215)
9
+ * [Avoid eagerly loading ActionMailer::Base](https://github.com/email-spec/email-spec/pull/219)
10
+ * [README: use SVG badges](https://github.com/email-spec/email-spec/pull/217)
4
11
 
5
12
  ## 2.2.0 2018-04-03
6
13
 
@@ -0,0 +1,226 @@
1
+ # Commonly used email steps
2
+ #
3
+ # To add your own steps make a custom_email_steps.rb
4
+ # The provided methods are:
5
+ #
6
+ # last_email_address
7
+ # reset_mailer
8
+ # open_last_email
9
+ # visit_in_email
10
+ # unread_emails_for
11
+ # mailbox_for
12
+ # current_email
13
+ # open_email
14
+ # read_emails_for
15
+ # find_email
16
+ #
17
+ # General form for email scenarios are:
18
+ # - clear the email queue (done automatically by email_spec)
19
+ # - execute steps that sends an email
20
+ # - check the user received an/no/[0-9] emails
21
+ # - open the email
22
+ # - inspect the email contents
23
+ # - interact with the email (e.g. click links)
24
+ #
25
+ # The Cucumber steps below are setup in this order.
26
+
27
+ module EmailHelpers
28
+ def current_email_address
29
+ # Replace with your a way to find your current email. e.g @current_user.email
30
+ # last_email_address will return the last email address used by email spec to find an email.
31
+ # Note that last_email_address will be reset after each Scenario.
32
+ last_email_address || "example@example.com"
33
+ end
34
+ end
35
+
36
+ World(EmailHelpers)
37
+
38
+ #
39
+ # Reset the e-mail queue within a scenario.
40
+ # This is done automatically before each scenario.
41
+ #
42
+
43
+ Given /^(?:a clear email queue|no emails have been sent)$/ do
44
+ reset_mailer
45
+ end
46
+
47
+ #
48
+ # Check how many emails have been sent/received
49
+ #
50
+
51
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails?$/ do |address, amount|
52
+ expect(unread_emails_for(address).size).to eql parse_email_count(amount)
53
+ end
54
+
55
+ Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amount|
56
+ expect(mailbox_for(address).size).to eql parse_email_count(amount)
57
+ end
58
+
59
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject "([^"]*?)"$/ do |address, amount, subject|
60
+ expect(unread_emails_for(address).select { |m| m.subject =~ Regexp.new(Regexp.escape(subject)) }.size).to eql parse_email_count(amount)
61
+ end
62
+
63
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject \/([^"]*?)\/$/ do |address, amount, subject|
64
+ expect(unread_emails_for(address).select { |m| m.subject =~ Regexp.new(subject) }.size).to eql parse_email_count(amount)
65
+ end
66
+
67
+ Then /^(?:I|they|"([^"]*?)") should receive an email with the following body:$/ do |address, expected_body|
68
+ open_email(address, :with_text => expected_body)
69
+ end
70
+
71
+ #
72
+ # Accessing emails
73
+ #
74
+
75
+ # Opens the most recently received email
76
+ When /^(?:I|they|"([^"]*?)") opens? the email$/ do |address|
77
+ open_email(address)
78
+ end
79
+
80
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
81
+ open_email(address, :with_subject => subject)
82
+ end
83
+
84
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject \/([^"]*?)\/$/ do |address, subject|
85
+ open_email(address, :with_subject => Regexp.new(subject))
86
+ end
87
+
88
+ When /^(?:I|they|"([^"]*?)") opens? the email with text "([^"]*?)"$/ do |address, text|
89
+ open_email(address, :with_text => text)
90
+ end
91
+
92
+ When /^(?:I|they|"([^"]*?)") opens? the email with text \/([^"]*?)\/$/ do |address, text|
93
+ open_email(address, :with_text => Regexp.new(text))
94
+ end
95
+
96
+ #
97
+ # Inspect the Email Contents
98
+ #
99
+
100
+ Then /^(?:I|they) should see "([^"]*?)" in the email subject$/ do |text|
101
+ expect(current_email).to have_subject(text)
102
+ end
103
+
104
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email subject$/ do |text|
105
+ expect(current_email).to have_subject(Regexp.new(text))
106
+ end
107
+
108
+ Then /^(?:I|they) should not see "([^"]*?)" in the email subject$/ do |text|
109
+ expect(current_email).not_to have_subject(text)
110
+ end
111
+
112
+ Then /^(?:I|they) should not see \/([^"]*?)\/ in the email subject$/ do |text|
113
+ expect(current_email).not_to have_subject(Regexp.new(text))
114
+ end
115
+
116
+ Then /^(?:I|they) should see "([^"]*?)" in the email body$/ do |text|
117
+ expect(current_email.default_part_body.to_s).to include(text)
118
+ end
119
+
120
+ Then /^(?:I|they) should not see "([^"]*?)" in the email body$/ do |text|
121
+ expect(current_email.default_part_body.to_s).not_to include(text)
122
+ end
123
+
124
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email body$/ do |text|
125
+ expect(current_email.default_part_body.to_s).to match Regexp.new(text)
126
+ end
127
+
128
+ Then /^(?:I|they) should not see \/([^"]*?)\/ in the email body$/ do |text|
129
+ expect(current_email.default_part_body.to_s).not_to match Regexp.new(text)
130
+ end
131
+
132
+ Then /^(?:I|they) should see the email delivered from "([^"]*?)"$/ do |text|
133
+ expect(current_email).to be_delivered_from(text)
134
+ end
135
+
136
+ Then /^(?:I|they) should see the email reply to "([^"]*?)"$/ do |text|
137
+ expect(current_email).to have_reply_to(text)
138
+ end
139
+
140
+ Then /^(?:I|they) should see "([^\"]*)" in the email "([^"]*?)" header$/ do |text, name|
141
+ expect(current_email).to have_header(name, text)
142
+ end
143
+
144
+ Then /^(?:I|they) should see \/([^\"]*)\/ in the email "([^"]*?)" header$/ do |text, name|
145
+ expect(current_email).to have_header(name, Regexp.new(text))
146
+ end
147
+
148
+ Then /^I should see it is a multi\-part email$/ do
149
+ expect(current_email).to be_multipart
150
+ end
151
+
152
+ Then /^(?:I|they) should see "([^"]*?)" in the email html part body$/ do |text|
153
+ expect(current_email.html_part.body.to_s).to include(text)
154
+ end
155
+
156
+ Then /^(?:I|they) should see "([^"]*?)" in the email text part body$/ do |text|
157
+ expect(current_email.text_part.body.to_s).to include(text)
158
+ end
159
+
160
+ #
161
+ # Inspect the Email Attachments
162
+ #
163
+
164
+ Then /^(?:I|they) should see (an|no|\d+) attachments? with the email$/ do |amount|
165
+ expect(current_email_attachments.size).to eql parse_email_count(amount)
166
+ end
167
+
168
+ Then /^there should be (an|no|\d+) attachments? named "([^"]*?)"$/ do |amount, filename|
169
+ expect(current_email_attachments.select { |a| a.filename == filename }.size).to eql parse_email_count(amount)
170
+ end
171
+
172
+ Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
173
+ expect(current_email_attachments[(index.to_i - 1)].filename).to eql filename
174
+ end
175
+
176
+ Then /^there should be (an|no|\d+) attachments? of type "([^"]*?)"$/ do |amount, content_type|
177
+ expect(current_email_attachments.select { |a| a.content_type.include?(content_type) }.size).to eql parse_email_count(amount)
178
+ end
179
+
180
+ Then /^attachment (\d+) should be of type "([^"]*?)"$/ do |index, content_type|
181
+ expect(current_email_attachments[(index.to_i - 1)].content_type).to include(content_type)
182
+ end
183
+
184
+ Then /^all attachments should not be blank$/ do
185
+ current_email_attachments.each do |attachment|
186
+ expect(attachment.read.size).to_not eql 0
187
+ end
188
+ end
189
+
190
+ Then /^show me a list of email attachments$/ do
191
+ EmailSpec::EmailViewer::save_and_open_email_attachments_list(current_email)
192
+ end
193
+
194
+ #
195
+ # Interact with Email Contents
196
+ #
197
+
198
+ When /^(?:I|they|"([^"]*?)") follows? "([^"]*?)" in the email$/ do |address, link|
199
+ visit_in_email(link, address)
200
+ end
201
+
202
+ When /^(?:I|they) click the first link in the email$/ do
203
+ click_first_link_in_email
204
+ end
205
+
206
+ #
207
+ # Debugging
208
+ # These only work with Rails and OSx ATM since EmailViewer uses RAILS_ROOT and OSx's 'open' command.
209
+ # Patches accepted. ;)
210
+ #
211
+
212
+ Then /^save and open current email$/ do
213
+ EmailSpec::EmailViewer::save_and_open_email(current_email)
214
+ end
215
+
216
+ Then /^save and open all text emails$/ do
217
+ EmailSpec::EmailViewer::save_and_open_all_text_emails
218
+ end
219
+
220
+ Then /^save and open all html emails$/ do
221
+ EmailSpec::EmailViewer::save_and_open_all_html_emails
222
+ end
223
+
224
+ Then /^save and open all raw emails$/ do
225
+ EmailSpec::EmailViewer::save_and_open_all_raw_emails
226
+ end
@@ -0,0 +1,226 @@
1
+ # Commonly used email steps
2
+ #
3
+ # To add your own steps make a custom_email_steps.rb
4
+ # The provided methods are:
5
+ #
6
+ # last_email_address
7
+ # reset_mailer
8
+ # open_last_email
9
+ # visit_in_email
10
+ # unread_emails_for
11
+ # mailbox_for
12
+ # current_email
13
+ # open_email
14
+ # read_emails_for
15
+ # find_email
16
+ #
17
+ # General form for email scenarios are:
18
+ # - clear the email queue (done automatically by email_spec)
19
+ # - execute steps that sends an email
20
+ # - check the user received an/no/[0-9] emails
21
+ # - open the email
22
+ # - inspect the email contents
23
+ # - interact with the email (e.g. click links)
24
+ #
25
+ # The Cucumber steps below are setup in this order.
26
+
27
+ module EmailHelpers
28
+ def current_email_address
29
+ # Replace with your a way to find your current email. e.g @current_user.email
30
+ # last_email_address will return the last email address used by email spec to find an email.
31
+ # Note that last_email_address will be reset after each Scenario.
32
+ last_email_address || "example@example.com"
33
+ end
34
+ end
35
+
36
+ World(EmailHelpers)
37
+
38
+ #
39
+ # Reset the e-mail queue within a scenario.
40
+ # This is done automatically before each scenario.
41
+ #
42
+
43
+ Given /^(?:a clear email queue|no emails have been sent)$/ do
44
+ reset_mailer
45
+ end
46
+
47
+ #
48
+ # Check how many emails have been sent/received
49
+ #
50
+
51
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails?$/ do |address, amount|
52
+ expect(unread_emails_for(address).size).to eql parse_email_count(amount)
53
+ end
54
+
55
+ Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amount|
56
+ expect(mailbox_for(address).size).to eql parse_email_count(amount)
57
+ end
58
+
59
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject "([^"]*?)"$/ do |address, amount, subject|
60
+ expect(unread_emails_for(address).select { |m| m.subject =~ Regexp.new(Regexp.escape(subject)) }.size).to eql parse_email_count(amount)
61
+ end
62
+
63
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject \/([^"]*?)\/$/ do |address, amount, subject|
64
+ expect(unread_emails_for(address).select { |m| m.subject =~ Regexp.new(subject) }.size).to eql parse_email_count(amount)
65
+ end
66
+
67
+ Then /^(?:I|they|"([^"]*?)") should receive an email with the following body:$/ do |address, expected_body|
68
+ open_email(address, :with_text => expected_body)
69
+ end
70
+
71
+ #
72
+ # Accessing emails
73
+ #
74
+
75
+ # Opens the most recently received email
76
+ When /^(?:I|they|"([^"]*?)") opens? the email$/ do |address|
77
+ open_email(address)
78
+ end
79
+
80
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
81
+ open_email(address, :with_subject => subject)
82
+ end
83
+
84
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject \/([^"]*?)\/$/ do |address, subject|
85
+ open_email(address, :with_subject => Regexp.new(subject))
86
+ end
87
+
88
+ When /^(?:I|they|"([^"]*?)") opens? the email with text "([^"]*?)"$/ do |address, text|
89
+ open_email(address, :with_text => text)
90
+ end
91
+
92
+ When /^(?:I|they|"([^"]*?)") opens? the email with text \/([^"]*?)\/$/ do |address, text|
93
+ open_email(address, :with_text => Regexp.new(text))
94
+ end
95
+
96
+ #
97
+ # Inspect the Email Contents
98
+ #
99
+
100
+ Then /^(?:I|they) should see "([^"]*?)" in the email subject$/ do |text|
101
+ expect(current_email).to have_subject(text)
102
+ end
103
+
104
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email subject$/ do |text|
105
+ expect(current_email).to have_subject(Regexp.new(text))
106
+ end
107
+
108
+ Then /^(?:I|they) should not see "([^"]*?)" in the email subject$/ do |text|
109
+ expect(current_email).not_to have_subject(text)
110
+ end
111
+
112
+ Then /^(?:I|they) should not see \/([^"]*?)\/ in the email subject$/ do |text|
113
+ expect(current_email).not_to have_subject(Regexp.new(text))
114
+ end
115
+
116
+ Then /^(?:I|they) should see "([^"]*?)" in the email body$/ do |text|
117
+ expect(current_email.default_part_body.to_s).to include(text)
118
+ end
119
+
120
+ Then /^(?:I|they) should not see "([^"]*?)" in the email body$/ do |text|
121
+ expect(current_email.default_part_body.to_s).not_to include(text)
122
+ end
123
+
124
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email body$/ do |text|
125
+ expect(current_email.default_part_body.to_s).to match Regexp.new(text)
126
+ end
127
+
128
+ Then /^(?:I|they) should not see \/([^"]*?)\/ in the email body$/ do |text|
129
+ expect(current_email.default_part_body.to_s).not_to match Regexp.new(text)
130
+ end
131
+
132
+ Then /^(?:I|they) should see the email delivered from "([^"]*?)"$/ do |text|
133
+ expect(current_email).to be_delivered_from(text)
134
+ end
135
+
136
+ Then /^(?:I|they) should see the email reply to "([^"]*?)"$/ do |text|
137
+ expect(current_email).to have_reply_to(text)
138
+ end
139
+
140
+ Then /^(?:I|they) should see "([^\"]*)" in the email "([^"]*?)" header$/ do |text, name|
141
+ expect(current_email).to have_header(name, text)
142
+ end
143
+
144
+ Then /^(?:I|they) should see \/([^\"]*)\/ in the email "([^"]*?)" header$/ do |text, name|
145
+ expect(current_email).to have_header(name, Regexp.new(text))
146
+ end
147
+
148
+ Then /^I should see it is a multi\-part email$/ do
149
+ expect(current_email).to be_multipart
150
+ end
151
+
152
+ Then /^(?:I|they) should see "([^"]*?)" in the email html part body$/ do |text|
153
+ expect(current_email.html_part.body.to_s).to include(text)
154
+ end
155
+
156
+ Then /^(?:I|they) should see "([^"]*?)" in the email text part body$/ do |text|
157
+ expect(current_email.text_part.body.to_s).to include(text)
158
+ end
159
+
160
+ #
161
+ # Inspect the Email Attachments
162
+ #
163
+
164
+ Then /^(?:I|they) should see (an|no|\d+) attachments? with the email$/ do |amount|
165
+ expect(current_email_attachments.size).to eql parse_email_count(amount)
166
+ end
167
+
168
+ Then /^there should be (an|no|\d+) attachments? named "([^"]*?)"$/ do |amount, filename|
169
+ expect(current_email_attachments.select { |a| a.filename == filename }.size).to eql parse_email_count(amount)
170
+ end
171
+
172
+ Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
173
+ expect(current_email_attachments[(index.to_i - 1)].filename).to eql filename
174
+ end
175
+
176
+ Then /^there should be (an|no|\d+) attachments? of type "([^"]*?)"$/ do |amount, content_type|
177
+ expect(current_email_attachments.select { |a| a.content_type.include?(content_type) }.size).to eql parse_email_count(amount)
178
+ end
179
+
180
+ Then /^attachment (\d+) should be of type "([^"]*?)"$/ do |index, content_type|
181
+ expect(current_email_attachments[(index.to_i - 1)].content_type).to include(content_type)
182
+ end
183
+
184
+ Then /^all attachments should not be blank$/ do
185
+ current_email_attachments.each do |attachment|
186
+ expect(attachment.read.size).to_not eql 0
187
+ end
188
+ end
189
+
190
+ Then /^show me a list of email attachments$/ do
191
+ EmailSpec::EmailViewer::save_and_open_email_attachments_list(current_email)
192
+ end
193
+
194
+ #
195
+ # Interact with Email Contents
196
+ #
197
+
198
+ When /^(?:I|they|"([^"]*?)") follows? "([^"]*?)" in the email$/ do |address, link|
199
+ visit_in_email(link, address)
200
+ end
201
+
202
+ When /^(?:I|they) click the first link in the email$/ do
203
+ click_first_link_in_email
204
+ end
205
+
206
+ #
207
+ # Debugging
208
+ # These only work with Rails and OSx ATM since EmailViewer uses RAILS_ROOT and OSx's 'open' command.
209
+ # Patches accepted. ;)
210
+ #
211
+
212
+ Then /^save and open current email$/ do
213
+ EmailSpec::EmailViewer::save_and_open_email(current_email)
214
+ end
215
+
216
+ Then /^save and open all text emails$/ do
217
+ EmailSpec::EmailViewer::save_and_open_all_text_emails
218
+ end
219
+
220
+ Then /^save and open all html emails$/ do
221
+ EmailSpec::EmailViewer::save_and_open_all_html_emails
222
+ end
223
+
224
+ Then /^save and open all raw emails$/ do
225
+ EmailSpec::EmailViewer::save_and_open_all_raw_emails
226
+ end
@@ -1,5 +1,5 @@
1
1
  module EmailSpec
2
- module MailerDeliveries
2
+ module Deliveries
3
3
  def all_emails
4
4
  deliveries
5
5
  end
@@ -9,7 +9,9 @@ module EmailSpec
9
9
  end
10
10
 
11
11
  def reset_mailer
12
- if defined?(ActionMailer) && ActionMailer::Base.delivery_method == :cache
12
+ if defined?(ActionMailer) && ActionMailer::Base.delivery_method == :activerecord
13
+ Email.delete_all
14
+ elsif defined?(ActionMailer) && ActionMailer::Base.delivery_method == :cache
13
15
  mailer.clear_cache
14
16
  else
15
17
  deliveries.clear
@@ -23,36 +25,22 @@ module EmailSpec
23
25
  protected
24
26
 
25
27
  def deliveries
26
- if ActionMailer::Base.delivery_method == :cache
28
+ if defined?(Pony)
29
+ Pony.deliveries
30
+ elsif ActionMailer::Base.delivery_method == :activerecord
31
+ Email.all.map { |email| parse_ar_to_mail(email) }
32
+ elsif ActionMailer::Base.delivery_method == :cache
27
33
  mailer.cached_deliveries
28
34
  else
29
35
  mailer.deliveries
30
36
  end
31
37
  end
32
- end
33
-
34
- module ARMailerDeliveries
35
- def all_emails
36
- Email.all.map{ |email| parse_to_mail(email) }
37
- end
38
38
 
39
- def last_email_sent
40
- if email = Email.last
41
- parse_to_mail(email)
42
- else
43
- raise("No email has been sent!")
44
- end
39
+ def mailer
40
+ ActionMailer::Base
45
41
  end
46
42
 
47
- def reset_mailer
48
- Email.delete_all
49
- end
50
-
51
- def mailbox_for(address)
52
- Email.all.select { |email| email.destinations.include?(address) }.map{ |email| parse_to_mail(email) }
53
- end
54
-
55
- def parse_to_mail(email)
43
+ def parse_ar_to_mail(email)
56
44
  Mail.read(email.mail)
57
45
  end
58
46
  end
@@ -68,24 +56,4 @@ module EmailSpec
68
56
  end
69
57
  end
70
58
  end
71
-
72
- module Deliveries
73
- if defined?(Pony)
74
- def deliveries; Pony::deliveries ; end
75
- include EmailSpec::MailerDeliveries
76
- else
77
- ActiveSupport.on_load(:action_mailer) do
78
- if delivery_method == :activerecord
79
- ::EmailSpec::Helpers.include EmailSpec::ARMailerDeliveries
80
- else
81
- ::EmailSpec::Deliveries.module_eval do
82
- def mailer
83
- ActionMailer::Base
84
- end
85
- end
86
- ::EmailSpec::Helpers.include ::EmailSpec::MailerDeliveries
87
- end
88
- end
89
- end
90
- end
91
59
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module EmailSpec
2
- VERSION = '2.2.1'
4
+ VERSION = "2.2.2"
3
5
  end
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- require 'active_support'
3
2
 
4
3
  describe EmailSpec::MailExt do
5
4
  describe "#default_part" do
data/spec/spec_helper.rb CHANGED
@@ -3,9 +3,6 @@ require 'action_mailer'
3
3
  require 'mail'
4
4
  require File.expand_path(File.dirname(__FILE__) + '/../lib/email_spec.rb')
5
5
 
6
- # Trigger loading ActionMailer::Base
7
- ActionMailer::Base
8
-
9
6
  RSpec.configure do |config|
10
7
  config.include EmailSpec::Helpers
11
8
  config.include EmailSpec::Matchers
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Mabey
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-09-12 00:00:00.000000000 Z
13
+ date: 2023-06-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: htmlentities
@@ -227,6 +227,7 @@ files:
227
227
  - examples/rails4_root/features/delayed_job.feature
228
228
  - examples/rails4_root/features/errors.feature
229
229
  - examples/rails4_root/features/example.feature
230
+ - examples/rails4_root/features/step_definitions/email_steps.rb
230
231
  - examples/rails4_root/features/step_definitions/user_steps.rb
231
232
  - examples/rails4_root/features/step_definitions/web_steps.rb
232
233
  - examples/rails4_root/features/support/env.rb
@@ -260,6 +261,7 @@ files:
260
261
  - examples/sinatra_root/config.ru
261
262
  - examples/sinatra_root/features/errors.feature
262
263
  - examples/sinatra_root/features/example.feature
264
+ - examples/sinatra_root/features/step_definitions/email_steps.rb
263
265
  - examples/sinatra_root/features/step_definitions/user_steps.rb
264
266
  - examples/sinatra_root/features/step_definitions/web_steps.rb
265
267
  - examples/sinatra_root/features/support/env.rb
@@ -309,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
309
311
  - !ruby/object:Gem::Version
310
312
  version: '0'
311
313
  requirements: []
312
- rubygems_version: 3.3.21
314
+ rubygems_version: 3.4.10
313
315
  signing_key:
314
316
  specification_version: 4
315
317
  summary: Easily test email in RSpec, Cucumber or Minitest