Use organization name for title link if available, but link to /

This commit is contained in:
James Mason 2017-11-07 13:51:10 -08:00
parent e99287d18a
commit 1b8f864feb
No known key found for this signature in database
GPG key ID: 1B3951886C449023
4 changed files with 41 additions and 9 deletions

View file

@ -171,4 +171,18 @@ module ApplicationHelper
def hidden_if_conference_over(conference)
'hidden' if Date.today > conference.end_date
end
def nav_root_link_for(conference)
link_text = (
conference.try(:organization).try(:name) ||
ENV['OSEM_NAME'] ||
'OSEM'
)
link_to(
link_text,
root_path,
class: 'navbar-brand',
title: 'Open Source Event Manager'
)
end
end

View file

@ -13,10 +13,8 @@
%span.icon-bar
%span.icon-bar
%span.icon-bar
- if conference.nil? || conference.new_record?
= link_to (ENV['OSEM_NAME'] || 'OSEM'), root_path, class: 'navbar-brand', title: 'Open Source Event Manager'
- else
= link_to conference.organization.name, organizations_path, class: 'navbar-brand', title: 'Open Source Event Manager'
= nav_root_link_for conference
.collapse.navbar-collapse#main-nav
- if content_for :splash_nav
%ul.nav.navbar-nav#splash-nav

View file

@ -62,14 +62,18 @@ feature Splashpage do
end
end
context 'public splashpage already created' do
context 'navigation' do
let!(:splashpage) { create(:splashpage, conference: conference, public: true)}
scenario 'should have organization name', feature: true, js: true do
sign_in participant
visit conference_path(conference.short_title)
context 'multiple organizations' do
let!(:additional_organization) { create(:organization) }
expect(page).to have_text(conference.organization.name)
scenario 'should have organization name', feature: true, js: true do
sign_in participant
visit conference_path(conference.short_title)
expect(page).to have_text(conference.organization.name)
end
end
end
end

View file

@ -58,5 +58,21 @@ describe ApplicationHelper, type: :helper do
expect(concurrent_events(event).present?).to eq false
end
end
describe 'navigation title link' do
it 'should default to OSEM' do
ENV.delete('OSEM_NAME')
expect(nav_root_link_for(nil)).to match 'OSEM'
end
it 'should use the environment variable' do
ENV['OSEM_NAME'] = Faker::Company.name
expect(nav_root_link_for(nil)).to match ENV['OSEM_NAME']
end
it 'should use the conference organization name' do
expect(nav_root_link_for(conference)).to match conference.organization.name
end
end
end
end