From 7b5847651cec7d2160d22985b64178ae23b2ebab Mon Sep 17 00:00:00 2001 From: "Karel.Picman" Date: Tue, 1 Feb 2022 12:25:06 +0100 Subject: [PATCH] #557 unit tests --- .../dmsf_context_menus_controller_test.rb | 39 +++++++++++++++++++ test/functional/my_controller_test.rb | 15 ++++++- test/unit/dmsf_file_test.rb | 5 +++ test/unit/dmsf_folder_test.rb | 5 +++ test/unit/dmsf_mailer_test.rb | 8 ++++ test/unit/project_patch_test.rb | 5 +++ 6 files changed, 76 insertions(+), 1 deletion(-) diff --git a/test/functional/dmsf_context_menus_controller_test.rb b/test/functional/dmsf_context_menus_controller_test.rb index 78b145e2..0ced5362 100644 --- a/test/functional/dmsf_context_menus_controller_test.rb +++ b/test/functional/dmsf_context_menus_controller_test.rb @@ -172,6 +172,19 @@ class DmsfContextMenusControllerTest < RedmineDmsf::Test::TestCase end end + def test_dmsf_file_watch + get :dmsf, params: { id: @file1.project, ids: ["file-#{@file1.id}"] } + assert_response :success + assert_select 'a.icon-fav-off', text: l(:button_watch) + end + + def test_dmsf_file_unwatch + @file1.add_watcher @jsmith + get :dmsf, params: { id: @file1.project, ids: ["file-#{@file1.id}"] } + assert_response :success + assert_select 'a.icon-fav', text: l(:button_unwatch) + end + def test_dmsf_file_link with_settings :notified_events => ['dmsf_legacy_notifications'] do get :dmsf, params: { @@ -297,6 +310,19 @@ class DmsfContextMenusControllerTest < RedmineDmsf::Test::TestCase assert_select 'a:not(icon-email.disabled)', text: l(:field_mail) end + def test_dmsf_folder_watch + get :dmsf, params: { id: @folder1.project, ids: ["folder-#{@folder1.id}"] } + assert_response :success + assert_select 'a.icon-fav-off', text: l(:button_watch) + end + + def test_dmsf_folder_unwatch + @folder1.add_watcher @jsmith + get :dmsf, params: { id: @folder1.project, ids: ["folder-#{@folder1.id}"] } + assert_response :success + assert_select 'a.icon-fav', text: l(:button_unwatch) + end + def test_dmsf_folder_link with_settings :notified_events => ['dmsf_legacy_notifications'] do get :dmsf, params: { id: @folder_link1.project.id, ids: ["folder-#{@folder_link1.id}"] } @@ -336,6 +362,19 @@ class DmsfContextMenusControllerTest < RedmineDmsf::Test::TestCase assert_select 'a.icon-email', text: l(:field_mail) end + def test_dmsf_project_watch + get :dmsf, params: { ids: ["project-#{@project1.id}"] } + assert_response :success + assert_select 'a.icon-fav-off', text: l(:button_watch) + end + + def test_dmsf_project_unwatch + @project1.add_watcher @jsmith + get :dmsf, params: { ids: ["project-#{@project1.id}"] } + assert_response :success + assert_select 'a.icon-fav', text: l(:button_unwatch) + end + def test_trash_file get :trash, params: { id: @file1.project.id, ids: ["file-#{@file1.id}"] } assert_response :success diff --git a/test/functional/my_controller_test.rb b/test/functional/my_controller_test.rb index 44c4deac..ff1bf418 100644 --- a/test/functional/my_controller_test.rb +++ b/test/functional/my_controller_test.rb @@ -57,7 +57,7 @@ class MyControllerTest < RedmineDmsf::Test::TestCase end end end - + def test_page_with_open_locked_documents @request.session[:user_id] = @admin.id @admin.pref[:my_page_layout] = { 'top' => ['locked_documents'] } @@ -71,4 +71,17 @@ class MyControllerTest < RedmineDmsf::Test::TestCase end end + def test_page_with_open_watched_documents + @jsmith.pref[:my_page_layout] = { 'top' => ['watched_documents'] } + @jsmith.pref.save! + @file1.add_watcher @jsmith + @folder1.add_watcher @jsmith + @project1.add_watcher @jsmith + get :page + assert_response :success + assert_select 'div#list-top' do + assert_select 'h3', { text: "#{l(:label_dmsf_watched)} (2/1)" } + end + end + end \ No newline at end of file diff --git a/test/unit/dmsf_file_test.rb b/test/unit/dmsf_file_test.rb index 0faa084e..3719e61e 100644 --- a/test/unit/dmsf_file_test.rb +++ b/test/unit/dmsf_file_test.rb @@ -275,4 +275,9 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest assert_equal '', @file1.locked_by end + def test_watchable + @file1.add_watcher @jsmith + assert @file1.watched_by?(@jsmith) + end + end \ No newline at end of file diff --git a/test/unit/dmsf_folder_test.rb b/test/unit/dmsf_folder_test.rb index 416c3961..2b62c644 100644 --- a/test/unit/dmsf_folder_test.rb +++ b/test/unit/dmsf_folder_test.rb @@ -258,4 +258,9 @@ class DmsfFolderTest < RedmineDmsf::Test::UnitTest assert @folder6.empty? end + def test_watchable + @folder1.add_watcher @jsmith + assert @folder1.watched_by?(@jsmith) + end + end \ No newline at end of file diff --git a/test/unit/dmsf_mailer_test.rb b/test/unit/dmsf_mailer_test.rb index be8af00e..9ae20e08 100644 --- a/test/unit/dmsf_mailer_test.rb +++ b/test/unit/dmsf_mailer_test.rb @@ -116,4 +116,12 @@ class DmsfMailerTest < RedmineDmsf::Test::UnitTest assert users.blank? end + def test_get_notify_users_with_watchers + @file1.add_watcher @jsmith + with_settings :notified_events => [] do + users = DmsfMailer.get_notify_users(@project1, @file1) + assert users.present? + end + end + end \ No newline at end of file diff --git a/test/unit/project_patch_test.rb b/test/unit/project_patch_test.rb index 50429859..433fdb10 100644 --- a/test/unit/project_patch_test.rb +++ b/test/unit/project_patch_test.rb @@ -103,4 +103,9 @@ class ProjectPatchTest < RedmineDmsf::Test::UnitTest assert !@project3.dmsf_available? end + def test_watchable + @project1.add_watcher @jsmith + assert @project1.watched_by?(@jsmith) + end + end \ No newline at end of file