spreewald 3.0.2 → 3.0.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/spreewald_support/mail_finder.rb +5 -0
- data/lib/spreewald_support/version.rb +1 -1
- data/tests/rails-3_capybara-1/Gemfile.lock +1 -1
- data/tests/rails-3_capybara-2/Gemfile.lock +1 -1
- data/tests/rails-4_capybara-3/Gemfile.lock +1 -1
- data/tests/rails-6_capybara-3/Gemfile.lock +1 -1
- data/tests/rails-6_capybara-3/app/mailers/spreewald_mailer.rb +16 -0
- data/tests/shared/app/controllers/emails_controller.rb +20 -0
- data/tests/shared/app/models/mailer.rb +32 -0
- data/tests/shared/app/views/mailer/html_email_for_failed_test_without_header.haml +5 -0
- data/tests/shared/app/views/mailer/html_email_for_successful_test_without_header.haml +7 -0
- data/tests/shared/app/views/mailer/text_email_for_failed_test_without_header.text.erb +1 -0
- data/tests/shared/app/views/mailer/text_email_for_successful_test_without_header.text.erb +3 -0
- data/tests/shared/config/routes.rb +4 -0
- data/tests/shared/features/shared/email_steps.feature +121 -0
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a51defb2267ab0f0f6e9123b474e0069758e59eaa3f18cadefdfdb81a5f5760
|
4
|
+
data.tar.gz: f47297c29b676ee194c1dbc2f335eab608afefa9730e124e8811d4542089031e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b93c18acce9d744364898f65e6f3597d06b37ed85d69bb81e3593521d0433bc56338b974c32133c0fce749190ee8af63c146b355e12601397b3641d4424380d
|
7
|
+
data.tar.gz: b675ad24c9c6e9836880d9111f1538d8f3b5c2d91e390dc5ee5165842cb19298d039fa428405dd47df20daa40b59234f641fcc3e4cab2cf0f6405449ecad981c
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## 3.0.3
|
7
|
+
|
8
|
+
- The `an email should have been sent with` step now interprets all lines as body when not specifying headers (see issue [#157](https://github.com/makandra/spreewald/issues/157))
|
9
|
+
|
6
10
|
## 3.0.2
|
7
11
|
|
8
12
|
- Introduce wildcard for the beginning of a line. (see issue [#155](https://github.com/makandra/spreewald/issues/155))
|
@@ -15,6 +15,11 @@ class MailFinder
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
# Interpret all lines as body if there are no header-link lines
|
19
|
+
if conditions.blank?
|
20
|
+
body = [header, body].join("\n\n")
|
21
|
+
end
|
22
|
+
|
18
23
|
filename_method = Rails::VERSION::MAJOR < 3 ? 'original_filename' : 'filename'
|
19
24
|
matching_header = ActionMailer::Base.deliveries.select do |mail|
|
20
25
|
[ conditions[:to].nil? || mail.to.include?(resolve_email conditions[:to]),
|
@@ -46,5 +46,21 @@ class SpreewaldMailer < ApplicationMailer
|
|
46
46
|
email
|
47
47
|
end
|
48
48
|
|
49
|
+
def html_email_for_successful_test_without_header
|
50
|
+
email
|
51
|
+
end
|
52
|
+
|
53
|
+
def text_email_for_successful_test_without_header
|
54
|
+
email
|
55
|
+
end
|
56
|
+
|
57
|
+
def html_email_for_failed_test_without_header
|
58
|
+
email
|
59
|
+
end
|
60
|
+
|
61
|
+
def text_email_for_failed_test_without_header
|
62
|
+
email
|
63
|
+
end
|
64
|
+
|
49
65
|
end
|
50
66
|
|
@@ -44,6 +44,26 @@ class EmailsController < ApplicationController
|
|
44
44
|
render_nothing
|
45
45
|
end
|
46
46
|
|
47
|
+
def send_html_email_for_successful_test_without_header
|
48
|
+
deliver :html_email_for_successful_test_without_header
|
49
|
+
render_nothing
|
50
|
+
end
|
51
|
+
|
52
|
+
def send_text_email_for_successful_test_without_header
|
53
|
+
deliver :text_email_for_successful_test_without_header
|
54
|
+
render_nothing
|
55
|
+
end
|
56
|
+
|
57
|
+
def send_html_email_for_failed_test_without_header
|
58
|
+
deliver :html_email_for_failed_test_without_header
|
59
|
+
render_nothing
|
60
|
+
end
|
61
|
+
|
62
|
+
def send_text_email_for_failed_test_without_header
|
63
|
+
deliver :text_email_for_failed_test_without_header
|
64
|
+
render_nothing
|
65
|
+
end
|
66
|
+
|
47
67
|
private
|
48
68
|
|
49
69
|
def deliver(method_name)
|
@@ -49,6 +49,22 @@ class Mailer < ActionMailer::Base
|
|
49
49
|
email
|
50
50
|
end
|
51
51
|
|
52
|
+
def html_email_for_successful_test_without_header
|
53
|
+
email
|
54
|
+
end
|
55
|
+
|
56
|
+
def text_email_for_successful_test_without_header
|
57
|
+
email
|
58
|
+
end
|
59
|
+
|
60
|
+
def html_email_for_failed_test_without_header
|
61
|
+
email
|
62
|
+
end
|
63
|
+
|
64
|
+
def text_email_for_failed_test_without_header
|
65
|
+
email
|
66
|
+
end
|
67
|
+
|
52
68
|
else
|
53
69
|
|
54
70
|
def email
|
@@ -82,6 +98,22 @@ class Mailer < ActionMailer::Base
|
|
82
98
|
email
|
83
99
|
end
|
84
100
|
|
101
|
+
def html_email_for_successful_test_without_header
|
102
|
+
email
|
103
|
+
end
|
104
|
+
|
105
|
+
def text_email_for_successful_test_without_header
|
106
|
+
email
|
107
|
+
end
|
108
|
+
|
109
|
+
def html_email_for_failed_test_without_header
|
110
|
+
email
|
111
|
+
end
|
112
|
+
|
113
|
+
def text_email_for_failed_test_without_header
|
114
|
+
email
|
115
|
+
end
|
116
|
+
|
85
117
|
end
|
86
118
|
|
87
119
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Bye
|
@@ -13,6 +13,10 @@ Rails.application.routes.draw do
|
|
13
13
|
get '/emails/send_html_email_with_linebreaks', to: 'emails#send_html_email_with_linebreaks'
|
14
14
|
get '/emails/send_html_email_with_specific_line', to: 'emails#send_html_email_with_specific_line'
|
15
15
|
get '/emails/send_text_email_with_specific_line', to: 'emails#send_text_email_with_specific_line'
|
16
|
+
get '/emails/send_html_email_for_successful_test_without_header', to: 'emails#send_html_email_for_successful_test_without_header'
|
17
|
+
get '/emails/send_text_email_for_successful_test_without_header', to: 'emails#send_text_email_for_successful_test_without_header'
|
18
|
+
get '/emails/send_html_email_for_failed_test_without_header', to: 'emails#send_html_email_for_failed_test_without_header'
|
19
|
+
get '/emails/send_text_email_for_failed_test_without_header', to: 'emails#send_text_email_for_failed_test_without_header'
|
16
20
|
|
17
21
|
get '/forms/checkbox_form', to: 'forms#checkbox_form'
|
18
22
|
get '/forms/disabled_elements', to: 'forms#disabled_elements'
|
@@ -324,6 +324,127 @@ Feature: Test Spreewald's email steps
|
|
324
324
|
'''
|
325
325
|
"""
|
326
326
|
|
327
|
+
# Tests without header
|
328
|
+
When I clear my emails
|
329
|
+
And I go to "/emails/send_text_email_for_successful_test_without_header"
|
330
|
+
Then the following multiline step should succeed:
|
331
|
+
"""
|
332
|
+
Then an email should have been sent with:
|
333
|
+
'''
|
334
|
+
Hello
|
335
|
+
|
336
|
+
Bye
|
337
|
+
'''
|
338
|
+
"""
|
339
|
+
And the following multiline step should succeed:
|
340
|
+
"""
|
341
|
+
Then an email should have been sent with:
|
342
|
+
'''
|
343
|
+
To: to@example.com
|
344
|
+
|
345
|
+
Hello
|
346
|
+
|
347
|
+
Bye
|
348
|
+
'''
|
349
|
+
"""
|
350
|
+
But the following multiline step should fail:
|
351
|
+
"""
|
352
|
+
Then an email should have been sent with:
|
353
|
+
'''
|
354
|
+
To: wrong-guy@example.com
|
355
|
+
|
356
|
+
Hello
|
357
|
+
|
358
|
+
Bye
|
359
|
+
'''
|
360
|
+
"""
|
361
|
+
|
362
|
+
When I clear my emails
|
363
|
+
And I go to "/emails/send_text_email_for_failed_test_without_header"
|
364
|
+
Then the following multiline step should fail:
|
365
|
+
"""
|
366
|
+
Then an email should have been sent with:
|
367
|
+
'''
|
368
|
+
Hello
|
369
|
+
|
370
|
+
Bye
|
371
|
+
'''
|
372
|
+
"""
|
373
|
+
But the following multiline step should succeed:
|
374
|
+
"""
|
375
|
+
Then an email should have been sent with:
|
376
|
+
'''
|
377
|
+
Bye
|
378
|
+
'''
|
379
|
+
"""
|
380
|
+
And the following multiline step should succeed:
|
381
|
+
"""
|
382
|
+
Then an email should have been sent with:
|
383
|
+
'''
|
384
|
+
To: to@example.com
|
385
|
+
|
386
|
+
Bye
|
387
|
+
'''
|
388
|
+
"""
|
389
|
+
|
390
|
+
When I clear my emails
|
391
|
+
And I go to "/emails/send_html_email_for_successful_test_without_header"
|
392
|
+
Then the following multiline step should succeed:
|
393
|
+
"""
|
394
|
+
Then an email should have been sent with:
|
395
|
+
'''
|
396
|
+
Hello
|
397
|
+
Bye
|
398
|
+
'''
|
399
|
+
"""
|
400
|
+
And the following multiline step should succeed:
|
401
|
+
"""
|
402
|
+
Then an email should have been sent with:
|
403
|
+
'''
|
404
|
+
To: to@example.com
|
405
|
+
|
406
|
+
Hello
|
407
|
+
Bye
|
408
|
+
'''
|
409
|
+
"""
|
410
|
+
But the following multiline step should fail:
|
411
|
+
"""
|
412
|
+
Then an email should have been sent with:
|
413
|
+
'''
|
414
|
+
To: wrong-guy@example.com
|
415
|
+
|
416
|
+
Hello
|
417
|
+
Bye
|
418
|
+
'''
|
419
|
+
"""
|
420
|
+
|
421
|
+
When I clear my emails
|
422
|
+
And I go to "/emails/send_html_email_for_failed_test_without_header"
|
423
|
+
Then the following multiline step should fail:
|
424
|
+
"""
|
425
|
+
Then an email should have been sent with:
|
426
|
+
'''
|
427
|
+
Hello
|
428
|
+
Bye
|
429
|
+
'''
|
430
|
+
"""
|
431
|
+
But the following multiline step should succeed:
|
432
|
+
"""
|
433
|
+
Then an email should have been sent with:
|
434
|
+
'''
|
435
|
+
Bye
|
436
|
+
'''
|
437
|
+
"""
|
438
|
+
And the following multiline step should succeed:
|
439
|
+
"""
|
440
|
+
Then an email should have been sent with:
|
441
|
+
'''
|
442
|
+
To: to@example.com
|
443
|
+
|
444
|
+
Bye
|
445
|
+
'''
|
446
|
+
"""
|
447
|
+
|
327
448
|
Scenario: /^I follow the (first|second|third)? ?link in the e?mail$/ (HTML e-mail body)
|
328
449
|
When I go to "/emails/send_html_email_with_links"
|
329
450
|
And I follow the first link in the email
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spreewald
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Kraze
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -348,9 +348,13 @@ files:
|
|
348
348
|
- tests/shared/app/views/mailer/email.text.erb
|
349
349
|
- tests/shared/app/views/mailer/email_crlf.text.erb
|
350
350
|
- tests/shared/app/views/mailer/email_with_umlauts.text.erb
|
351
|
+
- tests/shared/app/views/mailer/html_email_for_failed_test_without_header.haml
|
352
|
+
- tests/shared/app/views/mailer/html_email_for_successful_test_without_header.haml
|
351
353
|
- tests/shared/app/views/mailer/html_email_with_linebreaks.html
|
352
354
|
- tests/shared/app/views/mailer/html_email_with_links.haml
|
353
355
|
- tests/shared/app/views/mailer/html_email_with_specific_line.haml
|
356
|
+
- tests/shared/app/views/mailer/text_email_for_failed_test_without_header.text.erb
|
357
|
+
- tests/shared/app/views/mailer/text_email_for_successful_test_without_header.text.erb
|
354
358
|
- tests/shared/app/views/mailer/text_email_with_links.text.erb
|
355
359
|
- tests/shared/app/views/mailer/text_email_with_specific_line.text.erb
|
356
360
|
- tests/shared/app/views/spreewald_mailer
|
@@ -413,7 +417,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
413
417
|
- !ruby/object:Gem::Version
|
414
418
|
version: '0'
|
415
419
|
requirements: []
|
416
|
-
rubygems_version: 3.
|
420
|
+
rubygems_version: 3.0.3
|
417
421
|
signing_key:
|
418
422
|
specification_version: 4
|
419
423
|
summary: Collection of useful cucumber steps.
|
@@ -584,9 +588,13 @@ test_files:
|
|
584
588
|
- tests/shared/app/views/mailer/email.text.erb
|
585
589
|
- tests/shared/app/views/mailer/email_crlf.text.erb
|
586
590
|
- tests/shared/app/views/mailer/email_with_umlauts.text.erb
|
591
|
+
- tests/shared/app/views/mailer/html_email_for_failed_test_without_header.haml
|
592
|
+
- tests/shared/app/views/mailer/html_email_for_successful_test_without_header.haml
|
587
593
|
- tests/shared/app/views/mailer/html_email_with_linebreaks.html
|
588
594
|
- tests/shared/app/views/mailer/html_email_with_links.haml
|
589
595
|
- tests/shared/app/views/mailer/html_email_with_specific_line.haml
|
596
|
+
- tests/shared/app/views/mailer/text_email_for_failed_test_without_header.text.erb
|
597
|
+
- tests/shared/app/views/mailer/text_email_for_successful_test_without_header.text.erb
|
590
598
|
- tests/shared/app/views/mailer/text_email_with_links.text.erb
|
591
599
|
- tests/shared/app/views/mailer/text_email_with_specific_line.text.erb
|
592
600
|
- tests/shared/app/views/spreewald_mailer
|