require File.dirname(__FILE__) + '/../test_helper'
class CmsLayoutTest < ActiveSupport::TestCase
def test_fixtures_validity
CmsLayout.all.each do |layout|
assert layout.valid?
end
end
def test_validations
layout = CmsLayout.create
assert layout.errors.present?
assert_has_errors_on layout, [:label, :slug, :content]
end
def test_options_for_select
assert_equal ['Default Layout', 'Nested Layout', '. . Child Layout'],
CmsLayout.options_for_select(cms_sites(:default)).collect{|t| t.first}
assert_equal ['Default Layout', 'Nested Layout'],
CmsLayout.options_for_select(cms_sites(:default), cms_layouts(:child)).collect{|t| t.first}
assert_equal ['Default Layout'],
CmsLayout.options_for_select(cms_sites(:default), cms_layouts(:nested)).collect{|t| t.first}
end
def test_app_layouts_for_select
assert_equal ['cms_admin.html.erb'], CmsLayout.app_layouts_for_select
end
def test_merged_content
parent_layout = cms_layouts(:nested)
layout = cms_layouts(:child)
assert_equal "\n\n", layout.merged_content
assert_equal "\n", layout.content
parent_layout.update_attribute(:content, '')
layout.reload
assert_equal "\n", layout.merged_content
end
def test_merged_css
assert_equal "nested_css\nchild_css", cms_layouts(:child).merged_css
end
def test_merged_js
assert_equal "nested_js\nchild_js", cms_layouts(:child).merged_js
end
def test_load_from_file
assert !CmsLayout.load_from_file(cms_sites(:default), 'default')
ComfortableMexicanSofa.configuration.seed_data_path = File.expand_path('../cms_seeds', File.dirname(__FILE__))
assert !CmsLayout.load_from_file(cms_sites(:default), 'bogus')
assert layout = CmsLayout.load_from_file(cms_sites(:default), 'default')
assert_equal 'Default Layout', layout.label
assert_equal '', layout.content
assert layout = CmsLayout.load_from_file(cms_sites(:default), 'nested')
assert_equal 'Nested Layout', layout.label
assert_equal '
', layout.content
assert_equal '
', layout.merged_content
end
end