From f6dbfafd9915e0ab615fa1f908c36eaa94cdfe38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 7 Oct 2024 16:37:09 +0200 Subject: [PATCH] Add an empty widget so that the tests are not confused The previous defaults were not applied, causing the my page to be empty. It now has a default, but we want to restore the previously tested rows and columns --- modules/my_page/spec/factories/grid_factory.rb | 6 ++++++ modules/my_page/spec/features/my/custom_text_spec.rb | 5 +++++ modules/my_page/spec/features/my/documents_spec.rb | 4 ++++ .../my_spent_time_widget_with_a_negative_time_zone_spec.rb | 4 ++++ modules/my_page/spec/features/my/news_spec.rb | 4 ++++ .../spec/features/my/time_entries_current_user_spec.rb | 5 +++++ modules/my_page/spec/features/my/work_package_table_spec.rb | 4 ++++ .../spec/features/my/work_package_watcher_widget_spec.rb | 4 ++++ .../api/v3/grids/grids_create_form_resource_spec.rb | 2 +- spec/features/projects/favorite_spec.rb | 5 +++++ 10 files changed, 42 insertions(+), 1 deletion(-) diff --git a/modules/my_page/spec/factories/grid_factory.rb b/modules/my_page/spec/factories/grid_factory.rb index be2158a8546..9e9dbdf4b13 100644 --- a/modules/my_page/spec/factories/grid_factory.rb +++ b/modules/my_page/spec/factories/grid_factory.rb @@ -21,5 +21,11 @@ FactoryBot.define do ) ] end + + trait :empty do + widgets { [] } + row_count { 1 } + column_count { 1 } + end end end diff --git a/modules/my_page/spec/features/my/custom_text_spec.rb b/modules/my_page/spec/features/my/custom_text_spec.rb index 46459fbd8be..955e5422227 100644 --- a/modules/my_page/spec/features/my/custom_text_spec.rb +++ b/modules/my_page/spec/features/my/custom_text_spec.rb @@ -46,6 +46,11 @@ RSpec.describe "Custom text widget on my page", :js do let(:other_user) do create(:user, member_with_permissions: { project => permissions }) end + + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + let(:my_page) do Pages::My::Page.new end diff --git a/modules/my_page/spec/features/my/documents_spec.rb b/modules/my_page/spec/features/my/documents_spec.rb index a2f7a923369..215c53e8f3b 100644 --- a/modules/my_page/spec/features/my/documents_spec.rb +++ b/modules/my_page/spec/features/my/documents_spec.rb @@ -53,6 +53,10 @@ RSpec.describe "My page documents widget", :js do Pages::My::Page.new end + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + before do login_as user diff --git a/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb b/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb index 2a36c7329c8..7f2bd51ddbf 100644 --- a/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb +++ b/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb @@ -67,6 +67,10 @@ RSpec.describe "My spent time widget with a negative time zone", :js, let!(:week_days) { week_with_saturday_and_sunday_as_weekend } let!(:non_working_day) { create(:non_working_day, date: tuesday) } + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + before do login_as user my_page.visit! diff --git a/modules/my_page/spec/features/my/news_spec.rb b/modules/my_page/spec/features/my/news_spec.rb index c1f3ecd5559..e7e8706b70e 100644 --- a/modules/my_page/spec/features/my/news_spec.rb +++ b/modules/my_page/spec/features/my/news_spec.rb @@ -53,6 +53,10 @@ RSpec.describe "My page news widget spec", :js do Pages::My::Page.new end + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + before do login_as user diff --git a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb index 0b304a30853..61bf9925aac 100644 --- a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb +++ b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb @@ -107,6 +107,11 @@ RSpec.describe "My page time entries current user widget spec", :js do create(:user, member_with_permissions: { project => %i[view_time_entries edit_time_entries view_work_packages log_own_time] }) end + + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + let(:my_page) do Pages::My::Page.new end diff --git a/modules/my_page/spec/features/my/work_package_table_spec.rb b/modules/my_page/spec/features/my/work_package_table_spec.rb index 4f62dcf687a..c6f8f0fdb1b 100644 --- a/modules/my_page/spec/features/my/work_package_table_spec.rb +++ b/modules/my_page/spec/features/my/work_package_table_spec.rb @@ -161,6 +161,10 @@ RSpec.describe "Arbitrary WorkPackage query table widget on my page", :js do context "without the permission to save queries" do let(:permissions) { %i[view_work_packages add_work_packages] } + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + it "cannot add the widget" do my_page.expect_unable_to_add_widget(1, 1, :within, "Work packages table") end diff --git a/modules/my_page/spec/features/my/work_package_watcher_widget_spec.rb b/modules/my_page/spec/features/my/work_package_watcher_widget_spec.rb index 7a7ea76f068..752acd3495a 100644 --- a/modules/my_page/spec/features/my/work_package_watcher_widget_spec.rb +++ b/modules/my_page/spec/features/my/work_package_watcher_widget_spec.rb @@ -46,6 +46,10 @@ RSpec.describe "Work package watched widget on My page", :js do Pages::My::Page.new end + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + before do login_as user work_package.add_watcher(user) diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index 49841a4f9a3..8a9f2f7faf3 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -76,7 +76,7 @@ RSpec.describe "POST /api/v3/grids/form", content_type: :json do } end - it "contains default data in the payload" do + it "contains default data in the payload" do # rubocop:disable RSpec/ExampleLength expected = { rowCount: 1, columnCount: 2, diff --git a/spec/features/projects/favorite_spec.rb b/spec/features/projects/favorite_spec.rb index 638f1af3e15..375d8edb3e7 100644 --- a/spec/features/projects/favorite_spec.rb +++ b/spec/features/projects/favorite_spec.rb @@ -41,6 +41,11 @@ RSpec.describe "Favorite projects", :js do end let(:projects_page) { Pages::Projects::Index.new } let(:top_menu) { Components::Projects::TopMenu.new } + + let!(:my_page_grid) do + create(:my_page, :empty, user:) + end + let(:my_page) do Pages::My::Page.new end