diff options
Diffstat (limited to 'spec/views/about')
-rw-r--r-- | spec/views/about/_contact.html.haml_spec.rb | 38 | ||||
-rw-r--r-- | spec/views/about/_links.html.haml_spec.rb | 21 |
2 files changed, 59 insertions, 0 deletions
diff --git a/spec/views/about/_contact.html.haml_spec.rb b/spec/views/about/_contact.html.haml_spec.rb new file mode 100644 index 000000000..2a6decbce --- /dev/null +++ b/spec/views/about/_contact.html.haml_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe 'about/_contact.html.haml' do + describe 'the contact account' do + it 'shows info when account is present' do + account = Account.new(username: 'admin') + contact = double(contact_account: account, site_contact_email: '') + render 'about/contact', contact: contact + + expect(rendered).to have_content('@admin') + end + + it 'does not show info when account is missing' do + contact = double(contact_account: nil, site_contact_email: '') + render 'about/contact', contact: contact + + expect(rendered).not_to have_content('@') + end + end + + describe 'the contact email' do + it 'show info when email is present' do + contact = double(site_contact_email: 'admin@example.com', contact_account: nil) + render 'about/contact', contact: contact + + expect(rendered).to have_content('admin@example.com') + end + + it 'does not show info when email is missing' do + contact = double(site_contact_email: nil, contact_account: nil) + render 'about/contact', contact: contact + + expect(rendered).not_to have_content(I18n.t('about.business_email')) + end + end +end diff --git a/spec/views/about/_links.html.haml_spec.rb b/spec/views/about/_links.html.haml_spec.rb new file mode 100644 index 000000000..5d3950dce --- /dev/null +++ b/spec/views/about/_links.html.haml_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe 'about/_links.html.haml' do + it 'does not show sign in link when signed in' do + allow(view).to receive(:user_signed_in?).and_return(true) + render + + expect(rendered).to have_content(I18n.t('about.get_started')) + expect(rendered).not_to have_content(I18n.t('auth.login')) + end + + it 'shows sign in link when signed out' do + allow(view).to receive(:user_signed_in?).and_return(false) + render + + expect(rendered).to have_content(I18n.t('about.get_started')) + expect(rendered).to have_content(I18n.t('auth.login')) + end +end |