require File.expand_path('../test_helper', File.dirname(__FILE__)) class FixturesTest < ActionDispatch::IntegrationTest def setup host! 'example.com' cms_sites(:default).update_attribute(:hostname, 'example.com') end def test_fixtures_disabled assert_no_difference ['Cms::Layout.count', 'Cms::Page.count', 'Cms::Snippet.count'] do get '/' assert_response :success assert_equal 'Default Page', Cms::Page.root.label assert_equal 'Default Layout', Cms::Layout.find_by_slug('default').label assert_equal 'Default Snippet', Cms::Snippet.find_by_slug('default').label end end def test_fixtures_enabled ComfortableMexicanSofa.config.enable_fixtures = true Cms::Layout.destroy_all Cms::Page.destroy_all Cms::Snippet.destroy_all assert_difference 'Cms::Page.count', 2 do assert_difference 'Cms::Layout.count', 2 do assert_difference 'Cms::Snippet.count', 1 do get '/' assert_response :success assert_equal 'Home Fixture Page', Cms::Page.root.label assert_equal 'Default Fixture Layout', Cms::Layout.find_by_slug('default').label assert_equal 'Default Fixture Snippet', Cms::Snippet.find_by_slug('default').label assert_equal "\n \n Home Page Fixture Content\nFixture Content for Default Snippet\n \n", response.body end end end end def test_fixtures_enabled_in_admin ComfortableMexicanSofa.config.enable_fixtures = true Cms::Layout.destroy_all Cms::Page.destroy_all Cms::Snippet.destroy_all assert_difference 'Cms::Page.count', 2 do assert_difference 'Cms::Layout.count', 2 do assert_difference 'Cms::Snippet.count', 1 do http_auth :get, '/cms-admin/pages' assert_response :success assert_equal 'CMS Fixtures are enabled. All changes done here will be discarded.', flash[:error] end end end end end