##// END OF EJS Templates
Replace Date.today with User.current.today (#22320)....
Replace Date.today with User.current.today (#22320). Depending on the offset between a user's configured timezone and the server timezone, Date.today may be more or less often wrong from the user's perspective, leading to things like issues marked as overdue too early or too late, or yesterday / tomorrow being displayed / selected where 'today' is intended. A test case illustrating the problem with Issue#overdue? is included Patch by Jens Kraemer. git-svn-id: http://svn.redmine.org/redmine/trunk@15379 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r14997:ed50d42210ea
Show More
repositories_bazaar_controller_test.rb
233 lines | 8.2 KiB | text/x-ruby | RubyLexer
/ test / functional / repositories_bazaar_controller_test.rb
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 #
# 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.
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764 #
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 # 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.
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764 #
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 # 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class RepositoriesBazaarControllerTest < ActionController::TestCase
Jean-Philippe Lang
Test for repository edit and cleanup....
r7932 tests RepositoriesController
Jean-Philippe Lang
Add support for multiple email addresses per user (#4244)....
r13504 fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
Toshi MARUYAMA
scm: bazaar: code clean up functional test....
r5763 :repositories, :enabled_modules
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314
Toshi MARUYAMA
scm: bazaar: split REPOSITORY_PATH to trunk in functional test (#14931)...
r11916 REPOSITORY_PATH = Rails.root.join('tmp/test/bazaar_repository').to_s
REPOSITORY_PATH_TRUNK = File.join(REPOSITORY_PATH, "trunk")
Toshi MARUYAMA
scm: bazaar: use constant for project id in functional test....
r5762 PRJ_ID = 3
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 CHAR_1_UTF8_HEX = "\xc3\x9c".dup.force_encoding('UTF-8')
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314
def setup
User.current = nil
Toshi MARUYAMA
scm: bazaar: use constant for project id in functional test....
r5762 @project = Project.find(PRJ_ID)
Toshi MARUYAMA
scm: add feature of per project repository log encoding setting (#1735)....
r4862 @repository = Repository::Bazaar.create(
Toshi MARUYAMA
scm: bazaar: code clean up functional test....
r5763 :project => @project,
Toshi MARUYAMA
scm: bazaar: split REPOSITORY_PATH to trunk in functional test (#14931)...
r11916 :url => REPOSITORY_PATH_TRUNK,
Toshi MARUYAMA
scm: add feature of per project repository log encoding setting (#1735)....
r4862 :log_encoding => 'UTF-8')
assert @repository
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: add feature of per project repository log encoding setting (#1735)....
r4862
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 if File.directory?(REPOSITORY_PATH)
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 def test_get_new
Jean-Philippe Lang
Test for repository edit and cleanup....
r7932 @request.session[:user_id] = 1
@project.repository.destroy
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 get :new, :project_id => 'subproject1', :repository_scm => 'Bazaar'
Jean-Philippe Lang
Test for repository edit and cleanup....
r7932 assert_response :success
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 assert_template 'new'
Jean-Philippe Lang
Test for repository edit and cleanup....
r7932 assert_kind_of Repository::Bazaar, assigns(:repository)
assert assigns(:repository).new_record?
end
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_browse_root
Toshi MARUYAMA
scm: bazaar: use constant for project id in functional test....
r5762 get :show, :id => PRJ_ID
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_not_nil assigns(:entries)
assert_equal 2, assigns(:entries).size
assert assigns(:entries).detect {|e| e.name == 'directory' && e.kind == 'dir'}
assert assigns(:entries).detect {|e| e.name == 'doc-mkdir.txt' && e.kind == 'file'}
end
Toshi MARUYAMA
scm: add feature of per project repository log encoding setting (#1735)....
r4862
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_browse_directory
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :show, :id => PRJ_ID, :path => repository_path_hash(['directory'])[:param]
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_not_nil assigns(:entries)
assert_equal ['doc-ls.txt', 'document.txt', 'edit.png'], assigns(:entries).collect(&:name)
entry = assigns(:entries).detect {|e| e.name == 'edit.png'}
assert_not_nil entry
assert_equal 'file', entry.kind
assert_equal 'directory/edit.png', entry.path
end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_browse_at_given_revision
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :show, :id => PRJ_ID, :path => repository_path_hash([])[:param],
:rev => 3
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_not_nil assigns(:entries)
Toshi MARUYAMA
scm: bazaar: code clean up functional test....
r5763 assert_equal ['directory', 'doc-deleted.txt', 'doc-ls.txt', 'doc-mkdir.txt'],
assigns(:entries).collect(&:name)
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_changes
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :changes, :id => PRJ_ID,
:path => repository_path_hash(['doc-mkdir.txt'])[:param]
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
assert_template 'changes'
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'h2', :text => /doc-mkdir.txt/
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_entry_show
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :entry, :id => PRJ_ID,
:path => repository_path_hash(['directory', 'doc-ls.txt'])[:param]
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
assert_template 'entry'
# Line 19
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'tr#L29 td.line-code', :text => /Show help message/
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_entry_download
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :entry, :id => PRJ_ID,
:path => repository_path_hash(['directory', 'doc-ls.txt'])[:param],
:format => 'raw'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
# File content
assert @response.body.include?('Show help message')
end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 def test_directory_entry
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :entry, :id => PRJ_ID,
:path => repository_path_hash(['directory'])[:param]
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_not_nil assigns(:entry)
assert_equal 'directory', assigns(:entry).name
end
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_diff
# Full diff of changeset 3
Toshi MARUYAMA
scm: bazaar: run both of "inline" and "side by side" diff in functional test_diff test....
r5859 ['inline', 'sbs'].each do |dt|
get :diff, :id => PRJ_ID, :rev => 3, :type => dt
assert_response :success
assert_template 'diff'
# Line 11 removed
Jean-Philippe Lang
Upgrade to Rails 4.2.0 (#14534)....
r13510 assert_select 'th.line-num:contains(11) ~ td.diff_out', :text => /Display more information/
Toshi MARUYAMA
scm: bazaar: run both of "inline" and "side by side" diff in functional test_diff test....
r5859 end
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: bazaar: remove trailing white-spaces from functional test....
r5764
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_annotate
Toshi MARUYAMA
Rails3: test: scm: bazaar: use "repository_path_hash" for path param...
r8807 get :annotate, :id => PRJ_ID,
:path => repository_path_hash(['doc-mkdir.txt'])[:param]
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
assert_template 'annotate'
Toshi MARUYAMA
use assert_select instead of assert_tag in Bazaar annotate test (#14931)...
r11911 assert_select "th.line-num", :text => '2' do
assert_select "+ td.revision" do
assert_select "a", :text => '3'
assert_select "+ td.author", :text => "jsmith@" do
assert_select "+ td",
:text => "Main purpose:"
end
end
end
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Toshi MARUYAMA
scm: bazaar: add functional test of destroying valid repository (#6713, #4725)....
r6115
Toshi MARUYAMA
scm: bazaar: add test for author html escaping (#14931)...
r11918 def test_annotate_author_escaping
repository = Repository::Bazaar.create(
:project => @project,
:url => File.join(REPOSITORY_PATH, "author_escaping"),
:identifier => 'author_escaping',
:log_encoding => 'UTF-8')
assert repository
get :annotate, :id => PRJ_ID, :repository_id => 'author_escaping',
:path => repository_path_hash(['author-escaping-test.txt'])[:param]
assert_response :success
assert_template 'annotate'
assert_select "th.line-num", :text => '1' do
assert_select "+ td.revision" do
assert_select "a", :text => '2'
Jean-Philippe Lang
Upgrade to Rails 4.2.0 (#14534)....
r13510 assert_select "+ td.author", :text => "test &" do
Toshi MARUYAMA
scm: bazaar: add test for author html escaping (#14931)...
r11918 assert_select "+ td",
:text => "author escaping test"
end
end
end
end
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 def test_annotate_author_non_ascii
log_encoding = nil
if Encoding.locale_charmap == "UTF-8" ||
Encoding.locale_charmap == "ISO-8859-1"
log_encoding = Encoding.locale_charmap
end
unless log_encoding.nil?
repository = Repository::Bazaar.create(
:project => @project,
:url => File.join(REPOSITORY_PATH, "author_non_ascii"),
:identifier => 'author_non_ascii',
:log_encoding => log_encoding)
assert repository
get :annotate, :id => PRJ_ID, :repository_id => 'author_non_ascii',
:path => repository_path_hash(['author-non-ascii-test.txt'])[:param]
assert_response :success
assert_template 'annotate'
assert_select "th.line-num", :text => '1' do
assert_select "+ td.revision" do
assert_select "a", :text => '2'
assert_select "+ td.author", :text => "test #{CHAR_1_UTF8_HEX}" do
assert_select "+ td",
:text => "author non ASCII test"
Toshi MARUYAMA
scm: fix annotate error with non ASCII author on Ruby 1.9 and Ruby 2.0 (#14931)...
r11926 end
end
end
end
end
Toshi MARUYAMA
scm: bazaar: add functional test of destroying valid repository (#6713, #4725)....
r6115 def test_destroy_valid_repository
@request.session[:user_id] = 1 # admin
Toshi MARUYAMA
Rails3: scm: bazaar: fix error of test_destroy_valid_repository at functional test...
r7002 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: bazaar: add functional test of destroying valid repository (#6713, #4725)....
r6115 @repository.fetch_changesets
assert @repository.changesets.count > 0
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 assert_difference 'Repository.count', -1 do
delete :destroy, :id => @repository.id
end
Toshi MARUYAMA
scm: bazaar: add functional test of destroying valid repository (#6713, #4725)....
r6115 assert_response 302
@project.reload
assert_nil @project.repository
end
Toshi MARUYAMA
scm: bazaar: add functional test of destroying invalid repository (#6713, #4725)....
r6116
def test_destroy_invalid_repository
@request.session[:user_id] = 1 # admin
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 @project.repository.destroy
@repository = Repository::Bazaar.create!(
Toshi MARUYAMA
scm: bazaar: add functional test of destroying invalid repository (#6713, #4725)....
r6116 :project => @project,
:url => "/invalid",
:log_encoding => 'UTF-8')
@repository.fetch_changesets
@repository.reload
assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 assert_difference 'Repository.count', -1 do
delete :destroy, :id => @repository.id
end
Toshi MARUYAMA
scm: bazaar: add functional test of destroying invalid repository (#6713, #4725)....
r6116 assert_response 302
@project.reload
assert_nil @project.repository
end
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 else
puts "Bazaar test repository NOT FOUND. Skipping functional tests !!!"
def test_fake; assert true end
end
end