Commit 8457ee85 authored by Sincheol (David) Kim's avatar Sincheol (David) Kim

Merge branch '345475-helper-spec-follow-up' into 'master'

Use helper more consistently in spec file

See merge request gitlab-org/gitlab!75204
parents a72caacd 7e093b4d
...@@ -7,62 +7,62 @@ RSpec.describe TabHelper do ...@@ -7,62 +7,62 @@ RSpec.describe TabHelper do
describe 'gl_tabs_nav' do describe 'gl_tabs_nav' do
it 'creates a tabs navigation' do it 'creates a tabs navigation' do
expect(gl_tabs_nav).to match(%r{<ul class=".*" role="tablist"><\/ul>}) expect(helper.gl_tabs_nav).to match(%r{<ul class=".*" role="tablist"><\/ul>})
end end
it 'captures block output' do it 'captures block output' do
expect(gl_tabs_nav { "block content" }).to match(/block content/) expect(helper.gl_tabs_nav { "block content" }).to match(/block content/)
end end
it 'adds styles classes' do it 'adds styles classes' do
expect(gl_tabs_nav).to match(/class="nav gl-tabs-nav"/) expect(helper.gl_tabs_nav).to match(/class="nav gl-tabs-nav"/)
end end
it 'adds custom class' do it 'adds custom class' do
expect(gl_tabs_nav(class: 'my-class' )).to match(/class=".*my-class.*"/) expect(helper.gl_tabs_nav(class: 'my-class' )).to match(/class=".*my-class.*"/)
end end
end end
describe 'gl_tab_link_to' do describe 'gl_tab_link_to' do
before do before do
allow(self).to receive(:current_page?).and_return(false) allow(helper).to receive(:current_page?).and_return(false)
end end
it 'creates a tab' do it 'creates a tab' do
expect(gl_tab_link_to('Link', '/url')).to eq('<li class="nav-item" role="presentation"><a class="nav-link gl-tab-nav-item" href="/url">Link</a></li>') expect(helper.gl_tab_link_to('Link', '/url')).to eq('<li class="nav-item" role="presentation"><a class="nav-link gl-tab-nav-item" href="/url">Link</a></li>')
end end
it 'creates a tab with block output' do it 'creates a tab with block output' do
expect(gl_tab_link_to('/url') { 'block content' }).to match(/block content/) expect(helper.gl_tab_link_to('/url') { 'block content' }).to match(/block content/)
end end
it 'creates a tab with custom classes for enclosing list item without content block provided' do it 'creates a tab with custom classes for enclosing list item without content block provided' do
expect(gl_tab_link_to('Link', '/url', { tab_class: 'my-class' })).to match(/<li class=".*my-class.*"/) expect(helper.gl_tab_link_to('Link', '/url', { tab_class: 'my-class' })).to match(/<li class=".*my-class.*"/)
end end
it 'creates a tab with custom classes for enclosing list item with content block provided' do it 'creates a tab with custom classes for enclosing list item with content block provided' do
expect(gl_tab_link_to('/url', { tab_class: 'my-class' }) { 'Link' }).to match(/<li class=".*my-class.*"/) expect(helper.gl_tab_link_to('/url', { tab_class: 'my-class' }) { 'Link' }).to match(/<li class=".*my-class.*"/)
end end
it 'creates a tab with custom classes for anchor element' do it 'creates a tab with custom classes for anchor element' do
expect(gl_tab_link_to('Link', '/url', { class: 'my-class' })).to match(/<a class=".*my-class.*"/) expect(helper.gl_tab_link_to('Link', '/url', { class: 'my-class' })).to match(/<a class=".*my-class.*"/)
end end
it 'creates an active tab with item_active = true' do it 'creates an active tab with item_active = true' do
expect(gl_tab_link_to('Link', '/url', { item_active: true })).to match(/<a class=".*active gl-tab-nav-item-active gl-tab-nav-item-active-indigo.*"/) expect(helper.gl_tab_link_to('Link', '/url', { item_active: true })).to match(/<a class=".*active gl-tab-nav-item-active gl-tab-nav-item-active-indigo.*"/)
end end
context 'when on the active page' do context 'when on the active page' do
before do before do
allow(self).to receive(:current_page?).and_return(true) allow(helper).to receive(:current_page?).and_return(true)
end end
it 'creates an active tab' do it 'creates an active tab' do
expect(gl_tab_link_to('Link', '/url')).to match(/<a class=".*active gl-tab-nav-item-active gl-tab-nav-item-active-indigo.*"/) expect(helper.gl_tab_link_to('Link', '/url')).to match(/<a class=".*active gl-tab-nav-item-active gl-tab-nav-item-active-indigo.*"/)
end end
it 'creates an inactive tab with item_active = false' do it 'creates an inactive tab with item_active = false' do
expect(gl_tab_link_to('Link', '/url', { item_active: false })).not_to match(/<a class=".*active.*"/) expect(helper.gl_tab_link_to('Link', '/url', { item_active: false })).not_to match(/<a class=".*active.*"/)
end end
end end
end end
...@@ -72,18 +72,18 @@ RSpec.describe TabHelper do ...@@ -72,18 +72,18 @@ RSpec.describe TabHelper do
before do before do
allow(controller).to receive(:controller_name).and_return('foo') allow(controller).to receive(:controller_name).and_return('foo')
allow(self).to receive(:action_name).and_return('foo') allow(helper).to receive(:action_name).and_return('foo')
end end
context 'with the content of the li' do context 'with the content of the li' do
it 'captures block output' do it 'captures block output' do
expect(nav_link { "Testing Blocks" }).to match(/Testing Blocks/) expect(helper.nav_link { "Testing Blocks" }).to match(/Testing Blocks/)
end end
end end
it 'passes extra html options to the list element' do it 'passes extra html options to the list element' do
expect(nav_link(action: :foo, html_options: { class: 'home' })).to match(/<li class="home active">/) expect(helper.nav_link(action: :foo, html_options: { class: 'home' })).to match(/<li class="home active">/)
expect(nav_link(html_options: { class: 'active' })).to match(/<li class="active">/) expect(helper.nav_link(html_options: { class: 'active' })).to match(/<li class="active">/)
end end
where(:controller_param, :action_param, :path_param, :active) do where(:controller_param, :action_param, :path_param, :active) do
...@@ -120,7 +120,7 @@ RSpec.describe TabHelper do ...@@ -120,7 +120,7 @@ RSpec.describe TabHelper do
with_them do with_them do
specify do specify do
result = nav_link(controller: controller_param, action: action_param, path: path_param) result = helper.nav_link(controller: controller_param, action: action_param, path: path_param)
if active if active
expect(result).to match(/active/) expect(result).to match(/active/)
...@@ -147,7 +147,7 @@ RSpec.describe TabHelper do ...@@ -147,7 +147,7 @@ RSpec.describe TabHelper do
with_them do with_them do
specify do specify do
result = nav_link(controller: controller_param, action: action_param, path: path_param) result = helper.nav_link(controller: controller_param, action: action_param, path: path_param)
if active if active
expect(result).to match(/active/) expect(result).to match(/active/)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment