diff --git a/spec/requests/api/v3/projects/update_form_resource_spec.rb b/spec/requests/api/v3/projects/update_form_resource_spec.rb index 45474c9f1ddf..4c5c0f7931d0 100644 --- a/spec/requests/api/v3/projects/update_form_resource_spec.rb +++ b/spec/requests/api/v3/projects/update_form_resource_spec.rb @@ -49,11 +49,8 @@ create(:list_project_custom_field) end let(:viable_parent_project) do - create(:project).tap do |p| - create(:member, - project: p, - principal: current_user, - roles: [parent_project_role]) + create(:project).tap do |project| + create(:member, entity: project, principal: current_user, roles: [parent_project_role]) end end let(:parent_project_role) do diff --git a/spec/requests/api/v3/queries/query_resource_spec.rb b/spec/requests/api/v3/queries/query_resource_spec.rb index d6c2c6119a5c..932e56ec7e8a 100644 --- a/spec/requests/api/v3/queries/query_resource_spec.rb +++ b/spec/requests/api/v3/queries/query_resource_spec.rb @@ -105,10 +105,7 @@ global_query other_query - create(:member, - roles: [role], - project: other_query.project, - user: current_user) + create(:member, roles: [role], entity: other_query.project, principal: current_user) end it 'includes only queries from the specified project' do @@ -136,10 +133,7 @@ global_query other_query - create(:member, - roles: [role], - project: other_query.project, - user: current_user) + create(:member, roles: [role], entity: other_query.project, principal: current_user) end it 'includes only queries not belonging to a project' do diff --git a/spec/requests/api/v3/relations/relations_api_spec.rb b/spec/requests/api/v3/relations/relations_api_spec.rb index a559640817f3..4e7fa6e4f457 100644 --- a/spec/requests/api/v3/relations/relations_api_spec.rb +++ b/spec/requests/api/v3/relations/relations_api_spec.rb @@ -376,14 +376,8 @@ let(:current_user) do create(:user).tap do |user| - create(:member, - project: to.project, - user:, - roles: [role]) - create(:member, - project: from.project, - user:, - roles: [role]) + create(:member, entity: to.project, principal: user, roles: [role]) + create(:member, entity: from.project, principal: user, roles: [role]) end end @@ -485,14 +479,8 @@ let(:current_user) do create(:user).tap do |user| - create(:member, - project: to.project, - user:, - roles: [role]) - create(:member, - project: from.project, - user:, - roles: [role]) + create(:member, entity: to.project, principal: user, roles: [role]) + create(:member, entity: from.project, principal: user, roles: [role]) end end diff --git a/spec/requests/api/v3/versions/available_projects_resource_spec.rb b/spec/requests/api/v3/versions/available_projects_resource_spec.rb index baf54f16be39..fea54d090238 100644 --- a/spec/requests/api/v3/versions/available_projects_resource_spec.rb +++ b/spec/requests/api/v3/versions/available_projects_resource_spec.rb @@ -37,41 +37,20 @@ create(:user) end let(:own_member) do - create(:member, - roles: [create(:role, permissions:)], - project:, - user: current_user) + create(:member, roles: [create(:role, permissions:)], entity: project, principal: current_user) end let(:permissions) { %i[view_versions manage_versions] } let(:manage_project) do - create(:project).tap do |p| - create(:member, - roles: [create(:role, permissions:)], - project: p, - user: current_user) + create(:project).tap do |project| + create(:member, roles: [create(:role, permissions:)], entity: project, principal: current_user) end end let(:view_project) do - create(:project).tap do |p| - create(:member, - roles: [create(:role, permissions: [:view_versions])], - project: p, - user: current_user) + create(:project).tap do |project| + create(:member, roles: [create(:role, permissions: [:view_versions])], entity: project, principal: current_user) end end - # let(:membered_project) do - # create(:project).tap do |p| - # create(:member, - # roles: [create(:role, permissions: permissions)], - # project: p, - # user: current_user) - # create(:member, - # roles: [create(:role, permissions: permissions)], - # project: p, - # user: other_user) - # end - # end let(:unauthorized_project) do create(:public_project) end diff --git a/spec/requests/api/v3/versions/project_resource_spec.rb b/spec/requests/api/v3/versions/project_resource_spec.rb index 2c1b7b3787ef..3bb822cca7a7 100644 --- a/spec/requests/api/v3/versions/project_resource_spec.rb +++ b/spec/requests/api/v3/versions/project_resource_spec.rb @@ -60,14 +60,9 @@ current_user # this is to be included - create(:member, user: current_user, - project: project2, - roles: [role]) - # this is to be included as the user is a member of the project, the - # lack of permissions is irrelevant. - create(:member, user: current_user, - project: project3, - roles: [role_without_permissions]) + create(:member, principal: current_user, entity: project2, roles: [role]) + # this is to be included as the user is a member of the project, the lack of permissions is irrelevant. + create(:member, principal: current_user, entity: project3, roles: [role_without_permissions]) # project4 should NOT be included project4 @@ -79,7 +74,7 @@ it 'includes only the projects which the user can see' do id_in_response = JSON.parse(response.body)['_embedded']['elements'].map { |p| p['id'] } - expect(id_in_response).to match_array [project.id, project2.id, project3.id] + expect(id_in_response).to contain_exactly(project.id, project2.id, project3.id) end end diff --git a/spec/requests/api/v3/work_packages/available_projects_on_create_api_spec.rb b/spec/requests/api/v3/work_packages/available_projects_on_create_api_spec.rb index aa0b20e3915b..736437a21244 100644 --- a/spec/requests/api/v3/work_packages/available_projects_on_create_api_spec.rb +++ b/spec/requests/api/v3/work_packages/available_projects_on_create_api_spec.rb @@ -48,9 +48,7 @@ let(:type) { create(:type) } let(:type_id) { type.id } let(:project_with_type) { create(:project, types: [type]) } - let(:member) do - create(:member, principal: current_user, project: project_with_type, roles: [add_role]) - end + let(:member) { create(:member, principal: current_user, entity: project_with_type, roles: [add_role]) } before do project diff --git a/spec/requests/api/v3/work_packages/available_projects_on_edit_api_spec.rb b/spec/requests/api/v3/work_packages/available_projects_on_edit_api_spec.rb index 4fb262cfc78c..e0b85bee66c4 100644 --- a/spec/requests/api/v3/work_packages/available_projects_on_edit_api_spec.rb +++ b/spec/requests/api/v3/work_packages/available_projects_on_edit_api_spec.rb @@ -44,13 +44,8 @@ let(:work_package) { create(:work_package, project:) } current_user do - create(:user, - member_in_project: project, - member_through_role: edit_role).tap do |user| - create(:member, - user:, - project: target_project, - roles: [move_role]) + create(:user, member_in_project: project, member_through_role: edit_role).tap do |user| + create(:member, principal: user, entity: target_project, roles: [move_role]) end end diff --git a/spec/requests/api/v3/work_packages/form/work_package_form_resource_spec.rb b/spec/requests/api/v3/work_packages/form/work_package_form_resource_spec.rb index 59927a736424..e74d6177d2b7 100644 --- a/spec/requests/api/v3/work_packages/form/work_package_form_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/form/work_package_form_resource_spec.rb @@ -463,12 +463,7 @@ let(:user_link) { api_v3_paths.group group.id } let(:group) { create(:group) } let(:role) { create(:role, permissions: %i[work_package_assigned]) } - let(:group_member) do - create(:member, - principal: group, - project:, - roles: [role]) - end + let(:group_member) { create(:member, principal: group, entity: project, roles: [role]) } before do group_member.save! diff --git a/spec/requests/api/v3/work_packages/update_resource_spec.rb b/spec/requests/api/v3/work_packages/update_resource_spec.rb index c3140de7345b..b66030a4b9df 100644 --- a/spec/requests/api/v3/work_packages/update_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/update_resource_spec.rb @@ -403,7 +403,7 @@ before do create(:member, user: current_user, - project: target_project, + entity: target_project, roles: [create(:role, permissions: member_permissions)]) allow(User).to receive(:current).and_return current_user @@ -468,12 +468,7 @@ shared_context 'setup group membership' do let(:group) { create(:group) } let(:group_role) { create(:role, permissions: %i[work_package_assigned]) } - let!(:group_member) do - create(:member, - principal: group, - project:, - roles: [group_role]) - end + let!(:group_member) { create(:member, principal: group, entity: project, roles: [group_role]) } end shared_examples_for 'handling people' do |property| diff --git a/spec/services/groups/add_users_service_integration_spec.rb b/spec/services/groups/add_users_service_integration_spec.rb index 25d368d716f2..9b5f140c1401 100644 --- a/spec/services/groups/add_users_service_integration_spec.rb +++ b/spec/services/groups/add_users_service_integration_spec.rb @@ -60,11 +60,11 @@ expect(service_call).to be_success expect(group.users) - .to match_array([user1, user2]) + .to contain_exactly(user1, user2) expect(user1.memberships.where(project_id: projects).count).to eq 2 - expect(user1.memberships.map(&:roles).flatten).to match_array [role, role] + expect(user1.memberships.map(&:roles).flatten).to contain_exactly(role, role) expect(user2.memberships.where(project_id: projects).count).to eq 2 - expect(user2.memberships.map(&:roles).flatten).to match_array [role, role] + expect(user2.memberships.map(&:roles).flatten).to contain_exactly(role, role) end end @@ -108,12 +108,7 @@ context 'when the user was already a member in a project with the same role' do let(:previous_project) { projects.first } - let!(:user_member) do - create(:member, - project: previous_project, - roles: [role], - principal: user1) - end + let!(:user_member) { create(:member, entity: previous_project, roles: [role], principal: user1) } it_behaves_like 'adds the users to the group and project' @@ -139,24 +134,16 @@ let(:roles) { create_list(:role, 2) } let!(:group) do create(:group) do |g| - create(:member, - project:, - principal: g, - roles:) + create(:member, entity:, principal: g, roles:) end end - let!(:user_member) do - create(:member, - project:, - roles: [roles.first], - principal: user1) - end + let!(:user_member) { create(:member, entity: project, roles: [roles.first], principal: user1) } it 'adds the users to the group and project' do expect(service_call).to be_success expect(group.users) - .to match_array([user1, user2]) + .to contain_exactly(user1, user2) expect(user1.memberships.where(project_id: project).map(&:roles).flatten) .to match_array(roles) expect(user2.memberships.where(project_id: project).count).to eq 1 @@ -178,24 +165,19 @@ context 'when the user was already a member in a project with a different role' do let(:other_role) { create(:role) } let(:previous_project) { projects.first } - let!(:user_member) do - create(:member, - project: previous_project, - roles: [other_role], - principal: user1) - end + let!(:user_member) { create(:member, entity: previous_project, roles: [other_role], principal: user1) } it 'adds the users to the group and project' do expect(service_call).to be_success expect(group.users) - .to match_array([user1, user2]) + .to contain_exactly(user1, user2) expect(user1.memberships.where(project_id: previous_project).map(&:roles).flatten) - .to match_array([role, other_role]) + .to contain_exactly(role, other_role) expect(user1.memberships.where(project_id: projects.last).map(&:roles).flatten) - .to match_array([role]) + .to contain_exactly(role) expect(user2.memberships.where(project_id: projects).count).to eq 2 - expect(user2.memberships.map(&:roles).flatten).to match_array [role, role] + expect(user2.memberships.map(&:roles).flatten).to contain_exactly(role, role) end it 'updates the timestamps on the preexisting membership' do @@ -221,29 +203,21 @@ it 'adds the users to the group and their membership to the global role' do expect(service_call).to be_success - expect(group.users).to match_array([user1, user2]) + expect(group.users).to contain_exactly(user1, user2) expect(user1.memberships.where(project_id: nil).count).to eq 1 - expect(user1.memberships.flat_map(&:roles)).to match_array [role] + expect(user1.memberships.flat_map(&:roles)).to contain_exactly(role) expect(user2.memberships.where(project_id: nil).count).to eq 1 - expect(user2.memberships.flat_map(&:roles)).to match_array [role] + expect(user2.memberships.flat_map(&:roles)).to contain_exactly(role) end context 'when one user already has a global role that the group would add' do let(:global_roles) { create_list(:global_role, 2) } let!(:group) do create(:group) do |g| - create(:member, - project: nil, - principal: g, - roles: global_roles) + create(:global_member, principal: g, roles: global_roles) end end - let!(:user_membership) do - create(:member, - project: nil, - roles: [global_roles.first], - principal: user1) - end + let!(:user_membership) { create(:member, entity: nil, roles: [global_roles.first], principal: user1) } it 'adds their membership to the global role' do expect(service_call).to be_success diff --git a/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb b/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb index d92938abea34..8bb234951254 100644 --- a/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb +++ b/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb @@ -44,15 +44,9 @@ let(:message) { "Some message" } let!(:group) do - create(:group, - members: users).tap do |group| - create(:member, - project:, - principal: group, - roles:) - create(:global_member, - principal: group, - roles: global_roles) + create(:group, members: users).tap do |group| + create(:member, entity: project, principal: group, roles:) + create(:global_member, principal: group, roles: global_roles) Groups::CreateInheritedRolesService .new(group, current_user: User.system, contract_class: EmptyContract) @@ -137,7 +131,7 @@ .not_to eql(Member.find_by(id: first_user_member.id).updated_at) expect(first_user_member.reload.roles) - .to match_array([another_role, another_global_role]) + .to contain_exactly(another_role, another_global_role) end it 'sends a notification on the kept membership' do @@ -180,7 +174,7 @@ .not_to eql(Member.find_by(id: first_user_member.id).updated_at) expect(first_user_member.reload.roles) - .to match_array([role, global_role]) + .to contain_exactly(role, global_role) end it 'sends a notification on the kept membership' do @@ -219,7 +213,7 @@ service_call expect(Member.find_by(principal: users.last).roles) - .to match_array([role]) + .to contain_exactly(role) end it 'sends no notifications' do diff --git a/spec/services/groups/create_inherited_roles_service_integration_spec.rb b/spec/services/groups/create_inherited_roles_service_integration_spec.rb index 2836bf661b69..012838d40b40 100644 --- a/spec/services/groups/create_inherited_roles_service_integration_spec.rb +++ b/spec/services/groups/create_inherited_roles_service_integration_spec.rb @@ -61,10 +61,7 @@ end group_projects.each do |gp| - create(:member, - principal: g, - roles: group_roles, - project: gp) + create(:member, principal: g, roles: group_roles, entity: gp) end end end @@ -133,12 +130,7 @@ context 'when the user was already a member in a project with the same role' do let(:previous_project) { group_projects.first } - let!(:user_member) do - create(:member, - project: previous_project, - roles: group_roles, - principal: user1) - end + let!(:user_member) { create(:member, entity: previous_project, roles: group_roles, principal: user1) } it_behaves_like 'inherits the roles of the group to the users' @@ -162,12 +154,7 @@ context 'when the user was already a member in a project with only one role the group adds' do let(:group_roles) { create_list(:role, 2) } - let!(:user_member) do - create(:member, - project: group_projects.first, - roles: [group_roles.first], - principal: user1) - end + let!(:user_member) { create(:member, entity: group_projects.first, roles: [group_roles.first], principal: user1) } it_behaves_like 'inherits the roles of the group to the users' @@ -186,11 +173,7 @@ context 'when a user was already a member in a project with a different role' do let(:other_role) { create(:role) } let(:previous_project) { group_projects.first } - let!(:user_member) do - create(:member, - project: previous_project, - roles: [other_role], - principal: user1) + let!(:user_member) { create(:member, entity: previous_project, roles: [other_role], principal: user1) } end it 'inherits the roles of the group to the users' do diff --git a/spec/services/groups/update_roles_service_integration_spec.rb b/spec/services/groups/update_roles_service_integration_spec.rb index e53778d7d963..f61b39adb471 100644 --- a/spec/services/groups/update_roles_service_integration_spec.rb +++ b/spec/services/groups/update_roles_service_integration_spec.rb @@ -37,12 +37,8 @@ let(:roles) { [role] } let!(:group) do - create(:group, - members: users).tap do |group| - create(:member, - project:, - principal: group, - roles:) + create(:group, members: users).tap do |group| + create(:member, entity: project, principal: group, roles:) Groups::CreateInheritedRolesService .new(group, current_user: User.system, contract_class: EmptyContract) @@ -116,7 +112,7 @@ Member.where(principal: users).each do |member| expect(member.roles) - .to match_array([role, added_role]) + .to contain_exactly(role, added_role) end end @@ -163,7 +159,7 @@ Member.where(principal: users).each do |member| expect(member.roles) - .to match_array([role, added_role]) + .to contain_exactly(role, added_role) end end @@ -195,7 +191,7 @@ Member.where(principal: users).each do |member| expect(member.roles) - .to match_array([role]) + .to contain_exactly(role) end end @@ -229,14 +225,14 @@ service_call expect(Member.find_by(principal: users.first).roles.uniq) - .to match_array([role, added_role]) + .to contain_exactly(role, added_role) end it 'adds the roles to all inherited memberships' do service_call expect(Member.find_by(principal: users.last).roles) - .to match_array([role, added_role]) + .to contain_exactly(role, added_role) end it_behaves_like 'keeps timestamp' do @@ -275,7 +271,7 @@ Member.where(principal: users).each do |member| expect(member.roles) - .to match_array([role]) + .to contain_exactly(role) end end @@ -309,7 +305,7 @@ service_call expect(Member.find_by(principal: users.last).roles) - .to match_array([role]) + .to contain_exactly(role) end it 'keeps the non inherited roles' do @@ -355,7 +351,7 @@ Member.where(principal: users).each do |member| expect(member.roles) - .to match_array([replacement_role]) + .to contain_exactly(replacement_role) end end @@ -389,7 +385,7 @@ service_call expect(Member.find_by(principal: users.last).roles) - .to match_array([replacement_role]) + .to contain_exactly(replacement_role) end it 'keeps the non inherited roles' do @@ -422,12 +418,8 @@ let(:other_role) { create(:role) } let!(:second_group) do - create(:group, - members: users).tap do |group| - create(:member, - project:, - principal: group, - roles: [other_role]) + create(:group, members: users).tap do |group| + create(:member, entity: project, principal: group, roles: [other_role]) Groups::CreateInheritedRolesService .new(group, current_user: User.system, contract_class: EmptyContract) @@ -451,7 +443,7 @@ service_call expect(Member.find_by(principal: users.first).roles.uniq) - .to match_array([role, other_role, added_role]) + .to contain_exactly(role, other_role, added_role) end it_behaves_like 'sends notification' do diff --git a/spec/services/members/cleanup_service_integration_spec.rb b/spec/services/members/cleanup_service_integration_spec.rb index 0f1e1fb7036e..c711f39359a3 100644 --- a/spec/services/members/cleanup_service_integration_spec.rb +++ b/spec/services/members/cleanup_service_integration_spec.rb @@ -55,10 +55,7 @@ context 'with the user having a membership with an assignable role' do before do - create(:member, - principal: user, - project:, - roles: [create(:role, permissions: %i[work_package_assigned])]) + create(:member, principal: user, entity: project, roles: [create(:role, permissions: %i[work_package_assigned])]) end it 'keeps assigned_to to the user' do @@ -73,7 +70,7 @@ before do create(:member, principal: user, - project:, + entity: project, # Lacking work_package_assigned roles: [create(:role, permissions: [])]) end @@ -109,10 +106,7 @@ context 'with the user having a membership granting the right to view the watchable' do before do - create(:member, - principal: user, - project:, - roles: [create(:role, permissions: [:view_work_packages])]) + create(:member, principal: user, entity: project, roles: [create(:role, permissions: [:view_work_packages])]) end it 'keeps the watcher' do @@ -125,10 +119,7 @@ context 'with the user having a membership not granting the right to view the watchable' do before do - create(:member, - principal: user, - project:, - roles: [create(:role, permissions: [])]) + create(:member, principal: user, entity: project, roles: [create(:role, permissions: [])]) end it 'keeps the watcher' do diff --git a/spec/services/wiki_pages/copy_service_integration_spec.rb b/spec/services/wiki_pages/copy_service_integration_spec.rb index 4e27b20c821f..8d1258fcdc01 100644 --- a/spec/services/wiki_pages/copy_service_integration_spec.rb +++ b/spec/services/wiki_pages/copy_service_integration_spec.rb @@ -31,21 +31,13 @@ RSpec.describe WikiPages::CopyService, 'integration', type: :model do let(:user) do create(:user) do |user| - create(:member, - project: source_project, - principal: user, - roles: [role]) - - create(:member, - project: sink_project, - principal: user, - roles: [role]) + create(:member, entity: source_project, principal: user, roles: [role]) + create(:member, entity: sink_project, principal: user, roles: [role]) end end let(:role) do - create(:role, - permissions:) + create(:role, permissions:) end let(:permissions) do diff --git a/spec/services/work_packages/copy_service_integration_spec.rb b/spec/services/work_packages/copy_service_integration_spec.rb index a1fc0a45c2d1..f952035b38d2 100644 --- a/spec/services/work_packages/copy_service_integration_spec.rb +++ b/spec/services/work_packages/copy_service_integration_spec.rb @@ -105,7 +105,7 @@ it 'copies the watcher and does not add the copying user as a watcher' do expect(copy.watcher_users) - .to match_array([watcher_user]) + .to contain_exactly(watcher_user) end end end @@ -113,16 +113,9 @@ describe 'to a different project' do let(:target_type) { create(:type, custom_fields: target_custom_fields) } let(:target_project) do - p = create(:project, - types: [target_type], - work_package_custom_fields: target_custom_fields) - - create(:member, - project: p, - roles: [target_role], - user:) - - p + create(:project, types: [target_type], work_package_custom_fields: target_custom_fields).tap do |project| + create(:member, entity: project, roles: [target_role], principal: user) + end end let(:target_custom_fields) { [] } let(:target_role) { create(:role, permissions: target_permissions) } @@ -177,10 +170,8 @@ context 'assigned_to' do let(:target_user) { create(:user) } let(:target_project_member) do - create(:member, - project: target_project, - principal: target_user, - roles: [create(:role, permissions: [:work_package_assigned])]) + create(:member, entity: target_project, principal: target_user, + roles: [create(:role, permissions: [:work_package_assigned])]) end let(:attributes) { { project: target_project, assigned_to_id: target_user.id } } diff --git a/spec/services/work_packages/update_service_integration_spec.rb b/spec/services/work_packages/update_service_integration_spec.rb index 1c452b86587d..878cadda46e2 100644 --- a/spec/services/work_packages/update_service_integration_spec.rb +++ b/spec/services/work_packages/update_service_integration_spec.rb @@ -119,16 +119,9 @@ context 'when updating the project' do let(:target_project) do - p = create(:project, - types: target_types, - parent: target_parent) - - create(:member, - user:, - project: p, - roles: [create(:role, permissions: target_permissions)]) - - p + create(:project, types: target_types, parent: target_parent).tap do |project| + create(:member, principal: user, entry: project, roles: [create(:role, permissions: target_permissions)]) + end end let(:attributes) { { project_id: target_project.id } } let(:target_permissions) { [:move_work_packages] } @@ -167,7 +160,7 @@ .to be_success expect(TimeEntry.where(id: time_entries.map(&:id)).pluck(:project_id).uniq) - .to match_array [target_project.id] + .to contain_exactly(target_project.id) end end @@ -424,9 +417,7 @@ .to eql(sibling2_attributes[:due_date]) expect(subject.all_results) - .to match_array([work_package, - parent_work_package, - grandparent_work_package]) + .to contain_exactly(work_package, parent_work_package, grandparent_work_package) end end @@ -493,9 +484,7 @@ # Returns changed work packages expect(subject.all_results) - .to match_array([work_package, - parent_work_package, - grandparent_work_package]) + .to contain_exactly(work_package, parent_work_package, grandparent_work_package) end end @@ -560,9 +549,7 @@ # Returns changed work packages expect(subject.all_results) - .to match_array([work_package, - parent_work_package, - grandparent_work_package]) + .to contain_exactly(work_package, parent_work_package, grandparent_work_package) end end @@ -591,9 +578,7 @@ # Returns changed work packages expect(subject.all_results) - .to match_array([work_package, - parent_work_package, - grandparent_work_package]) + .to contain_exactly(work_package, parent_work_package, grandparent_work_package) end end @@ -794,13 +779,8 @@ # Returns changed work packages expect(subject.all_results) - .to match_array([work_package, - following_parent_work_package, - following_work_package, - following2_parent_work_package, - following2_work_package, - following3_parent_work_package, - following3_work_package]) + .to contain_exactly(work_package, following_parent_work_package, following_work_package, following2_parent_work_package, + following2_work_package, following3_parent_work_package, following3_work_package) end # rubocop:enable RSpec/ExampleLength # rubocop:enable RSpec/MultipleExpectations @@ -851,8 +831,7 @@ .to eq(expected_child_dates) expect(subject.all_results.uniq) - .to match_array([work_package, - parent_work_package]) + .to contain_exactly(work_package, parent_work_package) end end @@ -957,9 +936,7 @@ .to eql new_sibling_attributes[:due_date] expect(subject.all_results.uniq) - .to match_array([work_package, - former_parent_work_package, - new_parent_work_package]) + .to contain_exactly(work_package, former_parent_work_package, new_parent_work_package) end end @@ -1039,8 +1016,7 @@ .to eql new_parent_predecessor_attributes[:due_date] + 4.days expect(subject.all_results.uniq) - .to match_array([work_package, - new_parent_work_package]) + .to contain_exactly(work_package, new_parent_work_package) end end @@ -1112,8 +1088,7 @@ .to eql sibling_attributes[:due_date] expect(subject.all_results.uniq) - .to match_array([work_package, - parent_work_package]) + .to contain_exactly(work_package, parent_work_package) end end @@ -1138,10 +1113,10 @@ .to be_failure expect(result.errors.symbols_for(:attachments)) - .to match_array [:does_not_exist] + .to contain_exactly(:does_not_exist) expect(work_package.attachments.reload) - .to match_array [old_attachment] + .to contain_exactly(old_attachment) expect(other_users_attachment.reload.container) .to be_nil @@ -1152,7 +1127,7 @@ .to be_success expect(work_package.attachments.reload) - .to match_array [new_attachment] + .to contain_exactly(new_attachment) expect(new_attachment.reload.container) .to eql work_package @@ -1169,7 +1144,7 @@ .to be_empty expect(Attachment.all) - .to match_array [other_users_attachment] + .to contain_exactly(other_users_attachment) end # rubocop:enable RSpec/ExampleLength end diff --git a/spec/support/shared/become_member.rb b/spec/support/shared/become_member.rb index a20097ca96dd..7189a7de275e 100644 --- a/spec/support/shared/become_member.rb +++ b/spec/support/shared/become_member.rb @@ -44,7 +44,7 @@ def become_member(project, user) def add_user_to_project!(user:, project:, role: nil, permissions: nil) role ||= create(:existing_role, permissions: Array(permissions)) - create(:member, principal: user, project:, roles: [role]) + create(:member, principal: user, entity: project, roles: [role]) end end end diff --git a/spec/workers/copy_project_job_spec.rb b/spec/workers/copy_project_job_spec.rb index 6c4c4e1f83bf..e8daa42739b3 100644 --- a/spec/workers/copy_project_job_spec.rb +++ b/spec/workers/copy_project_job_spec.rb @@ -212,10 +212,7 @@ let(:params) { { name: 'Copy', identifier: 'copy' } } let(:subproject) do create(:project, parent: project).tap do |p| - create(:member, - principal: user, - roles: [role], - project: p) + create(:member, principal: user, roles: [role], entity: p) end end @@ -269,10 +266,7 @@ describe 'user with add_subprojects permission in parent' do let(:role_add_subproject) { create(:role, permissions: [:add_subprojects]) } let(:member_add_subproject) do - create(:member, - user:, - project:, - roles: [role_add_subproject]) + create(:member, principal: user, entity: project, roles: [role_add_subproject]) end before do diff --git a/spec/workers/principals/delete_job_integration_spec.rb b/spec/workers/principals/delete_job_integration_spec.rb index 1d63b1499131..0555bd2c73e4 100644 --- a/spec/workers/principals/delete_job_integration_spec.rb +++ b/spec/workers/principals/delete_job_integration_spec.rb @@ -40,10 +40,7 @@ create(:user) end let(:member) do - create(:member, - principal:, - project:, - roles: [role]) + create(:member, principal:, entity: project, roles: [role]) end shared_let(:role) do @@ -113,10 +110,7 @@ end before do - create(:member, - project: work_package.project, - user: principal, - roles: [build(:role)]) + create(:member, entity: work_package.project, principal:, roles: [build(:role)]) entry job