diff options
author | Alexandru Croitor <acroitor@gitlab.com> | 2019-02-20 18:18:15 +0300 |
---|---|---|
committer | Alexandru Croitor <acroitor@gitlab.com> | 2019-02-27 23:07:50 +0300 |
commit | 77985826d94454514c40b8da926e13b3b3791841 (patch) | |
tree | 00da4c2f5b72001e38b56e9d994cabc278ec0d7c /spec/helpers | |
parent | 177f9ca88b4d080e91b6c4ce2bba04d2fba95c07 (diff) |
Show header and footer system messages in email
* Add email_header_and_footer_enabled flag to appearances table
* Set email_header_and_footer_enabled default value to false
* Add checkbox to appearance to toggle show header and footer in emails
* Add email_header_and_footer_enabled to allowed params in controller
* Add header and footer messages to the html and text email layouts
* Remove the color styling for emails header and footer
* Add empty_mailer layout for emails without layout,
to have the header and footer applied
Diffstat (limited to 'spec/helpers')
-rw-r--r-- | spec/helpers/emails_helper_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/helpers/emails_helper_spec.rb b/spec/helpers/emails_helper_spec.rb index 23d7e41803e..03b4c19ec22 100644 --- a/spec/helpers/emails_helper_spec.rb +++ b/spec/helpers/emails_helper_spec.rb @@ -142,4 +142,58 @@ describe EmailsHelper do end end end + + describe 'header and footer messages' do + context 'when email_header_and_footer_enabled is enabled' do + it 'returns header and footer messages' do + create :appearance, header_message: 'Foo', footer_message: 'Bar', email_header_and_footer_enabled: true + + aggregate_failures do + expect(html_header_message).to eq(%{<div class="header-message" style=""><p>Foo</p></div>}) + expect(html_footer_message).to eq(%{<div class="footer-message" style=""><p>Bar</p></div>}) + expect(text_header_message).to eq('Foo') + expect(text_footer_message).to eq('Bar') + end + end + + context 'when header and footer messages are empty' do + it 'returns nil' do + create :appearance, header_message: '', footer_message: '', email_header_and_footer_enabled: true + + aggregate_failures do + expect(html_header_message).to eq(nil) + expect(html_footer_message).to eq(nil) + expect(text_header_message).to eq(nil) + expect(text_footer_message).to eq(nil) + end + end + end + + context 'when header and footer messages are nil' do + it 'returns nil' do + create :appearance, header_message: nil, footer_message: nil, email_header_and_footer_enabled: true + + aggregate_failures do + expect(html_header_message).to eq(nil) + expect(html_footer_message).to eq(nil) + expect(text_header_message).to eq(nil) + expect(text_footer_message).to eq(nil) + end + end + end + end + + context 'when email_header_and_footer_enabled is disabled' do + it 'returns header and footer messages' do + create :appearance, header_message: 'Foo', footer_message: 'Bar', email_header_and_footer_enabled: false + + aggregate_failures do + expect(html_header_message).to eq(nil) + expect(html_footer_message).to eq(nil) + expect(text_header_message).to eq(nil) + expect(text_footer_message).to eq(nil) + end + end + end + end end |