email_spec 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,107 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- email_spec (2.1.2)
5
- htmlentities (~> 4.3.3)
6
- launchy (~> 2.1)
7
- mail (~> 2.7)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- addressable (2.5.2)
13
- public_suffix (>= 2.0.2, < 4.0)
14
- backports (3.11.1)
15
- builder (3.2.3)
16
- capybara (2.18.0)
17
- addressable
18
- mini_mime (>= 0.1.3)
19
- nokogiri (>= 1.3.3)
20
- rack (>= 1.0.0)
21
- rack-test (>= 0.5.4)
22
- xpath (>= 2.0, < 4.0)
23
- cucumber (3.1.0)
24
- builder (>= 2.1.2)
25
- cucumber-core (~> 3.1.0)
26
- cucumber-expressions (~> 5.0.4)
27
- cucumber-wire (~> 0.0.1)
28
- diff-lcs (~> 1.3)
29
- gherkin (~> 5.0)
30
- multi_json (>= 1.7.5, < 2.0)
31
- multi_test (>= 0.1.2)
32
- cucumber-core (3.1.0)
33
- backports (>= 3.8.0)
34
- cucumber-tag_expressions (~> 1.1.0)
35
- gherkin (>= 5.0.0)
36
- cucumber-expressions (5.0.13)
37
- cucumber-sinatra (0.5.0)
38
- templater (>= 1.0.0)
39
- cucumber-tag_expressions (1.1.1)
40
- cucumber-wire (0.0.1)
41
- diff-lcs (1.3)
42
- extlib (0.9.16)
43
- gherkin (5.0.0)
44
- highline (1.7.10)
45
- htmlentities (4.3.4)
46
- launchy (2.4.3)
47
- addressable (~> 2.3)
48
- mail (2.7.0)
49
- mini_mime (>= 0.1.1)
50
- mini_mime (1.0.0)
51
- mini_portile2 (2.3.0)
52
- multi_json (1.13.1)
53
- multi_test (0.1.2)
54
- mustermann (1.0.2)
55
- nokogiri (1.8.2)
56
- mini_portile2 (~> 2.3.0)
57
- pony (1.12)
58
- mail (>= 2.0)
59
- public_suffix (3.0.2)
60
- rack (2.0.4)
61
- rack-protection (2.0.1)
62
- rack
63
- rack-test (1.0.0)
64
- rack (>= 1.0, < 3)
65
- rspec (3.7.0)
66
- rspec-core (~> 3.7.0)
67
- rspec-expectations (~> 3.7.0)
68
- rspec-mocks (~> 3.7.0)
69
- rspec-core (3.7.1)
70
- rspec-support (~> 3.7.0)
71
- rspec-expectations (3.7.0)
72
- diff-lcs (>= 1.2.0, < 2.0)
73
- rspec-support (~> 3.7.0)
74
- rspec-mocks (3.7.0)
75
- diff-lcs (>= 1.2.0, < 2.0)
76
- rspec-support (~> 3.7.0)
77
- rspec-support (3.7.1)
78
- sinatra (2.0.1)
79
- mustermann (~> 1.0)
80
- rack (~> 2.0)
81
- rack-protection (= 2.0.1)
82
- tilt (~> 2.0)
83
- templater (1.0.0)
84
- diff-lcs (>= 1.1.2)
85
- extlib (>= 0.9.5)
86
- highline (>= 1.4.0)
87
- tilt (2.0.8)
88
- xpath (3.0.0)
89
- nokogiri (~> 1.8)
90
-
91
- PLATFORMS
92
- ruby
93
-
94
- DEPENDENCIES
95
- capybara
96
- cucumber
97
- cucumber-sinatra
98
- email_spec!
99
- nokogiri
100
- pony
101
- rack-test
102
- rspec
103
- sinatra
104
- xpath
105
-
106
- BUNDLED WITH
107
- 1.16.1
@@ -1,226 +0,0 @@
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