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