#1247 tests
This commit is contained in:
parent
7ef8cf5626
commit
c369d6d18f
2
test/fixtures/dmsf_files.yml
vendored
2
test/fixtures/dmsf_files.yml
vendored
@ -102,7 +102,7 @@ dmsf_files_011:
|
||||
|
||||
dmsf_files_012:
|
||||
id: 12
|
||||
project_id: 3
|
||||
project_id: 5
|
||||
dmsf_folder_id: NULL
|
||||
name: 'test.txt'
|
||||
notification: false
|
||||
|
||||
2
test/fixtures/dmsf_folders.yml
vendored
2
test/fixtures/dmsf_folders.yml
vendored
@ -67,6 +67,6 @@ dmsf_folders_009:
|
||||
dmsf_folders_010:
|
||||
id: 10
|
||||
title: folder10
|
||||
project_id: 3
|
||||
project_id: 5
|
||||
dmsf_folder_id: NULL
|
||||
user_id: 1
|
||||
@ -381,16 +381,16 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
with_settings plugin_redmine_dmsf: {'dmsf_projects_as_subfolders' => '1'} do
|
||||
get :show, params: { id: @project1.id }
|
||||
assert_response :success
|
||||
# @project3 is as a sub-folder
|
||||
assert_select "tr##{@project3.id}pspan", count: 1
|
||||
# @project5 is as a sub-folder
|
||||
assert_select "tr##{@project5.id}pspan", count: 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_show_without_sub_projects
|
||||
get :show, params: { id: @project1.id }
|
||||
assert_response :success
|
||||
# @project3 is not as a sub-folder
|
||||
assert_select "tr##{@project3.id}pspan", count: 0
|
||||
# @project5 is not as a sub-folder
|
||||
assert_select "tr##{@project5.id}pspan", count: 0
|
||||
end
|
||||
|
||||
def test_index
|
||||
|
||||
@ -70,9 +70,9 @@ class DmsfFolderApiTest < RedmineDmsf::Test::IntegrationTest
|
||||
# ...
|
||||
# </dmsf_nodes>
|
||||
# </dmsf>
|
||||
# @project3 is as a sub-folder
|
||||
assert_select 'dmsf > dmsf_nodes > node > id', text: @project3.id.to_s
|
||||
assert_select 'dmsf > dmsf_nodes > node > title', text: @project3.name
|
||||
# @project5 is as a sub-folder
|
||||
assert_select 'dmsf > dmsf_nodes > node > id', text: @project5.id.to_s
|
||||
assert_select 'dmsf > dmsf_nodes > node > title', text: @project5.name
|
||||
assert_select 'dmsf > dmsf_nodes > node > type', text: 'project'
|
||||
end
|
||||
end
|
||||
@ -94,8 +94,8 @@ class DmsfFolderApiTest < RedmineDmsf::Test::IntegrationTest
|
||||
# </dmsf_nodes>
|
||||
# </dmsf>
|
||||
assert_select 'dmsf > dmsf_nodes > node', count: 1
|
||||
assert_select 'dmsf > dmsf_nodes > node > id', text: @folder6.id.to_s
|
||||
assert_select 'dmsf > dmsf_nodes > node > title', text: @folder6.title
|
||||
assert_select 'dmsf > dmsf_nodes > node > id', text: @folder7.id.to_s
|
||||
assert_select 'dmsf > dmsf_nodes > node > title', text: @folder7.title
|
||||
end
|
||||
|
||||
def test_create_folder
|
||||
|
||||
@ -195,25 +195,25 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_delete_file_in_subproject
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_delete_folder_in_subproject
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@folder10.title}", params: nil,
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@folder10.title}", params: nil,
|
||||
headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_delete_folder_in_subproject_brackets
|
||||
project3_uri = Addressable::URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project3))
|
||||
project3_uri = Addressable::URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project5))
|
||||
project1_uri = Addressable::URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
delete "/dmsf/webdav/#{project1_uri}/#{project3_uri}/#{@folder10.title}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_delete_subproject
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil, headers: @admin
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: nil, headers: @admin
|
||||
assert_response :method_not_allowed
|
||||
end
|
||||
|
||||
|
||||
@ -164,12 +164,12 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_get_file_in_subproject
|
||||
get "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
get "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_get_folder_in_subproject
|
||||
get "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@folder10.title}", params: nil, headers: @admin
|
||||
get "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@folder10.title}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
||||
@ -102,12 +102,12 @@ class DmsfWebdavHeadTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_head_file_in_subproject
|
||||
head "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
head "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@file12.name}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_head_folder_in_subproject
|
||||
head "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@folder10.title}", params: nil, headers: @admin
|
||||
head "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@folder10.title}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
||||
@ -121,7 +121,7 @@ class DmsfWebdavLockTest < RedmineDmsf::Test::IntegrationTest
|
||||
|
||||
def test_lock_subproject
|
||||
log_user 'admin', 'admin'
|
||||
process :lock, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: @xml,
|
||||
process :lock, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: @xml,
|
||||
headers: @admin.merge!({ HTTP_DEPTH: 'infinity', HTTP_TIMEOUT: 'Infinite' })
|
||||
assert_response :multi_status
|
||||
assert_match '<d:status>HTTP/1.1 405 Method Not Allowed</d:status>', response.body
|
||||
|
||||
@ -72,20 +72,20 @@ class DmsfWebdavMkcolTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_create_folder_in_subproject
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/test1", params: nil,
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/test1", params: nil,
|
||||
headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_create_folder_with_square_brackets_of_the_same_name_as_a_sub_project
|
||||
project3_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project3))
|
||||
project3_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project5))
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{project3_uri}", params: nil,
|
||||
headers: @admin
|
||||
assert_response :method_not_allowed
|
||||
end
|
||||
|
||||
def test_create_folder_of_the_same_name_as_a_sub_project
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil,
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: nil,
|
||||
headers: @admin
|
||||
assert_response :method_not_allowed
|
||||
end
|
||||
|
||||
@ -294,33 +294,33 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest
|
||||
|
||||
def test_move_file_in_subproject
|
||||
assert_difference '@file12.dmsf_file_revisions.count', +1 do
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@file12.name}", params: nil,
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@file12.name}", params: nil,
|
||||
headers: @admin.merge!({
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/new_file_name" })
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/new_file_name" })
|
||||
assert_response :created
|
||||
end
|
||||
end
|
||||
|
||||
def test_move_folder_in_subproject
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@folder10.title}", params: nil,
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@folder10.title}", params: nil,
|
||||
headers: @admin.merge!({
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/new_folder_name" })
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/new_folder_name" })
|
||||
assert_response :created
|
||||
@folder10.reload
|
||||
assert_equal 'new_folder_name', @folder10.title
|
||||
end
|
||||
|
||||
def test_move_folder_in_subproject_to_the_same_name_as_subproject
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@folder10.title}", params: nil,
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@folder10.title}", params: nil,
|
||||
headers: @admin.merge!({
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/#{@project3.identifier}" })
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/#{@project5.identifier}" })
|
||||
assert_response :created
|
||||
@folder10.reload
|
||||
assert_equal @project3.identifier, @folder10.title
|
||||
assert_equal @project5.identifier, @folder10.title
|
||||
end
|
||||
|
||||
def test_move_subproject
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil,
|
||||
process :move, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: nil,
|
||||
headers: @admin.merge!({
|
||||
destination: "http://www.example.com/dmsf/webdav/#{@project1.identifier}/new_project_name" })
|
||||
assert_response :method_not_allowed
|
||||
|
||||
@ -141,7 +141,7 @@ class DmsfWebdavOptionsTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_options_for_subproject
|
||||
process :options, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil, headers: @admin
|
||||
process :options, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
||||
@ -169,11 +169,11 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_propfind_for_subproject
|
||||
process :propfind, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil,
|
||||
process :propfind, "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}", params: nil,
|
||||
headers: @admin.merge!({ HTTP_DEPTH: '1'})
|
||||
assert_response :multi_status
|
||||
assert response.body.include?("<d:href>http://www.example.com:80/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/</d:href>")
|
||||
assert response.body.include?("<d:displayname>#{RedmineDmsf::Webdav::ProjectResource::create_project_name(@project3)}</d:displayname>")
|
||||
assert response.body.include?("<d:href>http://www.example.com:80/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/</d:href>")
|
||||
assert response.body.include?("<d:displayname>#{RedmineDmsf::Webdav::ProjectResource::create_project_name(@project5)}</d:displayname>")
|
||||
end
|
||||
|
||||
end
|
||||
@ -276,10 +276,10 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_put_into_subproject
|
||||
put "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}/test-1234.txt", params: '1234',
|
||||
put "/dmsf/webdav/#{@project1.identifier}/#{@project5.identifier}/test-1234.txt", params: '1234',
|
||||
headers: @admin.merge!({ content_type: :text })
|
||||
assert_response :created
|
||||
assert DmsfFile.find_by(project_id: @project3.id, dmsf_folder: nil, name: 'test-1234.txt')
|
||||
assert DmsfFile.find_by(project_id: @project5.id, dmsf_folder: nil, name: 'test-1234.txt')
|
||||
end
|
||||
|
||||
def test_put_keep_title
|
||||
|
||||
@ -37,8 +37,8 @@ module RedmineDmsf
|
||||
@anonymous = credentials('')
|
||||
@project1 = Project.find 1
|
||||
@project2 = Project.find 2
|
||||
@project3 = Project.find 3
|
||||
[@project1, @project2, @project3].each do |project|
|
||||
@project5 = Project.find 5
|
||||
[@project1, @project2, @project5].each do |project|
|
||||
project.enable_module! :dmsf
|
||||
end
|
||||
@file1 = DmsfFile.find 1
|
||||
|
||||
@ -54,9 +54,8 @@ module RedmineDmsf
|
||||
end
|
||||
@project1_uri = Addressable::URI.escape(@project1_name)
|
||||
@project2 = Project.find 2
|
||||
@project3 = Project.find 3
|
||||
@project4 = Project.find 4
|
||||
[@project1, @project2, @project3].each do |project|
|
||||
@project5 = Project.find 5
|
||||
[@project1, @project2, @project5].each do |project|
|
||||
project.enable_module! :dmsf
|
||||
project.enable_module! :issue_tracking
|
||||
end
|
||||
|
||||
@ -96,14 +96,10 @@ class ProjectPatchTest < RedmineDmsf::Test::UnitTest
|
||||
end
|
||||
|
||||
def test_dmsf_avaliable
|
||||
# @project1
|
||||
# L @project3
|
||||
# @project1 (:dmsf, manager)
|
||||
# L @project3 (:dmsf), @project4, @project5
|
||||
User.current = @jsmith
|
||||
assert @project1.dmsf_available?
|
||||
assert @project3.dmsf_available?
|
||||
@project1.disable_module! :dmsf
|
||||
assert @project3.dmsf_available?
|
||||
@project3.disable_module! :dmsf
|
||||
@project3.reload
|
||||
assert !@project3.dmsf_available?
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user