previews_controller_test.rb
99 lines
| 3.7 KiB
| text/x-ruby
|
RubyLexer
|
r5126 | # Redmine - project management software | ||
|
r14856 | # Copyright (C) 2006-2016 Jean-Philippe Lang | ||
|
r5126 | # | ||
# This program is free software; you can redistribute it and/or | ||||
# modify it under the terms of the GNU General Public License | ||||
# as published by the Free Software Foundation; either version 2 | ||||
# of the License, or (at your option) any later version. | ||||
|
r6709 | # | ||
|
r5126 | # This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | ||||
|
r6709 | # | ||
|
r5126 | # You should have received a copy of the GNU General Public License | ||
# along with this program; if not, write to the Free Software | ||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
|
r4395 | require File.expand_path('../../test_helper', __FILE__) | ||
|
r3832 | |||
|
r15279 | class PreviewsControllerTest < Redmine::ControllerTest | ||
|
r7400 | fixtures :projects, :trackers, :issue_statuses, :issues, | ||
:enumerations, :users, :issue_categories, | ||||
:projects_trackers, | ||||
:roles, | ||||
:member_roles, | ||||
:members, | ||||
:enabled_modules, | ||||
|
r10217 | :journals, :journal_details, | ||
:news | ||||
|
r3832 | |||
def test_preview_new_issue | ||||
@request.session[:user_id] = 2 | ||||
post :issue, :project_id => '1', :issue => {:description => 'Foo'} | ||||
assert_response :success | ||||
|
r15333 | assert_select 'fieldset' do | ||
assert_select 'legend', :text => 'Description' | ||||
assert_select 'p', :text => 'Foo' | ||||
end | ||||
|
r3832 | end | ||
|
r6709 | |||
|
r15333 | def test_preview_issue_notes_with_no_change_to_description | ||
|
r3832 | @request.session[:user_id] = 2 | ||
|
r7413 | post :issue, :project_id => '1', :id => 1, | ||
|
r10374 | :issue => {:description => Issue.find(1).description, :notes => 'Foo'} | ||
|
r3832 | assert_response :success | ||
|
r15333 | assert_select 'legend', :text => 'Description', :count => 0 | ||
assert_select 'legend', :text => 'Notes' | ||||
end | ||||
def test_preview_issue_notes_with_no_change_to_description | ||||
@request.session[:user_id] = 2 | ||||
post :issue, :project_id => '1', :id => 1, | ||||
:issue => {:description => 'Changed description', :notes => 'Foo'} | ||||
assert_response :success | ||||
assert_select 'legend', :text => 'Description' | ||||
assert_select 'legend', :text => 'Notes' | ||||
|
r3832 | end | ||
|
r6709 | |||
|
r5126 | def test_preview_journal_notes_for_update | ||
@request.session[:user_id] = 2 | ||||
|
r10747 | post :issue, :project_id => '1', :id => 1, :notes => 'Foo' | ||
|
r5126 | assert_response :success | ||
|
r15333 | assert_select 'legend', :text => 'Notes' | ||
|
r13242 | assert_select 'p', :text => 'Foo' | ||
|
r5126 | end | ||
|
r3832 | |||
|
r12201 | def test_preview_issue_notes_should_support_links_to_existing_attachments | ||
Attachment.generate!(:container => Issue.find(1), :filename => 'foo.bar') | ||||
@request.session[:user_id] = 2 | ||||
post :issue, :project_id => '1', :id => 1, :notes => 'attachment:foo.bar' | ||||
assert_response :success | ||||
assert_select 'a.attachment', :text => 'foo.bar' | ||||
end | ||||
|
r13064 | def test_preview_issue_with_project_changed | ||
@request.session[:user_id] = 2 | ||||
post :issue, :project_id => '1', :id => 1, :issue => {:notes => 'notes', :project_id => 2} | ||||
assert_response :success | ||||
|
r15333 | assert_select 'legend', :text => 'Notes' | ||
|
r13064 | end | ||
|
r10217 | def test_preview_new_news | ||
|
r4060 | get :news, :project_id => 1, | ||
:news => {:title => '', | ||||
:description => 'News description', | ||||
:summary => ''} | ||||
assert_response :success | ||||
|
r13242 | assert_select 'fieldset.preview', :text => /News description/ | ||
|
r4060 | end | ||
|
r10217 | |||
|
r15333 | def test_preview_existing_news | ||
|
r10217 | get :news, :project_id => 1, :id => 2, | ||
:news => {:title => '', | ||||
:description => 'News description', | ||||
:summary => ''} | ||||
assert_response :success | ||||
|
r13242 | assert_select 'fieldset.preview', :text => /News description/ | ||
|
r10217 | end | ||
|
r3832 | end | ||