Chris@441: # Redmine - project management software Chris@1494: # Copyright (C) 2006-2014 Jean-Philippe Lang Chris@441: # Chris@441: # This program is free software; you can redistribute it and/or Chris@441: # modify it under the terms of the GNU General Public License Chris@441: # as published by the Free Software Foundation; either version 2 Chris@441: # of the License, or (at your option) any later version. Chris@909: # Chris@441: # This program is distributed in the hope that it will be useful, Chris@441: # but WITHOUT ANY WARRANTY; without even the implied warranty of Chris@441: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Chris@441: # GNU General Public License for more details. Chris@909: # Chris@441: # You should have received a copy of the GNU General Public License Chris@441: # along with this program; if not, write to the Free Software Chris@441: # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Chris@441: Chris@119: require File.expand_path('../../test_helper', __FILE__) Chris@14: Chris@14: class PreviewsControllerTest < ActionController::TestCase Chris@909: fixtures :projects, :trackers, :issue_statuses, :issues, Chris@909: :enumerations, :users, :issue_categories, Chris@909: :projects_trackers, Chris@909: :roles, Chris@909: :member_roles, Chris@909: :members, Chris@909: :enabled_modules, Chris@1115: :journals, :journal_details, Chris@1115: :news Chris@14: Chris@14: def test_preview_new_issue Chris@14: @request.session[:user_id] = 2 Chris@14: post :issue, :project_id => '1', :issue => {:description => 'Foo'} Chris@14: assert_response :success Chris@1517: assert_template 'previews/issue' Chris@14: assert_not_nil assigns(:description) Chris@14: end Chris@909: Chris@14: def test_preview_issue_notes Chris@14: @request.session[:user_id] = 2 Chris@909: post :issue, :project_id => '1', :id => 1, Chris@1115: :issue => {:description => Issue.find(1).description, :notes => 'Foo'} Chris@14: assert_response :success Chris@1517: assert_template 'previews/issue' Chris@14: assert_not_nil assigns(:notes) Chris@14: end Chris@909: Chris@441: def test_preview_journal_notes_for_update Chris@441: @request.session[:user_id] = 2 Chris@441: post :issue, :project_id => '1', :id => 1, :notes => 'Foo' Chris@441: assert_response :success Chris@1517: assert_template 'previews/issue' Chris@441: assert_not_nil assigns(:notes) Chris@441: assert_tag :p, :content => 'Foo' Chris@441: end Chris@14: Chris@1517: def test_preview_issue_notes_should_support_links_to_existing_attachments Chris@1517: Attachment.generate!(:container => Issue.find(1), :filename => 'foo.bar') Chris@1517: @request.session[:user_id] = 2 Chris@1517: post :issue, :project_id => '1', :id => 1, :notes => 'attachment:foo.bar' Chris@1517: assert_response :success Chris@1517: assert_select 'a.attachment', :text => 'foo.bar' Chris@1517: end Chris@1517: Chris@1115: def test_preview_new_news chris@37: get :news, :project_id => 1, chris@37: :news => {:title => '', chris@37: :description => 'News description', chris@37: :summary => ''} chris@37: assert_response :success chris@37: assert_template 'common/_preview' chris@37: assert_tag :tag => 'fieldset', :attributes => { :class => 'preview' }, chris@37: :content => /News description/ chris@37: end Chris@1115: Chris@1115: def test_existing_new_news Chris@1115: get :news, :project_id => 1, :id => 2, Chris@1115: :news => {:title => '', Chris@1115: :description => 'News description', Chris@1115: :summary => ''} Chris@1115: assert_response :success Chris@1115: assert_template 'common/_preview' Chris@1115: assert_equal News.find(2), assigns(:previewed) Chris@1115: assert_not_nil assigns(:attachments) Chris@1115: Chris@1115: assert_tag :tag => 'fieldset', :attributes => { :class => 'preview' }, Chris@1115: :content => /News description/ Chris@1115: end Chris@14: end