setting all instance variables during preview
Oleg
committed Sep 26, 2011
commit acde628dca4c4548555ba1a9f0e27c77a73d14a7
Showing 2
changed files with
17 additions
and 2 deletions
app/controllers/cms_admin/pages_controller.rb
+3
-0
| @@ | @@ -101,6 +101,9 @@ protected |
| def preview_cms_page | |
| if params[:preview] | |
| layout = @page.layout.app_layout.blank?? false : @page.layout.app_layout | |
| + | @cms_site = @page.site |
| + | @cms_layout = @page.layout |
| + | @cms_page = @page |
| render :inline => @page.content(true), :layout => layout | |
| end | |
| end | |
test/functional/cms_admin/pages_controller_test.rb
+14
-2
| @@ | @@ -280,12 +280,15 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| end | |
| def test_creation_preview | |
| + | site = cms_sites(:default) |
| + | layout = cms_layouts(:default) |
| + | |
| assert_no_difference 'Cms::Page.count' do | |
| - | post :create, :site_id => cms_sites(:default), :preview => 'Preview', :page => { |
| + | post :create, :site_id => site, :preview => 'Preview', :page => { |
| :label => 'Test Page', | |
| :slug => 'test-page', | |
| :parent_id => cms_pages(:default).id, | |
| - | :layout_id => cms_layouts(:default).id, |
| + | :layout_id => layout.id, |
| :blocks_attributes => [ | |
| { :label => 'default_page_text', | |
| :content => 'preview content' } | |
| @@ | @@ -293,6 +296,11 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| } | |
| assert_response :success | |
| assert_match /preview content/, response.body | |
| + | |
| + | assert_equal site, assigns(:cms_site) |
| + | assert_equal layout, assigns(:cms_layout) |
| + | assert assigns(:cms_page) |
| + | assert assigns(:cms_page).new_record? |
| end | |
| end | |
| @@ | @@ -311,6 +319,10 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| assert_match /preview content/, response.body | |
| page.reload | |
| assert_not_equal 'Updated Label', page.label | |
| + | |
| + | assert_equal page.site, assigns(:cms_site) |
| + | assert_equal page.layout, assigns(:cms_layout) |
| + | assert_equal page, assigns(:cms_page) |
| end | |
| end | |