diff options
author | Matt Jankowski <mjankowski@thoughtbot.com> | 2017-04-15 07:33:25 -0400 |
---|---|---|
committer | Eugen <eugen@zeonfederated.com> | 2017-04-15 13:33:25 +0200 |
commit | 3b8908c11470f63d846c631f26cf45f9a4b28663 (patch) | |
tree | df65177050bc032517ec49f9bc81a288e80e526c /spec | |
parent | 7b10794afb07c09719756d430c29b9d2e96cffac (diff) |
About page contact email (#1839)
* Correct site_contact_email typo * Separate about more page into partials, add specs
Diffstat (limited to 'spec')
-rw-r--r-- | spec/presenters/instance_presenter_spec.rb | 4 | ||||
-rw-r--r-- | spec/views/about/_contact.html.haml_spec.rb | 38 | ||||
-rw-r--r-- | spec/views/about/_links.html.haml_spec.rb | 21 |
3 files changed, 61 insertions, 2 deletions
diff --git a/spec/presenters/instance_presenter_spec.rb b/spec/presenters/instance_presenter_spec.rb index 0f318d9c3..2de63eacc 100644 --- a/spec/presenters/instance_presenter_spec.rb +++ b/spec/presenters/instance_presenter_spec.rb @@ -28,9 +28,9 @@ describe InstancePresenter do end it "delegates contact_email to Setting" do - Setting.contact_email = "admin@example.com" + Setting.site_contact_email = "admin@example.com" - expect(instance_presenter.contact_email).to eq "admin@example.com" + expect(instance_presenter.site_contact_email).to eq "admin@example.com" end describe "contact_account" do 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 |