foreman/test/helpers/pagelets_helper_test.rb @ b5eca9b3
208d9743 | Ondrej Prazak | require 'test_helper'
|
|
36483d66 | Dominic Cleal | require 'pagelets_test_helper'
|
|
208d9743 | Ondrej Prazak | ||
class PageletsHelperTest < ActionView::TestCase
|
|||
include PageletsHelper
|
|||
36483d66 | Dominic Cleal | include PageletsIsolation
|
|
fd12fc8f | Dominic Cleal | ||
setup do
|
|||
b5eca9b3 | Michael Moll | controller.prepend_view_path File.expand_path('../static_fixtures/views', __dir__)
|
|
49cfbd45 | Ondrej Prazak | self.stubs(:virtual_path).returns("nonexisting/path")
|
|
fd12fc8f | Dominic Cleal | end
|
|
208d9743 | Ondrej Prazak | def action_name
|
|
"test"
|
|||
end
|
|||
test "should find pagelets for page and mountpoint" do
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "Name",
|
|||
fd12fc8f | Dominic Cleal | :partial => "test")
|
|
208d9743 | Ondrej Prazak | Pagelets::Manager.add_pagelet("smart_proxies/show", :main_tabs,
|
|
:name => "My name",
|
|||
fd12fc8f | Dominic Cleal | :partial => "test")
|
|
208d9743 | Ondrej Prazak | pagelets = pagelets_for(:main_tabs)
|
|
assert pagelets.any? { |p| p.name == "Name" }
|
|||
refute pagelets.any? { |p| p.name == "My name"}
|
|||
end
|
|||
test "should show appropriate tab headers" do
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "Visible",
|
|||
fd12fc8f | Dominic Cleal | :partial => "test",
|
|
208d9743 | Ondrej Prazak | :onlyif => Proc.new { true })
|
|
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "Hidden",
|
|||
fd12fc8f | Dominic Cleal | :partial => "test",
|
|
208d9743 | Ondrej Prazak | :onlyif => Proc.new { false })
|
|
result = render_tab_header_for :main_tabs
|
|||
assert result.match /Visible/
|
|||
refute result.match /Hidden/
|
|||
end
|
|||
test "show page renders basic pagelets" do
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
49cfbd45 | Ondrej Prazak | :name => "TestTab",
|
|
:partial => "test")
|
|||
208d9743 | Ondrej Prazak | result = render_tab_content_for :main_tabs
|
|
assert result.match /This is test partial/
|
|||
end
|
|||
test "show page renders correct id for pagelet" do
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
49cfbd45 | Ondrej Prazak | :name => "TestTab",
|
|
:partial => "test",
|
|||
:id => "my-special-id")
|
|||
208d9743 | Ondrej Prazak | result = render_tab_content_for :main_tabs
|
|
assert result.match /id='my-special-id'/
|
|||
end
|
|||
49cfbd45 | Ondrej Prazak | ||
test "should render pagelet using virtual path" do
|
|||
self.stubs(:virtual_path).returns("tests/_form")
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "TestTab",
|
|||
:partial => "test")
|
|||
Pagelets::Manager.add_pagelet("tests/_form", :main_tabs,
|
|||
:name => "VirtualPathTab",
|
|||
:partial => "test")
|
|||
pagelets = pagelets_for(:main_tabs)
|
|||
assert pagelets.any? { |p| p.name == "VirtualPathTab" }
|
|||
assert_equal 2, pagelets.count
|
|||
end
|
|||
test "should return sorted pagelets" do
|
|||
self.stubs(:virtual_path).returns("tests/_form")
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "TestTab",
|
|||
:partial => "test")
|
|||
Pagelets::Manager.add_pagelet("tests/_form", :main_tabs,
|
|||
:name => "VirtualPathTab",
|
|||
:partial => "test",
|
|||
:priority => 50)
|
|||
pagelets = pagelets_for(:main_tabs)
|
|||
assert_equal "VirtualPathTab", pagelets.first.name
|
|||
end
|
|||
test "should not duplicate pagelets" do
|
|||
self.stubs(:virtual_path).returns("test/test")
|
|||
Pagelets::Manager.add_pagelet("test/test", :main_tabs,
|
|||
:name => "TestTab",
|
|||
:partial => "test")
|
|||
assert_equal 1, pagelets_for(:main_tabs).length
|
|||
end
|
|||
208d9743 | Ondrej Prazak | end
|