email_spec 2.1.1 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,103 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- email_spec (2.1.0)
5
- htmlentities (~> 4.3.3)
6
- launchy (~> 2.1)
7
- mail (~> 2.6)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- addressable (2.5.1)
13
- public_suffix (~> 2.0, >= 2.0.2)
14
- builder (3.2.3)
15
- capybara (2.14.0)
16
- addressable
17
- mime-types (>= 1.16)
18
- nokogiri (>= 1.3.3)
19
- rack (>= 1.0.0)
20
- rack-test (>= 0.5.4)
21
- xpath (~> 2.0)
22
- cucumber (2.4.0)
23
- builder (>= 2.1.2)
24
- cucumber-core (~> 1.5.0)
25
- cucumber-wire (~> 0.0.1)
26
- diff-lcs (>= 1.1.3)
27
- gherkin (~> 4.0)
28
- multi_json (>= 1.7.5, < 2.0)
29
- multi_test (>= 0.1.2)
30
- cucumber-core (1.5.0)
31
- gherkin (~> 4.0)
32
- cucumber-sinatra (0.5.0)
33
- templater (>= 1.0.0)
34
- cucumber-wire (0.0.1)
35
- diff-lcs (1.3)
36
- extlib (0.9.16)
37
- gherkin (4.1.3)
38
- highline (1.7.8)
39
- htmlentities (4.3.4)
40
- launchy (2.4.3)
41
- addressable (~> 2.3)
42
- mail (2.6.5)
43
- mime-types (>= 1.16, < 4)
44
- mime-types (3.1)
45
- mime-types-data (~> 3.2015)
46
- mime-types-data (3.2016.0521)
47
- mini_portile2 (2.1.0)
48
- multi_json (1.12.1)
49
- multi_test (0.1.2)
50
- mustermann (1.0.0)
51
- nokogiri (1.7.2)
52
- mini_portile2 (~> 2.1.0)
53
- pony (1.11)
54
- mail (>= 2.0)
55
- public_suffix (2.0.5)
56
- rack (2.0.3)
57
- rack-protection (2.0.0)
58
- rack
59
- rack-test (0.6.3)
60
- rack (>= 1.0)
61
- rspec (3.6.0)
62
- rspec-core (~> 3.6.0)
63
- rspec-expectations (~> 3.6.0)
64
- rspec-mocks (~> 3.6.0)
65
- rspec-core (3.6.0)
66
- rspec-support (~> 3.6.0)
67
- rspec-expectations (3.6.0)
68
- diff-lcs (>= 1.2.0, < 2.0)
69
- rspec-support (~> 3.6.0)
70
- rspec-mocks (3.6.0)
71
- diff-lcs (>= 1.2.0, < 2.0)
72
- rspec-support (~> 3.6.0)
73
- rspec-support (3.6.0)
74
- sinatra (2.0.0)
75
- mustermann (~> 1.0)
76
- rack (~> 2.0)
77
- rack-protection (= 2.0.0)
78
- tilt (~> 2.0)
79
- templater (1.0.0)
80
- diff-lcs (>= 1.1.2)
81
- extlib (>= 0.9.5)
82
- highline (>= 1.4.0)
83
- tilt (2.0.7)
84
- xpath (2.0.0)
85
- nokogiri (~> 1.3)
86
-
87
- PLATFORMS
88
- ruby
89
-
90
- DEPENDENCIES
91
- capybara
92
- cucumber
93
- cucumber-sinatra
94
- email_spec!
95
- nokogiri
96
- pony
97
- rack-test
98
- rspec
99
- sinatra
100
- xpath
101
-
102
- BUNDLED WITH
103
- 1.14.6
@@ -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