diff --git a/app/seeders/development_data/custom_fields_seeder.rb b/app/seeders/development_data/custom_fields_seeder.rb index 2e36a1f4d62..2ea8986d713 100644 --- a/app/seeders/development_data/custom_fields_seeder.rb +++ b/app/seeders/development_data/custom_fields_seeder.rb @@ -47,14 +47,14 @@ module DevelopmentData def create_types!(cfs) # Create ALL CFs types non_req_cfs = cfs.reject(&:is_required).map { |cf| "custom_field_#{cf.id}" } - type = FactoryBot.build :type, name: 'All CFS' + type = build :type, name: 'All CFS' extend_group(type, ['Custom fields', non_req_cfs]) type.save! print_status '.' # Create type req_cfs = cfs.select(&:is_required).map { |cf| "custom_field_#{cf.id}" } - type_req = FactoryBot.build :type, name: 'Required CF' + type_req = build :type, name: 'Required CF' extend_group(type_req, ['Custom fields', req_cfs]) type_req.save! print_status '.' diff --git a/modules/auth_plugins/spec/features/auth_provider_spec.rb b/modules/auth_plugins/spec/features/auth_provider_spec.rb index 22729320f24..6a95faca51f 100644 --- a/modules/auth_plugins/spec/features/auth_provider_spec.rb +++ b/modules/auth_plugins/spec/features/auth_provider_spec.rb @@ -40,7 +40,7 @@ describe 'rendering the login buttons', js: true do end describe 'in a public project', with_settings: { login_required: false } do - let(:public_project) { FactoryBot.build(:project, public: true) } + let(:public_project) { build(:project, public: true) } it 'renders correctly' do visit project_path(public_project) diff --git a/modules/auth_plugins/spec/views/base.html.erb_spec.rb b/modules/auth_plugins/spec/views/base.html.erb_spec.rb index 479a8f6befe..f53e358e114 100644 --- a/modules/auth_plugins/spec/views/base.html.erb_spec.rb +++ b/modules/auth_plugins/spec/views/base.html.erb_spec.rb @@ -32,7 +32,7 @@ describe 'layouts/base', type: :view do describe 'authenticator plugin' do include Redmine::MenuManager::MenuHelper helper Redmine::MenuManager::MenuHelper - let(:anonymous) { FactoryBot.build_stubbed(:anonymous) } + let(:anonymous) { build_stubbed(:anonymous) } before do allow(view).to receive(:current_menu_item).and_return('overview') diff --git a/modules/avatars/spec/controllers/avatars/avatar_controller_spec.rb b/modules/avatars/spec/controllers/avatars/avatar_controller_spec.rb index 6b7d715a6b9..70ba9f11f07 100644 --- a/modules/avatars/spec/controllers/avatars/avatar_controller_spec.rb +++ b/modules/avatars/spec/controllers/avatars/avatar_controller_spec.rb @@ -20,7 +20,7 @@ describe ::Avatars::AvatarController, type: :controller do end describe 'when logged in' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } before do login_as user diff --git a/modules/avatars/spec/controllers/avatars/users_controller_spec.rb b/modules/avatars/spec/controllers/avatars/users_controller_spec.rb index b8e31633b3e..dceb0d099a9 100644 --- a/modules/avatars/spec/controllers/avatars/users_controller_spec.rb +++ b/modules/avatars/spec/controllers/avatars/users_controller_spec.rb @@ -4,7 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../shared_examples') describe ::Avatars::UsersController, type: :controller do include_context "there are users with and without avatars" - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let(:enabled) { true } before do @@ -26,7 +26,7 @@ describe ::Avatars::UsersController, type: :controller do end context 'as another user' do - let(:current_user) { FactoryBot.create :user } + let(:current_user) { create :user } before do get :show, params: { id: target_user.id } end diff --git a/modules/avatars/spec/features/my_avatar_spec.rb b/modules/avatars/spec/features/my_avatar_spec.rb index f57d583caea..ba00cad3f0b 100644 --- a/modules/avatars/spec/features/my_avatar_spec.rb +++ b/modules/avatars/spec/features/my_avatar_spec.rb @@ -4,7 +4,7 @@ require_relative './shared_avatar_examples' describe 'My avatar management', type: :feature, js: true do include Rails.application.routes.url_helpers - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:target_user) { user } let(:avatar_management_path) { edit_my_avatar_path } diff --git a/modules/avatars/spec/features/user_avatar_spec.rb b/modules/avatars/spec/features/user_avatar_spec.rb index 63ce7503e96..5950abdd91a 100644 --- a/modules/avatars/spec/features/user_avatar_spec.rb +++ b/modules/avatars/spec/features/user_avatar_spec.rb @@ -4,7 +4,7 @@ require_relative './shared_avatar_examples' describe 'User avatar management', type: :feature, js: true do include Rails.application.routes.url_helpers - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:avatar_management_path) { edit_user_path(target_user, tab: 'avatar') } before do @@ -12,12 +12,12 @@ describe 'User avatar management', type: :feature, js: true do end context 'when user is admin' do - let(:target_user) { FactoryBot.create :user } + let(:target_user) { create :user } it_behaves_like 'avatar management' end context 'when user is self' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:target_user) { user } it 'forbids the user to access' do visit avatar_management_path @@ -26,8 +26,8 @@ describe 'User avatar management', type: :feature, js: true do end context 'when user is another user' do - let(:target_user) { FactoryBot.create :user } - let(:user) { FactoryBot.create :user } + let(:target_user) { create :user } + let(:user) { create :user } it 'forbids the user to access' do visit avatar_management_path @@ -36,7 +36,7 @@ describe 'User avatar management', type: :feature, js: true do end describe 'none enabled' do - let(:target_user) { FactoryBot.create :user } + let(:target_user) { create :user } before do allow(Setting) diff --git a/modules/avatars/spec/helpers/avatar_helper_spec.rb b/modules/avatars/spec/helpers/avatar_helper_spec.rb index 81e9c2312fc..504fa904105 100644 --- a/modules/avatars/spec/helpers/avatar_helper_spec.rb +++ b/modules/avatars/spec/helpers/avatar_helper_spec.rb @@ -3,9 +3,9 @@ require 'spec_helper' describe AvatarHelper, type: :helper, with_settings: { protocol: 'http' } do include AngularHelper - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:mail_digest) { Digest::MD5.hexdigest(user.mail) } - let(:avatar_stub) { FactoryBot.build_stubbed(:avatar_attachment) } + let(:avatar_stub) { build_stubbed(:avatar_attachment) } let(:enable_gravatars) { false } let(:enable_local_avatars) { false } diff --git a/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb b/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb index d0129caa6c1..690c6c9c945 100644 --- a/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb +++ b/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::API::V3::Users::UserRepresenter do - let(:user) { FactoryBot.build_stubbed(:user, status: 1) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user, status: 1) } + let(:current_user) { build_stubbed(:user) } let(:representer) { described_class.new(user, current_user: current_user) } context 'generation' do diff --git a/modules/avatars/spec/models/user_spec.rb b/modules/avatars/spec/models/user_spec.rb index 7cbfcc5bcfc..8774c361fef 100644 --- a/modules/avatars/spec/models/user_spec.rb +++ b/modules/avatars/spec/models/user_spec.rb @@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../shared_examples') describe User, type: :model do include_examples "there are users with and without avatars" - let(:user) { FactoryBot.build :user } + let(:user) { build :user } specify { expect(user.attachments).to all be_a_kind_of Attachment } diff --git a/modules/avatars/spec/requests/user_avatar_api_spec.rb b/modules/avatars/spec/requests/user_avatar_api_spec.rb index c0f771ecede..dff84414054 100644 --- a/modules/avatars/spec/requests/user_avatar_api_spec.rb +++ b/modules/avatars/spec/requests/user_avatar_api_spec.rb @@ -33,8 +33,8 @@ describe 'API v3 User avatar resource', type: :request, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.create(:admin) } - let(:other_user) { FactoryBot.create(:user) } + let(:current_user) { create(:admin) } + let(:other_user) { create(:user) } subject(:response) { last_response } @@ -93,8 +93,8 @@ describe 'API v3 User avatar resource', type: :request, content_type: :json do let(:local_avatars) { true } let(:other_user) do - u = FactoryBot.create :user - u.attachments = [FactoryBot.build(:avatar_attachment, author: u)] + u = create :user + u.attachments = [build(:avatar_attachment, author: u)] u end diff --git a/modules/avatars/spec/services/avatars/update_service_spec.rb b/modules/avatars/spec/services/avatars/update_service_spec.rb index d061ecc0d9b..b86e53535f8 100644 --- a/modules/avatars/spec/services/avatars/update_service_spec.rb +++ b/modules/avatars/spec/services/avatars/update_service_spec.rb @@ -1,10 +1,10 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe ::Avatars::UpdateService do - let(:user_without_avatar) { FactoryBot.build_stubbed :user } + let(:user_without_avatar) { build_stubbed :user } let(:user_with_avatar) do - u = FactoryBot.create :user - u.attachments = [FactoryBot.build(:avatar_attachment, author: u)] + u = create :user + u.attachments = [build(:avatar_attachment, author: u)] u end diff --git a/modules/avatars/spec/shared_examples.rb b/modules/avatars/spec/shared_examples.rb index 1513066c0f1..aeac898cd7d 100644 --- a/modules/avatars/spec/shared_examples.rb +++ b/modules/avatars/spec/shared_examples.rb @@ -23,7 +23,7 @@ shared_examples_for "an action checked for required login" do end shared_examples_for "an action requiring login" do - let(:current) { FactoryBot.create(:user) } + let(:current) { create(:user) } before do allow(User).to receive(:current).and_return(current) @@ -49,7 +49,7 @@ shared_examples_for "an action requiring login" do end shared_examples_for "an action requiring admin" do - let(:current) { FactoryBot.create(:admin) } + let(:current) { create(:admin) } before do allow(User).to receive(:current).and_return(current) @@ -67,7 +67,7 @@ shared_examples_for "an action requiring admin" do describe "with being logged in as a normal user" do before do - allow(User).to receive(:current).and_return FactoryBot.create(:user) + allow(User).to receive(:current).and_return create(:user) action end @@ -91,10 +91,10 @@ shared_examples_for "an action requiring admin" do end shared_context "there are users with and without avatars" do let(:base_path) { File.expand_path 'fixtures', __dir__ } - let(:user_without_avatar) { FactoryBot.create :user } + let(:user_without_avatar) { create :user } let(:user_with_avatar) do - u = FactoryBot.create :user - u.attachments = [FactoryBot.build(:avatar_attachment, author: u)] + u = create :user + u.attachments = [build(:avatar_attachment, author: u)] u end let(:avatar_file) do diff --git a/modules/backlogs/spec/api/work_package_resource_spec.rb b/modules/backlogs/spec/api/work_package_resource_spec.rb index 8729b0ecc29..97febb8115e 100644 --- a/modules/backlogs/spec/api/work_package_resource_spec.rb +++ b/modules/backlogs/spec/api/work_package_resource_spec.rb @@ -33,10 +33,10 @@ describe 'API v3 Work package resource' do include Rack::Test::Methods include Capybara::RSpecMatchers - let(:current_user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:current_user) { create(:admin) } + let(:project) { create(:project) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, story_points: 8, remaining_hours: 5) @@ -67,7 +67,7 @@ describe 'API v3 Work package resource' do context 'backlogs deactivated' do let(:project) do - FactoryBot.create(:project, disable_modules: 'backlogs') + create(:project, disable_modules: 'backlogs') end include_context 'query work package' diff --git a/modules/backlogs/spec/api/work_packages/form_resource_spec.rb b/modules/backlogs/spec/api/work_packages/form_resource_spec.rb index 3014f19a2d4..ddaf51889b6 100644 --- a/modules/backlogs/spec/api/work_packages/form_resource_spec.rb +++ b/modules/backlogs/spec/api/work_packages/form_resource_spec.rb @@ -33,10 +33,10 @@ describe 'API v3 Work package form resource', type: :request do include Rack::Test::Methods include Capybara::RSpecMatchers - let(:project) { FactoryBot.create(:project, public: false) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:authorized_user) { FactoryBot.create(:user, member_in_project: project) } - let(:unauthorized_user) { FactoryBot.create(:user) } + let(:project) { create(:project, public: false) } + let(:work_package) { create(:work_package, project: project) } + let(:authorized_user) { create(:user, member_in_project: project) } + let(:unauthorized_user) { create(:user) } before do allow(Story).to receive(:types).and_return([work_package.type_id]) diff --git a/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb b/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb index 2683ae27aa4..284d7872354 100644 --- a/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb +++ b/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do - let(:project) { FactoryBot.build(:project) } - let(:type) { FactoryBot.build(:type) } + let(:project) { build(:project) } + let(:type) { build(:type) } let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, project: project, type: type) end let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) .and_return(true) @@ -45,7 +45,7 @@ describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do end shared_examples_for 'with parent which is a BACKLOGS type' do |writable| - let(:parent) { FactoryBot.create(:work_package, type: type_task) } + let(:parent) { create(:work_package, type: type_task) } before do work_package.parent_id = parent.id @@ -58,7 +58,7 @@ describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do end shared_examples_for 'with parent which is not a BACKLOGS type' do - let(:parent) { FactoryBot.create(:work_package, type: type_feature) } + let(:parent) { create(:work_package, type: type_feature) } before do work_package.parent_id = parent.id @@ -100,8 +100,8 @@ describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do describe '#version_writable?' do subject { described_class.new(work_package: work_package) } - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_feature) { FactoryBot.create(:type_feature) } + let(:type_task) { create(:type_task) } + let(:type_feature) { create(:type_feature) } before do allow(WorkPackage).to receive(:backlogs_types).and_return([type_task.id]) diff --git a/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb b/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb index 189ad3ebdd4..b97f3a160af 100644 --- a/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb +++ b/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do - let(:custom_field) { FactoryBot.build(:custom_field) } - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package, type: FactoryBot.build_stubbed(:type)) } + let(:custom_field) { build(:custom_field) } + let(:work_package) { build_stubbed(:stubbed_work_package, type: build_stubbed(:type)) } let(:current_user) do - FactoryBot.build_stubbed(:user, member_in_project: work_package.project).tap do |u| + build_stubbed(:user, member_in_project: work_package.project).tap do |u| allow(u) .to receive(:allowed_to?) .and_return(false) diff --git a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb index 55415f1a87b..fb7681d65bc 100644 --- a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb @@ -30,18 +30,18 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe WorkPackages::BaseContract, type: :model do let(:instance) { described_class.new(work_package, user) } - let(:type_feature) { FactoryBot.build(:type_feature) } - let(:type_task) { FactoryBot.build(:type_task) } - let(:type_bug) { FactoryBot.build(:type_bug) } - let(:version1) { FactoryBot.build_stubbed(:version, name: 'Version1', project: p) } - let(:version2) { FactoryBot.build_stubbed(:version, name: 'Version2', project: p) } - let(:role) { FactoryBot.build(:role) } - let(:user) { FactoryBot.build(:admin) } - let(:issue_priority) { FactoryBot.build(:priority) } - let(:status) { FactoryBot.build_stubbed(:status, name: 'status 1', is_default: true) } + let(:type_feature) { build(:type_feature) } + let(:type_task) { build(:type_task) } + let(:type_bug) { build(:type_bug) } + let(:version1) { build_stubbed(:version, name: 'Version1', project: p) } + let(:version2) { build_stubbed(:version, name: 'Version2', project: p) } + let(:role) { build(:role) } + let(:user) { build(:admin) } + let(:issue_priority) { build(:priority) } + let(:status) { build_stubbed(:status, name: 'status 1', is_default: true) } let(:project) do - p = FactoryBot.build(:project, members: [FactoryBot.build(:member, + p = build(:project, members: [build(:member, principal: user, roles: [role])], types: [type_feature, type_task, type_bug]) @@ -57,7 +57,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:other_project) do - p = FactoryBot.build(:project, members: [FactoryBot.build(:member, + p = build(:project, members: [build(:member, principal: user, roles: [role])], types: [type_feature, type_task, type_bug]) @@ -72,7 +72,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:story) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Story', project: project, type: type_feature, @@ -83,7 +83,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:story2) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Story2', project: project, type: type_feature, @@ -94,7 +94,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:task) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Task', type: type_task, version: version1, @@ -105,7 +105,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:task2) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Task2', type: type_task, version: version1, @@ -116,7 +116,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:bug) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Bug', type: type_bug, version: version1, @@ -127,7 +127,7 @@ describe WorkPackages::BaseContract, type: :model do end let(:bug2) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, subject: 'Bug2', type: type_bug, version: version1, diff --git a/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb index e6023082d4e..0f6ffdb907e 100644 --- a/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' describe WorkPackages::CreateContract do let(:work_package) do - WorkPackage.new FactoryBot.attributes_for(:stubbed_work_package, author: other_user, project: project) + WorkPackage.new attributes_for(:stubbed_work_package, author: other_user, project: project) end - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } include_context 'user with stubbed permissions' - let (:project) { FactoryBot.build_stubbed(:project) } + let (:project) { build_stubbed(:project) } let(:permissions) do %i[ view_work_packages diff --git a/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb index f8b345f8bae..9259f6b9ede 100644 --- a/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' describe WorkPackages::UpdateContract do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, done_ratio: 50, estimated_hours: 6.0, project: project) end - let(:member) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:project) { FactoryBot.create(:project) } + let(:member) { create(:user, member_in_project: project, member_through_role: role) } + let(:project) { create(:project) } let(:current_user) { member } let(:permissions) do %i[ @@ -49,7 +49,7 @@ describe WorkPackages::UpdateContract do add_work_package_notes ] end - let(:role) { FactoryBot.create :role, permissions: permissions } + let(:role) { create :role, permissions: permissions } let(:changed_values) { [] } subject(:contract) { described_class.new(work_package, current_user) } @@ -94,7 +94,7 @@ describe WorkPackages::UpdateContract do contract.validate end let(:child) do - FactoryBot.create(:work_package, parent_id: work_package.id, project: project) + create(:work_package, parent_id: work_package.id, project: project) end context 'has not changed' do diff --git a/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb b/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb index 3fa1bf4d0f2..050537e1ee1 100644 --- a/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb +++ b/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe BacklogsSettingsController, type: :controller do - current_user { FactoryBot.build_stubbed :admin } + current_user { build_stubbed :admin } describe 'GET show' do it 'performs that request' do @@ -39,7 +39,7 @@ describe BacklogsSettingsController, type: :controller do end context 'as regular user' do - current_user { FactoryBot.build_stubbed :user } + current_user { build_stubbed :user } it 'fails' do get :show @@ -92,7 +92,7 @@ describe BacklogsSettingsController, type: :controller do end context 'with a non-admin' do - current_user { FactoryBot.build_stubbed :user } + current_user { build_stubbed :user } it 'does not update the settings' do expect(Setting) diff --git a/modules/backlogs/spec/controllers/versions_controller_spec.rb b/modules/backlogs/spec/controllers/versions_controller_spec.rb index d6304866e93..89a91ed43d6 100644 --- a/modules/backlogs/spec/controllers/versions_controller_spec.rb +++ b/modules/backlogs/spec/controllers/versions_controller_spec.rb @@ -30,21 +30,21 @@ require 'spec_helper' describe VersionsController, type: :controller do let(:version) do - FactoryBot.create(:version, + create(:version, sharing: 'system') end let(:other_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, user: current_user, - roles: [FactoryBot.create(:role, permissions: [:manage_versions])], + roles: [create(:role, permissions: [:manage_versions])], project: p) end end let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: version.project, member_with_permissions: [:manage_versions]) end diff --git a/modules/backlogs/spec/features/backlogs/create_story_spec.rb b/modules/backlogs/spec/features/backlogs/create_story_spec.rb index 6e3d5e56ce1..6a8be9564fd 100644 --- a/modules/backlogs/spec/features/backlogs/create_story_spec.rb +++ b/modules/backlogs/spec/features/backlogs/create_story_spec.rb @@ -30,40 +30,40 @@ require 'spec_helper' describe 'Backlogs', js: true do let(:story_type) do - FactoryBot.create(:type_feature) + create(:type_feature) end let(:story_type2) do - type = FactoryBot.create(:type) + type = create(:type) project.types << type type end let(:inactive_story_type) do - FactoryBot.create(:type) + create(:type) end let(:task_type) do - type = FactoryBot.create(:type_task) + type = create(:type_task) project.types << type type end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i(add_work_packages view_master_backlog view_work_packages assign_versions) end - let(:project) { FactoryBot.create :project } + let(:project) { create :project } - let(:backlog_version) { FactoryBot.create(:version, project: project) } + let(:backlog_version) { create(:version, project: project) } let!(:existing_story1) do - FactoryBot.create(:work_package, + create(:work_package, type: story_type, project: project, status: default_status, @@ -73,7 +73,7 @@ describe 'Backlogs', js: true do version: backlog_version) end let!(:existing_story2) do - FactoryBot.create(:work_package, + create(:work_package, type: story_type, project: project, status: default_status, @@ -83,10 +83,10 @@ describe 'Backlogs', js: true do version: backlog_version) end let!(:default_status) do - FactoryBot.create(:default_status) + create(:default_status) end let!(:default_priority) do - FactoryBot.create(:default_priority) + create(:default_priority) end before do diff --git a/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb b/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb index df0b3cadcec..e62e69ee23d 100644 --- a/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb +++ b/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb @@ -33,25 +33,25 @@ describe 'Backlogs in backlog view', type: :feature, js: true do let!(:project) do - FactoryBot.create(:project, + create(:project, types: [story, task], enabled_module_names: %w(work_package_tracking backlogs)) end - let!(:story) { FactoryBot.create(:type_feature) } - let!(:other_story) { FactoryBot.create(:type) } - let!(:task) { FactoryBot.create(:type_task) } - let!(:priority) { FactoryBot.create(:default_priority) } - let!(:default_status) { FactoryBot.create(:status, is_default: true) } - let!(:other_status) { FactoryBot.create(:status) } + let!(:story) { create(:type_feature) } + let!(:other_story) { create(:type) } + let!(:task) { create(:type_task) } + let!(:priority) { create(:default_priority) } + let!(:default_status) { create(:status, is_default: true) } + let!(:other_status) { create(:status) } let!(:workflows) do - FactoryBot.create(:workflow, + create(:workflow, old_status: default_status, new_status: other_status, role: role, type_id: story.id) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_master_backlog add_work_packages view_work_packages @@ -62,34 +62,34 @@ describe 'Backlogs in backlog view', assign_versions)) end let!(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:sprint) do - FactoryBot.create(:version, + create(:version, project: project, start_date: Date.today - 10.days, effective_date: Date.today + 10.days, version_settings_attributes: [{ project: project, display: VersionSetting::DISPLAY_LEFT }]) end let!(:backlog) do - FactoryBot.create(:version, + create(:version, project: project, version_settings_attributes: [{ project: project, display: VersionSetting::DISPLAY_RIGHT }]) end let!(:other_project) do - FactoryBot.create(:project) + create(:project) end let!(:other_project_sprint) do - FactoryBot.create(:version, + create(:version, project: other_project, sharing: 'system', start_date: Date.today - 10.days, effective_date: Date.today + 10.days) end let!(:sprint_story1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, diff --git a/modules/backlogs/spec/features/empty_backlogs_spec.rb b/modules/backlogs/spec/features/empty_backlogs_spec.rb index 0a48ed75797..863958b0807 100644 --- a/modules/backlogs/spec/features/empty_backlogs_spec.rb +++ b/modules/backlogs/spec/features/empty_backlogs_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe 'Empty backlogs project', type: :feature, js: true do - let(:project) { FactoryBot.create(:project, types: [story, task], enabled_module_names: %w(backlogs)) } - let(:story) { FactoryBot.create(:type_feature) } - let(:task) { FactoryBot.create(:type_task) } - let(:status) { FactoryBot.create(:status, is_default: true) } + let(:project) { create(:project, types: [story, task], enabled_module_names: %w(backlogs)) } + let(:story) { create(:type_feature) } + let(:task) { create(:type_task) } + let(:status) { create(:status, is_default: true) } before do project @@ -50,7 +50,7 @@ describe 'Empty backlogs project', end context 'as admin' do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } it 'should show a no results box with action' do expect(page).to have_selector '.generic-table--no-results-container', text: I18n.t(:backlogs_empty_title) @@ -62,8 +62,8 @@ describe 'Empty backlogs project', end context 'as regular member' do - let(:role) { FactoryBot.create(:role, permissions: %i(view_master_backlog)) } - let(:current_user) { FactoryBot.create :user, member_in_project: project, member_through_role: role } + let(:role) { create(:role, permissions: %i(view_master_backlog)) } + let(:current_user) { create :user, member_in_project: project, member_through_role: role } it 'should only show a no results box' do expect(page).to have_selector '.generic-table--no-results-container', text: I18n.t(:backlogs_empty_title) diff --git a/modules/backlogs/spec/features/impediments_spec.rb b/modules/backlogs/spec/features/impediments_spec.rb index ba766585746..0fbce8946e1 100644 --- a/modules/backlogs/spec/features/impediments_spec.rb +++ b/modules/backlogs/spec/features/impediments_spec.rb @@ -32,29 +32,29 @@ describe 'Impediments on taskboard', type: :feature, js: true do let!(:project) do - FactoryBot.create(:project, + create(:project, types: [story, task], enabled_module_names: %w(work_package_tracking backlogs)) end - let!(:story) { FactoryBot.create(:type_feature) } - let!(:task) { FactoryBot.create(:type_task) } - let!(:priority) { FactoryBot.create(:default_priority) } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:other_status) { FactoryBot.create(:status) } + let!(:story) { create(:type_feature) } + let!(:task) { create(:type_task) } + let!(:priority) { create(:default_priority) } + let!(:status) { create(:status, is_default: true) } + let!(:other_status) { create(:status) } let!(:workflows) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: other_status, role: role, type_id: story.id) - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: other_status, role: role, type_id: task.id) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_taskboards add_work_packages view_work_packages @@ -63,12 +63,12 @@ describe 'Impediments on taskboard', assign_versions)) end let!(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:task1) do - FactoryBot.create(:work_package, + create(:work_package, status: status, project: project, type: task, @@ -76,29 +76,29 @@ describe 'Impediments on taskboard', parent: story1) end let!(:story1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, version: sprint) end let!(:other_task) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: task, version: sprint, parent: other_story) end let!(:other_story) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, version: other_sprint) end let!(:sprint) do - FactoryBot.create(:version, project: project) + create(:version, project: project) end let!(:other_sprint) do - FactoryBot.create(:version, project: project) + create(:version, project: project) end before do diff --git a/modules/backlogs/spec/features/onboarding/backlogs_onboarding_tour_spec.rb b/modules/backlogs/spec/features/onboarding/backlogs_onboarding_tour_spec.rb index b2645a15f45..5b736ac8ac0 100644 --- a/modules/backlogs/spec/features/onboarding/backlogs_onboarding_tour_spec.rb +++ b/modules/backlogs/spec/features/onboarding/backlogs_onboarding_tour_spec.rb @@ -30,27 +30,27 @@ require 'spec_helper' describe 'backlogs onboarding tour', js: true do let(:next_button) { find('.enjoyhint_next_btn') } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:demo_project) do - FactoryBot.create :project, + create :project, name: 'Demo project', identifier: 'demo-project', public: true, enabled_module_names: %w[work_package_tracking wiki] end let(:project) do - FactoryBot.create :project, + create :project, name: 'Scrum project', identifier: 'your-scrum-project', public: true, enabled_module_names: %w[work_package_tracking wiki backlogs] end - let(:sprint) { FactoryBot.create(:version, project: project, name: 'Sprint 1') } - let(:status) { FactoryBot.create(:default_status) } - let(:priority) { FactoryBot.create(:default_priority) } + let(:sprint) { create(:version, project: project, name: 'Sprint 1') } + let(:status) { create(:default_status) } + let(:priority) { create(:default_priority) } let(:impediment) do - FactoryBot.build(:impediment, author: user, + build(:impediment, author: user, version: sprint, assigned_to: user, project: project, @@ -58,16 +58,16 @@ describe 'backlogs onboarding tour', js: true do status: status) end - let(:story_type) { FactoryBot.create(:type_feature) } + let(:story_type) { create(:type_feature) } let(:task_type) do - type = FactoryBot.create(:type_task) + type = create(:type_task) project.types << type type end let!(:existing_story) do - FactoryBot.create(:work_package, + create(:work_package, type: story_type, project: project, status: status, @@ -125,8 +125,8 @@ describe 'backlogs onboarding tour', js: true do context 'with a new user who is not allowed to see the backlogs plugin' do # necessary to be able to see public projects - let(:non_member_role) { FactoryBot.create :non_member, permissions: [:view_work_packages] } - let(:non_member_user) { FactoryBot.create :user } + let(:non_member_role) { create :non_member, permissions: [:view_work_packages] } + let(:non_member_user) { create :user } before do non_member_role diff --git a/modules/backlogs/spec/features/resolved_status_spec.rb b/modules/backlogs/spec/features/resolved_status_spec.rb index 87976e826c0..6ecf7fcd704 100644 --- a/modules/backlogs/spec/features/resolved_status_spec.rb +++ b/modules/backlogs/spec/features/resolved_status_spec.rb @@ -31,16 +31,16 @@ require 'spec_helper' describe 'Resolved status', type: :feature do let!(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %w(backlogs)) end - let!(:status) { FactoryBot.create(:status, is_default: true) } + let!(:status) { create(:status, is_default: true) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[select_done_statuses]) end let!(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/modules/backlogs/spec/features/stories_in_backlog_spec.rb b/modules/backlogs/spec/features/stories_in_backlog_spec.rb index f5e573b2e4c..70b5442748a 100644 --- a/modules/backlogs/spec/features/stories_in_backlog_spec.rb +++ b/modules/backlogs/spec/features/stories_in_backlog_spec.rb @@ -33,25 +33,25 @@ describe 'Stories in backlog', type: :feature, js: true do let!(:project) do - FactoryBot.create(:project, + create(:project, types: [story, task, other_story], enabled_module_names: %w(work_package_tracking backlogs)) end - let!(:story) { FactoryBot.create(:type_feature) } - let!(:other_story) { FactoryBot.create(:type) } - let!(:task) { FactoryBot.create(:type_task) } - let!(:priority) { FactoryBot.create(:default_priority) } - let!(:default_status) { FactoryBot.create(:status, is_default: true) } - let!(:other_status) { FactoryBot.create(:status) } + let!(:story) { create(:type_feature) } + let!(:other_story) { create(:type) } + let!(:task) { create(:type_task) } + let!(:priority) { create(:default_priority) } + let!(:default_status) { create(:status, is_default: true) } + let!(:other_status) { create(:status) } let!(:workflows) do - FactoryBot.create(:workflow, + create(:workflow, old_status: default_status, new_status: other_status, role: role, type_id: story.id) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_master_backlog add_work_packages view_work_packages @@ -60,12 +60,12 @@ describe 'Stories in backlog', assign_versions)) end let!(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:sprint_story1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, @@ -74,21 +74,21 @@ describe 'Stories in backlog', story_points: 10) end let!(:sprint_story1_task) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: task, status: default_status, version: sprint) end let!(:sprint_story2_parent) do - FactoryBot.create(:work_package, + create(:work_package, project: project, - type: FactoryBot.create(:type), + type: create(:type), status: default_status, version: sprint) end let!(:sprint_story2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, @@ -97,34 +97,34 @@ describe 'Stories in backlog', story_points: 20) end let!(:backlog_story1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, version: backlog) end let!(:sprint) do - FactoryBot.create(:version, + create(:version, project: project, start_date: Date.today - 10.days, effective_date: Date.today + 10.days, version_settings_attributes: [{ project: project, display: VersionSetting::DISPLAY_LEFT }]) end let!(:backlog) do - FactoryBot.create(:version, + create(:version, project: project, version_settings_attributes: [{ project: project, display: VersionSetting::DISPLAY_RIGHT }]) end let!(:other_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, principal: current_user, project: p, roles: [role]) end end let!(:sprint_story_in_other_project) do - FactoryBot.create(:work_package, + create(:work_package, project: other_project, type: story, status: default_status, diff --git a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb index e8068036ed5..55343d6ed63 100644 --- a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb +++ b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb @@ -33,25 +33,25 @@ describe 'Tasks on taskboard', type: :feature, js: true do let!(:project) do - FactoryBot.create(:project, + create(:project, types: [story, task, other_story], enabled_module_names: %w(work_package_tracking backlogs)) end - let!(:story) { FactoryBot.create(:type_feature) } - let!(:other_story) { FactoryBot.create(:type) } - let!(:task) { FactoryBot.create(:type_task) } - let!(:priority) { FactoryBot.create(:default_priority) } - let!(:default_status) { FactoryBot.create(:status, is_default: true) } - let!(:other_status) { FactoryBot.create(:status) } + let!(:story) { create(:type_feature) } + let!(:other_story) { create(:type) } + let!(:task) { create(:type_task) } + let!(:priority) { create(:default_priority) } + let!(:default_status) { create(:status, is_default: true) } + let!(:other_status) { create(:status) } let!(:workflows) do - FactoryBot.create(:workflow, + create(:workflow, old_status: default_status, new_status: other_status, role: role, type_id: task.id) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_taskboards add_work_packages view_work_packages @@ -60,12 +60,12 @@ describe 'Tasks on taskboard', assign_versions)) end let!(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:story1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, @@ -74,7 +74,7 @@ describe 'Tasks on taskboard', story_points: 10) end let!(:story1_task) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: story1, type: task, @@ -82,7 +82,7 @@ describe 'Tasks on taskboard', version: sprint) end let!(:story1_task_subtask) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: story1_task, type: task, @@ -90,14 +90,14 @@ describe 'Tasks on taskboard', version: sprint) end let!(:other_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, - type: FactoryBot.create(:type), + type: create(:type), status: default_status, version: sprint) end let!(:other_work_package_subtask) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: other_work_package, type: task, @@ -105,7 +105,7 @@ describe 'Tasks on taskboard', version: sprint) end let!(:story2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: story, status: default_status, @@ -114,22 +114,22 @@ describe 'Tasks on taskboard', story_points: 20) end let!(:sprint) do - FactoryBot.create(:version, + create(:version, project: project, start_date: Date.today - 10.days, effective_date: Date.today + 10.days, version_settings_attributes: [{ project: project, display: VersionSetting::DISPLAY_LEFT }]) end let!(:other_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, principal: current_user, project: p, roles: [role]) end end let!(:story_in_other_project) do - FactoryBot.create(:work_package, + create(:work_package, project: other_project, type: story, status: default_status, diff --git a/modules/backlogs/spec/features/work_packages/filter_spec.rb b/modules/backlogs/spec/features/work_packages/filter_spec.rb index de2c65909f7..59e4618f6e8 100644 --- a/modules/backlogs/spec/features/work_packages/filter_spec.rb +++ b/modules/backlogs/spec/features/work_packages/filter_spec.rb @@ -30,39 +30,39 @@ require 'spec_helper' describe 'Filter by backlog type', js: true do let(:story_type) do - type = FactoryBot.create(:type_feature) + type = create(:type_feature) project.types << type type end let(:task_type) do - type = FactoryBot.create(:type_task) + type = create(:type_task) project.types << type type end - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let(:member) do - FactoryBot.create(:member, + create(:member, user: user, project: project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end let(:work_package_with_story_type) do - FactoryBot.create(:work_package, + create(:work_package, type: story_type, project: project) end let(:work_package_with_task_type) do - FactoryBot.create(:work_package, + create(:work_package, type: task_type, project: project) end diff --git a/modules/backlogs/spec/features/work_packages/story_points_spec.rb b/modules/backlogs/spec/features/work_packages/story_points_spec.rb index 33d7a9a8e99..71c2f287f52 100644 --- a/modules/backlogs/spec/features/work_packages/story_points_spec.rb +++ b/modules/backlogs/spec/features/work_packages/story_points_spec.rb @@ -38,19 +38,19 @@ describe 'Work packages having story points', type: :feature, js: true do 'task_type' => task_type.id.to_s) end - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %w(work_package_tracking backlogs)) end - let(:status) { FactoryBot.create :default_status } - let(:story_type) { FactoryBot.create(:type_feature) } - let(:task_type) { FactoryBot.create(:type_feature) } + let(:status) { create :default_status } + let(:story_type) { create(:type_feature) } + let(:task_type) { create(:type_feature) } describe 'showing the story points on the work package show page' do let(:story_points) { 42 } let(:story_with_sp) do - FactoryBot.create(:story, + create(:story, type: story_type, author: current_user, project: project, diff --git a/modules/backlogs/spec/models/backlog_spec.rb b/modules/backlogs/spec/models/backlog_spec.rb index e116aa44ea3..fff09f36961 100644 --- a/modules/backlogs/spec/models/backlog_spec.rb +++ b/modules/backlogs/spec/models/backlog_spec.rb @@ -29,13 +29,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Backlog, type: :model do - let(:project) { FactoryBot.build(:project) } + let(:project) { build(:project) } before(:each) do - @feature = FactoryBot.create(:type_feature) + @feature = create(:type_feature) allow(Setting).to receive(:plugin_openproject_backlogs).and_return({ 'story_types' => [@feature.id.to_s], 'task_type' => '0' }) - @status = FactoryBot.create(:status) + @status = create(:status) end describe 'Class Methods' do @@ -43,9 +43,9 @@ describe Backlog, type: :model do describe 'WITH one open version defined in the project' do before(:each) do @project = project - @work_packages = [FactoryBot.create(:work_package, subject: 'work_package1', project: @project, type: @feature, + @work_packages = [create(:work_package, subject: 'work_package1', project: @project, type: @feature, status: @status)] - @version = FactoryBot.create(:version, project: project, work_packages: @work_packages) + @version = create(:version, project: project, work_packages: @work_packages) @version_settings = @version.version_settings.create(display: VersionSetting::DISPLAY_RIGHT, project: project) end diff --git a/modules/backlogs/spec/models/burndown_spec.rb b/modules/backlogs/spec/models/burndown_spec.rb index 1dfcf18ff4c..3fc697c60f3 100644 --- a/modules/backlogs/spec/models/burndown_spec.rb +++ b/modules/backlogs/spec/models/burndown_spec.rb @@ -36,18 +36,18 @@ describe Burndown, type: :model do story.last_journal.update(created_at: day) end - let(:user) { @user ||= FactoryBot.create(:user) } - let(:role) { @role ||= FactoryBot.create(:role) } - let(:type_feature) { @type_feature ||= FactoryBot.create(:type_feature) } - let(:type_task) { @type_task ||= FactoryBot.create(:type_task) } - let(:issue_priority) { @issue_priority ||= FactoryBot.create(:priority, is_default: true) } - let(:version) { @version ||= FactoryBot.create(:version, project: project) } + let(:user) { @user ||= create(:user) } + let(:role) { @role ||= create(:role) } + let(:type_feature) { @type_feature ||= create(:type_feature) } + let(:type_task) { @type_task ||= create(:type_task) } + let(:issue_priority) { @issue_priority ||= create(:priority, is_default: true) } + let(:version) { @version ||= create(:version, project: project) } let(:sprint) { @sprint ||= Sprint.find(version.id) } let(:project) do unless @project - @project = FactoryBot.build(:project) - @project.members = [FactoryBot.build(:member, principal: user, + @project = build(:project) + @project.members = [build(:member, principal: user, project: @project, roles: [role])] @project.versions << version @@ -55,9 +55,9 @@ describe Burndown, type: :model do @project end - let(:issue_open) { @status1 ||= FactoryBot.create(:status, name: 'status 1', is_default: true) } - let(:issue_closed) { @status2 ||= FactoryBot.create(:status, name: 'status 2', is_closed: true) } - let(:issue_resolved) { @status3 ||= FactoryBot.create(:status, name: 'status 3', is_closed: false) } + let(:issue_open) { @status1 ||= create(:status, name: 'status 1', is_default: true) } + let(:issue_closed) { @status2 ||= create(:status, name: 'status 2', is_closed: true) } + let(:issue_resolved) { @status3 ||= create(:status, name: 'status 3', is_closed: false) } before(:each) do Rails.cache.clear @@ -73,7 +73,7 @@ describe Burndown, type: :model do project.save! [issue_open, issue_closed, issue_resolved].permutation(2).each do |transition| - FactoryBot.create(:workflow, + create(:workflow, old_status: transition[0], new_status: transition[1], role: role, @@ -109,7 +109,7 @@ describe Burndown, type: :model do describe 'WITH 1 story assigned to the sprint' do before(:each) do - @story = FactoryBot.build(:story, subject: 'Story 1', + @story = build(:story, subject: 'Story 1', project: project, version: version, type: type_feature, @@ -161,7 +161,7 @@ describe Burndown, type: :model do @stories = [] (0..9).each do |i| - @stories[i] = FactoryBot.create(:story, subject: "Story #{i}", + @stories[i] = create(:story, subject: "Story #{i}", project: project, version: version, type: type_feature, diff --git a/modules/backlogs/spec/models/impediment_spec.rb b/modules/backlogs/spec/models/impediment_spec.rb index b33605ba48e..eb8a25abd4f 100644 --- a/modules/backlogs/spec/models/impediment_spec.rb +++ b/modules/backlogs/spec/models/impediment_spec.rb @@ -29,32 +29,32 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Impediment, type: :model do - let(:user) { @user ||= FactoryBot.create(:user) } - let(:role) { @role ||= FactoryBot.create(:role) } - let(:type_feature) { @type_feature ||= FactoryBot.create(:type_feature) } - let(:type_task) { @type_task ||= FactoryBot.create(:type_task) } - let(:issue_priority) { @issue_priority ||= FactoryBot.create(:priority, is_default: true) } - let(:status) { FactoryBot.create(:status) } + let(:user) { @user ||= create(:user) } + let(:role) { @role ||= create(:role) } + let(:type_feature) { @type_feature ||= create(:type_feature) } + let(:type_task) { @type_task ||= create(:type_task) } + let(:issue_priority) { @issue_priority ||= create(:priority, is_default: true) } + let(:status) { create(:status) } let(:task) do - FactoryBot.build(:task, type: type_task, + build(:task, type: type_task, project: project, author: user, priority: issue_priority, status: status) end let(:feature) do - FactoryBot.build(:work_package, type: type_feature, + build(:work_package, type: type_feature, project: project, author: user, priority: issue_priority, status: status) end - let(:version) { FactoryBot.create(:version, project: project) } + let(:version) { create(:version, project: project) } let(:project) do unless @project - @project = FactoryBot.build(:project, types: [type_feature, type_task]) - @project.members = [FactoryBot.build(:member, principal: user, + @project = build(:project, types: [type_feature, type_task]) + @project.members = [build(:member, principal: user, project: @project, roles: [role])] end @@ -62,7 +62,7 @@ describe Impediment, type: :model do end let(:impediment) do - FactoryBot.build(:impediment, author: user, + build(:impediment, author: user, version: version, assigned_to: user, priority: issue_priority, diff --git a/modules/backlogs/spec/models/issue_position_spec.rb b/modules/backlogs/spec/models/issue_position_spec.rb index 9920e3e3633..8e326bc3522 100644 --- a/modules/backlogs/spec/models/issue_position_spec.rb +++ b/modules/backlogs/spec/models/issue_position_spec.rb @@ -31,7 +31,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe WorkPackage, type: :model do describe 'Story positions' do def build_work_package(options) - FactoryBot.build(:work_package, options.reverse_merge(version_id: sprint_1.id, + build(:work_package, options.reverse_merge(version_id: sprint_1.id, priority_id: priority.id, project_id: project.id, status_id: status.id, @@ -42,17 +42,17 @@ describe WorkPackage, type: :model do build_work_package(options).tap(&:save!) end - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority_normal) } - let(:project) { FactoryBot.create(:project) } + let(:status) { create(:status) } + let(:priority) { create(:priority_normal) } + let(:project) { create(:project) } - let(:story_type) { FactoryBot.create(:type, name: 'Story') } - let(:epic_type) { FactoryBot.create(:type, name: 'Epic') } - let(:task_type) { FactoryBot.create(:type, name: 'Task') } - let(:other_type) { FactoryBot.create(:type, name: 'Feedback') } + let(:story_type) { create(:type, name: 'Story') } + let(:epic_type) { create(:type, name: 'Epic') } + let(:task_type) { create(:type, name: 'Task') } + let(:other_type) { create(:type, name: 'Feedback') } - let(:sprint_1) { FactoryBot.create(:version, project_id: project.id, name: 'Sprint 1') } - let(:sprint_2) { FactoryBot.create(:version, project_id: project.id, name: 'Sprint 2') } + let(:sprint_1) { create(:version, project_id: project.id, name: 'Sprint 1') } + let(:sprint_2) { create(:version, project_id: project.id, name: 'Sprint 2') } let(:work_package_1) { create_work_package(subject: 'WorkPackage 1', version_id: sprint_1.id) } let(:work_package_2) { create_work_package(subject: 'WorkPackage 2', version_id: sprint_1.id) } @@ -249,22 +249,22 @@ describe WorkPackage, type: :model do # to keep the 'version' if possible (e.g. within project # hierarchies with shared versions) - let(:project_wo_backlogs) { FactoryBot.create(:project) } - let(:sub_project_wo_backlogs) { FactoryBot.create(:project) } + let(:project_wo_backlogs) { create(:project) } + let(:sub_project_wo_backlogs) { create(:project) } let(:shared_sprint) do - FactoryBot.create(:version, + create(:version, project_id: project.id, name: 'Shared Sprint', sharing: 'descendants') end let(:version_go_live) do - FactoryBot.create(:version, + create(:version, project_id: project_wo_backlogs.id, name: 'Go-Live') end - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } def move_to_project(work_package, project) WorkPackages::UpdateService diff --git a/modules/backlogs/spec/models/issue_spec.rb b/modules/backlogs/spec/models/issue_spec.rb index 28265d75fe9..d8b85e37ede 100644 --- a/modules/backlogs/spec/models/issue_spec.rb +++ b/modules/backlogs/spec/models/issue_spec.rb @@ -31,7 +31,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe WorkPackage, type: :model do describe 'validations' do let(:work_package) do - FactoryBot.build(:work_package) + build(:work_package) end describe 'story points' do @@ -114,15 +114,15 @@ describe WorkPackage, type: :model do describe 'definition of done' do before(:each) do - @status_resolved = FactoryBot.build(:status, name: 'Resolved', is_default: false) - @status_open = FactoryBot.build(:status, name: 'Open', is_default: true) - @project = FactoryBot.build(:project) + @status_resolved = build(:status, name: 'Resolved', is_default: false) + @status_open = build(:status, name: 'Open', is_default: true) + @project = build(:project) @project.done_statuses = [@status_resolved] - @project.types = [FactoryBot.build(:type_feature)] + @project.types = [build(:type_feature)] - @work_package = FactoryBot.build(:work_package, project: @project, + @work_package = build(:work_package, project: @project, status: @status_open, - type: FactoryBot.build(:type_feature)) + type: build(:type_feature)) end it 'should not be done when having the initial status "open"' do @@ -142,8 +142,8 @@ describe WorkPackage, type: :model do end describe 'backlogs_enabled?' do - let(:project) { FactoryBot.build(:project) } - let(:work_package) { FactoryBot.build(:work_package) } + let(:project) { build(:project) } + let(:work_package) { build(:work_package) } it 'should be false without a project' do work_package.project = nil diff --git a/modules/backlogs/spec/models/sprint_spec.rb b/modules/backlogs/spec/models/sprint_spec.rb index 330b620400e..5ca45533338 100644 --- a/modules/backlogs/spec/models/sprint_spec.rb +++ b/modules/backlogs/spec/models/sprint_spec.rb @@ -29,14 +29,14 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Sprint, type: :model do - let(:sprint) { FactoryBot.build(:sprint) } - let(:project) { FactoryBot.build(:project) } + let(:sprint) { build(:sprint) } + let(:project) { build(:project) } describe 'Class Methods' do describe '#displayed_left' do describe 'WITH display set to left' do before(:each) do - sprint.version_settings = [FactoryBot.build(:version_setting, project: project, + sprint.version_settings = [build(:version_setting, project: project, display: VersionSetting::DISPLAY_LEFT)] sprint.project = project sprint.save! @@ -49,10 +49,10 @@ describe Sprint, type: :model do describe 'WITH a version setting defined for another project' do before(:each) do - another_project = FactoryBot.build(:project, name: 'another project', + another_project = build(:project, name: 'another project', identifier: 'another project') - sprint.version_settings = [FactoryBot.build(:version_setting, project: another_project, + sprint.version_settings = [build(:version_setting, project: another_project, display: VersionSetting::DISPLAY_RIGHT)] sprint.project = project sprint.save @@ -71,23 +71,23 @@ describe Sprint, type: :model do end context 'WITH a shared version from another project' do - let!(:parent_project) { FactoryBot.create :project, identifier: "parent", name: "Parent" } + let!(:parent_project) { create :project, identifier: "parent", name: "Parent" } let!(:home_project) do - FactoryBot.create(:project, identifier: "home", name: "Home").tap do |p| + create(:project, identifier: "home", name: "Home").tap do |p| p.parent = parent_project p.save! end end let!(:sister_project) do - FactoryBot.create(:project, identifier: "sister", name: "Sister").tap do |p| + create(:project, identifier: "sister", name: "Sister").tap do |p| p.parent = parent_project p.save! end end - let!(:version) { FactoryBot.create :version, name: "Shared Version", sharing: "tree", project: home_project } + let!(:version) { create :version, name: "Shared Version", sharing: "tree", project: home_project } let(:displayed) { Sprint.apply_to(sister_project).displayed_left(sister_project) } @@ -185,7 +185,7 @@ describe Sprint, type: :model do describe '#displayed_right' do before(:each) do - sprint.version_settings = [FactoryBot.build(:version_setting, project: project, display: VersionSetting::DISPLAY_RIGHT)] + sprint.version_settings = [build(:version_setting, project: project, display: VersionSetting::DISPLAY_RIGHT)] sprint.project = project sprint.save! end @@ -195,10 +195,10 @@ describe Sprint, type: :model do describe '#order_by_date' do before(:each) do - @sprint1 = FactoryBot.create(:sprint, name: 'sprint1', project: project, start_date: Date.today + 2.days) - @sprint2 = FactoryBot.create(:sprint, name: 'sprint2', project: project, start_date: Date.today + 1.day, + @sprint1 = create(:sprint, name: 'sprint1', project: project, start_date: Date.today + 2.days) + @sprint2 = create(:sprint, name: 'sprint2', project: project, start_date: Date.today + 1.day, effective_date: Date.today + 3.days) - @sprint3 = FactoryBot.create(:sprint, name: 'sprint3', project: project, start_date: Date.today + 1.day, + @sprint3 = create(:sprint, name: 'sprint3', project: project, start_date: Date.today + 1.day, effective_date: Date.today + 2.days) end @@ -212,12 +212,12 @@ describe Sprint, type: :model do describe '#apply_to' do before(:each) do project.save - @other_project = FactoryBot.create(:project) + @other_project = create(:project) end describe 'WITH the version being shared system wide' do before(:each) do - @version = FactoryBot.create(:sprint, name: 'systemwide', project: @other_project, sharing: 'system') + @version = create(:sprint, name: 'systemwide', project: @other_project, sharing: 'system') end it { expect(Sprint.apply_to(project).size).to eq(1) } @@ -228,7 +228,7 @@ describe Sprint, type: :model do before(:each) do project.update(parent: @other_project) project.reload - @version = FactoryBot.create(:sprint, name: 'descended', project: @other_project, sharing: 'descendants') + @version = create(:sprint, name: 'descended', project: @other_project, sharing: 'descendants') end it { expect(Sprint.apply_to(project).size).to eq(1) } @@ -237,11 +237,11 @@ describe Sprint, type: :model do describe 'WITH the version being shared within the tree' do before(:each) do - @parent_project = FactoryBot.create(:project) + @parent_project = create(:project) @other_project.update(parent: @parent_project) project.update(parent: @parent_project) project.reload - @version = FactoryBot.create(:sprint, name: 'treed', project: @other_project, sharing: 'tree') + @version = create(:sprint, name: 'treed', project: @other_project, sharing: 'tree') end it { expect(Sprint.apply_to(project).size).to eq(1) } @@ -250,9 +250,9 @@ describe Sprint, type: :model do describe 'WITH the version being shared within the tree' do before(:each) do - @descendant_project = FactoryBot.create(:project, parent: project) + @descendant_project = create(:project, parent: project) project.reload - @version = FactoryBot.create(:sprint, name: 'hierar', project: @descendant_project, sharing: 'hierarchy') + @version = create(:sprint, name: 'hierar', project: @descendant_project, sharing: 'hierarchy') end it { expect(Sprint.apply_to(project).size).to eq(1) } diff --git a/modules/backlogs/spec/models/story_spec.rb b/modules/backlogs/spec/models/story_spec.rb index 25279d7a3e8..57c8340d2af 100644 --- a/modules/backlogs/spec/models/story_spec.rb +++ b/modules/backlogs/spec/models/story_spec.rb @@ -29,24 +29,24 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Story, type: :model do - let(:user) { @user ||= FactoryBot.create(:user) } - let(:role) { @role ||= FactoryBot.create(:role) } - let(:status1) { @status1 ||= FactoryBot.create(:status, name: 'status 1', is_default: true) } - let(:type_feature) { @type_feature ||= FactoryBot.create(:type_feature) } - let(:version) { @version ||= FactoryBot.create(:version, project: project) } - let(:version2) { FactoryBot.create(:version, project: project) } - let(:sprint) { @sprint ||= FactoryBot.create(:sprint, project: project) } - let(:issue_priority) { @issue_priority ||= FactoryBot.create(:priority) } - let(:task_type) { FactoryBot.create(:type_task) } + let(:user) { @user ||= create(:user) } + let(:role) { @role ||= create(:role) } + let(:status1) { @status1 ||= create(:status, name: 'status 1', is_default: true) } + let(:type_feature) { @type_feature ||= create(:type_feature) } + let(:version) { @version ||= create(:version, project: project) } + let(:version2) { create(:version, project: project) } + let(:sprint) { @sprint ||= create(:sprint, project: project) } + let(:issue_priority) { @issue_priority ||= create(:priority) } + let(:task_type) { create(:type_task) } let(:task) do - FactoryBot.create(:story, version: version, + create(:story, version: version, project: project, status: status1, type: task_type, priority: issue_priority) end let(:story1) do - FactoryBot.create(:story, version: version, + create(:story, version: version, project: project, status: status1, type: type_feature, @@ -54,7 +54,7 @@ describe Story, type: :model do end let(:story2) do - FactoryBot.create(:story, version: version, + create(:story, version: version, project: project, status: status1, type: type_feature, @@ -63,8 +63,8 @@ describe Story, type: :model do let(:project) do unless @project - @project = FactoryBot.build(:project) - @project.members = [FactoryBot.build(:member, principal: user, + @project = build(:project) + @project.members = [build(:member, principal: user, project: @project, roles: [role])] end @@ -132,7 +132,7 @@ describe Story, type: :model do before do story1 - other_project = FactoryBot.create(:project) + other_project = create(:project) version2.update! project_id: other_project.id story2.version_id = version2.id @@ -152,7 +152,7 @@ describe Story, type: :model do version.sharing = 'system' version.save! - another_project = FactoryBot.create(:project) + another_project = create(:project) story1 story2.project = another_project diff --git a/modules/backlogs/spec/models/task_spec.rb b/modules/backlogs/spec/models/task_spec.rb index 75798e05905..9dfcfd4d774 100644 --- a/modules/backlogs/spec/models/task_spec.rb +++ b/modules/backlogs/spec/models/task_spec.rb @@ -29,11 +29,11 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Task, type: :model do - let(:task_type) { FactoryBot.create(:type) } - let(:default_status) { FactoryBot.create(:default_status) } - let(:project) { FactoryBot.create(:project) } + let(:task_type) { create(:type) } + let(:default_status) { create(:default_status) } + let(:project) { create(:project) } let(:task) do - FactoryBot.build(:task, + build(:task, project: project, status: default_status, type: task_type) diff --git a/modules/backlogs/spec/models/user_spec.rb b/modules/backlogs/spec/models/user_spec.rb index df5c2e20f98..88ab26546d9 100644 --- a/modules/backlogs/spec/models/user_spec.rb +++ b/modules/backlogs/spec/models/user_spec.rb @@ -32,7 +32,7 @@ describe User, type: :model do describe 'backlogs_preference' do describe 'task_color' do it 'reads from and writes to a user preference' do - u = FactoryBot.create(:user) + u = create(:user) u.backlogs_preference(:task_color, '#FFCC33') expect(u.backlogs_preference(:task_color)).to eq('#FFCC33') @@ -41,7 +41,7 @@ describe User, type: :model do end it 'computes a random color and persists it, when none is set' do - u = FactoryBot.create(:user) + u = create(:user) u.backlogs_preference(:task_color, nil) u.save! diff --git a/modules/backlogs/spec/models/version_setting_spec.rb b/modules/backlogs/spec/models/version_setting_spec.rb index d7aa520bfe0..9e19e4311c2 100644 --- a/modules/backlogs/spec/models/version_setting_spec.rb +++ b/modules/backlogs/spec/models/version_setting_spec.rb @@ -29,7 +29,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe VersionSetting, type: :model do - let(:version_setting) { FactoryBot.build(:version_setting) } + let(:version_setting) { build(:version_setting) } it { is_expected.to belong_to(:project) } it { is_expected.to belong_to(:version) } diff --git a/modules/backlogs/spec/models/version_spec.rb b/modules/backlogs/spec/models/version_spec.rb index e6dde991ec3..638df544d6a 100644 --- a/modules/backlogs/spec/models/version_spec.rb +++ b/modules/backlogs/spec/models/version_spec.rb @@ -33,7 +33,7 @@ describe Version, type: :model do describe 'rebuild positions' do def build_work_package(options = {}) - FactoryBot.build(:work_package, options.reverse_merge(version_id: version.id, + build(:work_package, options.reverse_merge(version_id: version.id, priority_id: priority.id, project_id: project.id, status_id: status.id)) @@ -43,18 +43,18 @@ describe Version, type: :model do build_work_package(options).tap(&:save!) end - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority_normal) } - let(:project) { FactoryBot.create(:project, name: 'Project 1', types: [epic_type, story_type, task_type, other_type]) } + let(:status) { create(:status) } + let(:priority) { create(:priority_normal) } + let(:project) { create(:project, name: 'Project 1', types: [epic_type, story_type, task_type, other_type]) } - let(:epic_type) { FactoryBot.create(:type, name: 'Epic') } - let(:story_type) { FactoryBot.create(:type, name: 'Story') } - let(:task_type) { FactoryBot.create(:type, name: 'Task') } - let(:other_type) { FactoryBot.create(:type, name: 'Other') } + let(:epic_type) { create(:type, name: 'Epic') } + let(:story_type) { create(:type, name: 'Story') } + let(:task_type) { create(:type, name: 'Task') } + let(:other_type) { create(:type, name: 'Other') } - let(:version) { FactoryBot.create(:version, project_id: project.id, name: 'Version') } + let(:version) { create(:version, project_id: project.id, name: 'Version') } - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } def move_to_project(work_package, project) WorkPackages::UpdateService @@ -87,15 +87,15 @@ describe Version, type: :model do end it 'moves an work_package to a project where backlogs is disabled while using versions' do - project2 = FactoryBot.create(:project, name: 'Project 2', types: [epic_type, story_type, task_type, other_type]) + project2 = create(:project, name: 'Project 2', types: [epic_type, story_type, task_type, other_type]) project2.enabled_module_names = project2.enabled_module_names - ['backlogs'] project2.save! project2.reload - work_package1 = FactoryBot.create(:work_package, type_id: task_type.id, status_id: status.id, project_id: project.id) - work_package2 = FactoryBot.create(:work_package, parent_id: work_package1.id, type_id: task_type.id, status_id: status.id, + work_package1 = create(:work_package, type_id: task_type.id, status_id: status.id, project_id: project.id) + work_package2 = create(:work_package, parent_id: work_package1.id, type_id: task_type.id, status_id: status.id, project_id: project.id) - work_package3 = FactoryBot.create(:work_package, parent_id: work_package2.id, type_id: task_type.id, status_id: status.id, + work_package3 = create(:work_package, parent_id: work_package2.id, type_id: task_type.id, status_id: status.id, project_id: project.id) work_package1.reload diff --git a/modules/backlogs/spec/models/work_package_export_spec.rb b/modules/backlogs/spec/models/work_package_export_spec.rb index 5b0a34e7c74..1ea9acce4de 100644 --- a/modules/backlogs/spec/models/work_package_export_spec.rb +++ b/modules/backlogs/spec/models/work_package_export_spec.rb @@ -29,7 +29,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe WorkPackage::PDFExport::WorkPackageToPdf, type: :model do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:query) { Query.new_default(name: '_', project: project) } subject { described_class.new query } diff --git a/modules/backlogs/spec/services/impediments/create_services_spec.rb b/modules/backlogs/spec/services/impediments/create_services_spec.rb index d7ed07f4b8e..a3ccc9261d3 100644 --- a/modules/backlogs/spec/services/impediments/create_services_spec.rb +++ b/modules/backlogs/spec/services/impediments/create_services_spec.rb @@ -31,32 +31,32 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe Impediments::CreateService do let(:instance) { described_class.new(user: user) } - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: %i(add_work_packages assign_versions)) } - let(:type_feature) { FactoryBot.create(:type_feature) } - let(:type_task) { FactoryBot.create(:type_task) } - let(:priority) { FactoryBot.create(:priority, is_default: true) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: %i(add_work_packages assign_versions)) } + let(:type_feature) { create(:type_feature) } + let(:type_task) { create(:type_task) } + let(:priority) { create(:priority, is_default: true) } let(:feature) do - FactoryBot.build(:work_package, + build(:work_package, type: type_feature, project: project, author: user, priority: priority, status: status1) end - let(:version) { FactoryBot.create(:version, project: project) } + let(:version) { create(:version, project: project) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature, type_task]) + project = create(:project, types: [type_feature, type_task]) - FactoryBot.create(:member, principal: user, + create(:member, principal: user, project: project, roles: [role]) project end - let(:status1) { FactoryBot.create(:status, name: 'status 1', is_default: true) } + let(:status1) { create(:status, name: 'status 1', is_default: true) } before(:each) do allow(Setting).to receive(:plugin_openproject_backlogs).and_return('points_burn_direction' => 'down', @@ -129,7 +129,7 @@ describe Impediments::CreateService do end before(:each) do - feature.version = FactoryBot.create(:version, project: project, name: 'another version') + feature.version = create(:version, project: project, name: 'another version') feature.save end diff --git a/modules/backlogs/spec/services/impediments/update_service_spec.rb b/modules/backlogs/spec/services/impediments/update_service_spec.rb index d891a900436..d15a22d58eb 100644 --- a/modules/backlogs/spec/services/impediments/update_service_spec.rb +++ b/modules/backlogs/spec/services/impediments/update_service_spec.rb @@ -31,39 +31,39 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe Impediments::UpdateService, type: :model do let(:instance) { described_class.new(user: user, impediment: impediment) } - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: %i(edit_work_packages view_work_packages)) } - let(:type_feature) { FactoryBot.create(:type_feature) } - let(:type_task) { FactoryBot.create(:type_task) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: %i(edit_work_packages view_work_packages)) } + let(:type_feature) { create(:type_feature) } + let(:type_task) { create(:type_task) } let(:priority) { impediment.priority } let(:task) do - FactoryBot.build(:task, type: type_task, + build(:task, type: type_task, project: project, author: user, priority: priority, status: status1) end let(:feature) do - FactoryBot.build(:work_package, type: type_feature, + build(:work_package, type: type_feature, project: project, author: user, priority: priority, status: status1) end - let(:version) { FactoryBot.create(:version, project: project) } + let(:version) { create(:version, project: project) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature, type_task]) + project = create(:project, types: [type_feature, type_task]) - FactoryBot.create(:member, principal: user, + create(:member, principal: user, project: project, roles: [role]) project end - let(:status1) { FactoryBot.create(:status, name: 'status 1', is_default: true) } - let(:status2) { FactoryBot.create(:status, name: 'status 2') } + let(:status1) { create(:status, name: 'status 1', is_default: true) } + let(:status2) { create(:status, name: 'status 2') } let(:type_workflow) do Workflow.create(type_id: type_task.id, old_status: status1, @@ -71,7 +71,7 @@ describe Impediments::UpdateService, type: :model do role: role) end let(:impediment) do - FactoryBot.build(:impediment, author: user, + build(:impediment, author: user, version: version, assigned_to: user, project: project, @@ -134,7 +134,7 @@ describe Impediments::UpdateService, type: :model do describe 'WHEN changing the blocking relationship to another story' do let(:story) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'another story', type: type_feature, project: project, @@ -156,7 +156,7 @@ describe Impediments::UpdateService, type: :model do end describe 'WITH the story having another version' do - let(:story_version) { FactoryBot.create(:version, project: project, name: 'another version') } + let(:story_version) { create(:version, project: project, name: 'another version') } it_should_behave_like 'impediment update with unchanged blocking relationship' it 'should not be saved successfully' do diff --git a/modules/backlogs/spec/services/stories/create_service_spec.rb b/modules/backlogs/spec/services/stories/create_service_spec.rb index d7e1eea7e57..e5c48fa38d7 100644 --- a/modules/backlogs/spec/services/stories/create_service_spec.rb +++ b/modules/backlogs/spec/services/stories/create_service_spec.rb @@ -29,23 +29,23 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe Stories::CreateService, type: :model do - let(:priority) { FactoryBot.create(:priority) } + let(:priority) { create(:priority) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature]) + project = create(:project, types: [type_feature]) - FactoryBot.create(:member, + create(:member, principal: user, project: project, roles: [role]) project end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(add_work_packages manage_subtasks assign_versions) } - let(:status) { FactoryBot.create(:status) } - let(:type_feature) { FactoryBot.create(:type_feature) } + let(:status) { create(:status) } + let(:type_feature) { create(:type_feature) } let(:user) do - FactoryBot.create(:user) + create(:user) end let(:instance) do @@ -65,12 +65,12 @@ describe Stories::CreateService, type: :model do } end - let(:version) { FactoryBot.create(:version, project: project) } + let(:version) { create(:version, project: project) } let(:story) do project.enabled_module_names += ['backlogs'] - FactoryBot.create(:story, + create(:story, version: version, project: project, status: status, diff --git a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb b/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb index b49fc1fd418..fe1f91f9c02 100644 --- a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb +++ b/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb @@ -29,27 +29,27 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe WorkPackages::UpdateAncestorsService do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:sibling_remaining_hours) { 7.0 } let(:work_package_remaining_hours) { 5.0 } let!(:grandparent) do - FactoryBot.create :work_package + create :work_package end let!(:parent) do - FactoryBot.create :work_package, + create :work_package, parent: grandparent end let!(:sibling) do - FactoryBot.create :work_package, + create :work_package, parent: parent, remaining_hours: sibling_remaining_hours end context 'for a new ancestors' do let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, remaining_hours: work_package_remaining_hours, parent: parent end @@ -82,7 +82,7 @@ describe WorkPackages::UpdateAncestorsService do context 'for the previous ancestors' do let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, remaining_hours: work_package_remaining_hours, parent: parent end diff --git a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb index ddcda8b40cc..bce2fc6a79d 100644 --- a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb +++ b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb @@ -29,31 +29,31 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe WorkPackages::UpdateService, "version inheritance", type: :model do - let(:type_feature) { FactoryBot.build(:type_feature) } - let(:type_task) { FactoryBot.build(:type_task) } - let(:type_bug) { FactoryBot.build(:type_bug) } + let(:type_feature) { build(:type_feature) } + let(:type_task) { build(:type_task) } + let(:type_bug) { build(:type_bug) } let(:version1) { project.versions.first } let(:version2) { project.versions.last } - let(:role) { FactoryBot.build(:role) } - let(:user) { FactoryBot.build(:admin) } - let(:issue_priority) { FactoryBot.build(:priority) } - let(:status) { FactoryBot.build(:status, name: 'status 1', is_default: true) } + let(:role) { build(:role) } + let(:user) { build(:admin) } + let(:issue_priority) { build(:priority) } + let(:status) { build(:status, name: 'status 1', is_default: true) } let(:project) do - p = FactoryBot.build(:project, - members: [FactoryBot.build(:member, + p = build(:project, + members: [build(:member, principal: user, roles: [role])], types: [type_feature, type_task, type_bug]) - p.versions << FactoryBot.build(:version, name: 'Version1', project: p) - p.versions << FactoryBot.build(:version, name: 'Version2', project: p) + p.versions << build(:version, name: 'Version1', project: p) + p.versions << build(:version, name: 'Version2', project: p) p end let(:story) do - story = FactoryBot.build(:work_package, + story = build(:work_package, subject: 'Story', project: project, type: type_feature, @@ -65,7 +65,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:story2) do - story = FactoryBot.build(:work_package, + story = build(:work_package, subject: 'Story2', project: project, type: type_feature, @@ -77,7 +77,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:story3) do - story = FactoryBot.build(:work_package, + story = build(:work_package, subject: 'Story3', project: project, type: type_feature, @@ -89,7 +89,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task', type: type_task, version: version1, @@ -100,7 +100,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task2) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task2', type: type_task, version: version1, @@ -111,7 +111,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task3) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task3', type: type_task, version: version1, @@ -122,7 +122,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task4) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task4', type: type_task, version: version1, @@ -133,7 +133,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task5) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task5', type: type_task, version: version1, @@ -144,7 +144,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:task6) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Task6', type: type_task, version: version1, @@ -155,7 +155,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:bug) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Bug', type: type_bug, version: version1, @@ -166,7 +166,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:bug2) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Bug2', type: type_bug, version: version1, @@ -177,7 +177,7 @@ describe WorkPackages::UpdateService, "version inheritance", type: :model do end let(:bug3) do - FactoryBot.build(:work_package, + build(:work_package, subject: 'Bug3', type: type_bug, version: version1, diff --git a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb index caf89c5527f..02e6fce29c0 100644 --- a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb +++ b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb @@ -29,46 +29,46 @@ require File.dirname(__FILE__) + '/../../spec_helper' describe 'rb_burndown_charts/show', type: :view do - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:user1) { create(:user) } + let(:user2) { create(:user) } let(:role_allowed) do - FactoryBot.create(:role, + create(:role, permissions: %i[add_work_packages manage_subtasks]) end - let(:role_forbidden) { FactoryBot.create(:role) } + let(:role_forbidden) { create(:role) } # We need to create these as some view helpers access the database let(:statuses) do - [FactoryBot.create(:status), - FactoryBot.create(:status), - FactoryBot.create(:status)] + [create(:status), + create(:status), + create(:status)] end - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_feature) { FactoryBot.create(:type_feature) } - let(:issue_priority) { FactoryBot.create(:priority) } + let(:type_task) { create(:type_task) } + let(:type_feature) { create(:type_feature) } + let(:issue_priority) { create(:priority) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature, type_task]) - project.members = [FactoryBot.create(:member, principal: user1, project: project, roles: [role_allowed]), - FactoryBot.create(:member, principal: user2, project: project, roles: [role_forbidden])] + project = create(:project, types: [type_feature, type_task]) + project.members = [create(:member, principal: user1, project: project, roles: [role_allowed]), + create(:member, principal: user2, project: project, roles: [role_forbidden])] project end let(:story_a) do - FactoryBot.create(:story, status: statuses[0], + create(:story, status: statuses[0], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_b) do - FactoryBot.create(:story, status: statuses[1], + create(:story, status: statuses[1], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_c) do - FactoryBot.create(:story, status: statuses[2], + create(:story, status: statuses[2], project: project, type: type_feature, version: sprint, @@ -76,10 +76,10 @@ describe 'rb_burndown_charts/show', type: :view do end let(:stories) { [story_a, story_b, story_c] } let(:sprint) do - FactoryBot.create(:sprint, project: project, start_date: Date.today - 1.week, effective_date: Date.today + 1.week) + create(:sprint, project: project, start_date: Date.today - 1.week, effective_date: Date.today + 1.week) end let(:task) do - task = FactoryBot.create(:task, project: project, status: statuses[0], version: sprint, type: type_task) + task = create(:task, project: project, status: statuses[0], version: sprint, type: type_task) # This is necessary as for some unknown reason passing the parent directly # leads to the task searching for the parent with 'root_id' is NULL, which # is not the case as the story has its own id as root_id diff --git a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb index 53371945379..55d0e8f82ed 100644 --- a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb +++ b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb @@ -29,47 +29,47 @@ require File.dirname(__FILE__) + '/../../spec_helper' describe 'rb_master_backlogs/index', type: :view do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:role_allowed) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_master_backlog view_taskboards]) end let(:statuses) do - [FactoryBot.create(:status, is_default: true), - FactoryBot.create(:status), - FactoryBot.create(:status)] + [create(:status, is_default: true), + create(:status), + create(:status)] end - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_feature) { FactoryBot.create(:type_feature) } - let(:issue_priority) { FactoryBot.create(:priority) } + let(:type_task) { create(:type_task) } + let(:type_feature) { create(:type_feature) } + let(:issue_priority) { create(:priority) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature, type_task]) - project.members = [FactoryBot.create(:member, principal: user, project: project, roles: [role_allowed])] + project = create(:project, types: [type_feature, type_task]) + project.members = [create(:member, principal: user, project: project, roles: [role_allowed])] project end let(:story_a) do - FactoryBot.create(:story, status: statuses[0], + create(:story, status: statuses[0], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_b) do - FactoryBot.create(:story, status: statuses[1], + create(:story, status: statuses[1], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_c) do - FactoryBot.create(:story, status: statuses[2], + create(:story, status: statuses[2], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:stories) { [story_a, story_b, story_c] } - let(:sprint) { FactoryBot.create(:sprint, project: project) } + let(:sprint) { create(:sprint, project: project) } before :each do allow(Setting).to receive(:plugin_openproject_backlogs).and_return({ 'story_types' => [type_feature.id], @@ -90,7 +90,7 @@ describe 'rb_master_backlogs/index', type: :view do end it 'shows link to export with the default export card configuration' do - default_export_card_config = FactoryBot.create(:export_card_configuration) + default_export_card_config = create(:export_card_configuration) assign(:export_card_config_meta, { default: default_export_card_config, count: 1 diff --git a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb index 1ba2a70c8e9..792d8d0c3b9 100644 --- a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb +++ b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb @@ -29,55 +29,55 @@ require File.dirname(__FILE__) + '/../../spec_helper' describe 'rb_taskboards/show', type: :view do - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:user1) { create(:user) } + let(:user2) { create(:user) } let(:role_allowed) do - FactoryBot.create(:role, + create(:role, permissions: %i[add_work_packages edit_work_packages manage_subtasks]) end - let(:role_forbidden) { FactoryBot.create(:role) } + let(:role_forbidden) { create(:role) } # We need to create these as some view helpers access the database let(:statuses) do - [FactoryBot.create(:status), - FactoryBot.create(:status), - FactoryBot.create(:status)] + [create(:status), + create(:status), + create(:status)] end - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_feature) { FactoryBot.create(:type_feature) } - let(:issue_priority) { FactoryBot.create(:priority) } + let(:type_task) { create(:type_task) } + let(:type_feature) { create(:type_feature) } + let(:issue_priority) { create(:priority) } let(:project) do - project = FactoryBot.create(:project, types: [type_feature, type_task]) - project.members = [FactoryBot.create(:member, principal: user1, project: project, roles: [role_allowed]), - FactoryBot.create(:member, principal: user2, project: project, roles: [role_forbidden])] + project = create(:project, types: [type_feature, type_task]) + project.members = [create(:member, principal: user1, project: project, roles: [role_allowed]), + create(:member, principal: user2, project: project, roles: [role_forbidden])] project end let(:story_a) do - FactoryBot.create(:story, status: statuses[0], + create(:story, status: statuses[0], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_b) do - FactoryBot.create(:story, status: statuses[1], + create(:story, status: statuses[1], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:story_c) do - FactoryBot.create(:story, status: statuses[2], + create(:story, status: statuses[2], project: project, type: type_feature, version: sprint, priority: issue_priority) end let(:stories) { [story_a, story_b, story_c] } - let(:sprint) { FactoryBot.create(:sprint, project: project) } + let(:sprint) { create(:sprint, project: project) } let(:task) do - task = FactoryBot.create(:task, project: project, status: statuses[0], version: sprint, type: type_task) + task = create(:task, project: project, status: statuses[0], version: sprint, type: type_task) # This is necessary as for some unknown reason passing the parent directly # leads to the task searching for the parent with 'root_id' is NULL, which # is not the case as the story has its own id as root_id @@ -85,7 +85,7 @@ describe 'rb_taskboards/show', type: :view do task end let(:impediment) do - FactoryBot.create(:impediment, project: project, status: statuses[0], version: sprint, blocks_ids: task.id.to_s, + create(:impediment, project: project, status: statuses[0], version: sprint, blocks_ids: task.id.to_s, type: type_task) end diff --git a/modules/bim/spec/api/v3/activities/activity_representer_spec.rb b/modules/bim/spec/api/v3/activities/activity_representer_spec.rb index 4fb3ca055cc..bf27ea1927d 100644 --- a/modules/bim/spec/api/v3/activities/activity_representer_spec.rb +++ b/modules/bim/spec/api/v3/activities/activity_representer_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Activities::ActivityRepresenter do include_context 'user with stubbed permissions' include_context 'bcf_topic with stubbed comment' - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:project) do work_package.project end @@ -46,7 +46,7 @@ describe ::API::V3::Activities::ActivityRepresenter do end end let(:journal) do - FactoryBot.build_stubbed(:work_package_journal).tap do |journal| + build_stubbed(:work_package_journal).tap do |journal| allow(journal) .to receive(:get_changes) .and_return(changes) diff --git a/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb b/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb index 89b4c601a0c..52b0b72b17d 100644 --- a/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb +++ b/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb @@ -41,7 +41,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do include_context 'bcf_topic with stubbed comment' let(:permissions) { %i[view_linked_issues view_work_packages manage_bcf] } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, bcf_issue: bcf_topic) + build_stubbed(:stubbed_work_package, bcf_issue: bcf_topic) end let(:representer) do described_class.new(work_package, diff --git a/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb b/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb index 454b7920abf..35c8909013a 100644 --- a/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe ::OpenProject::Bim::BcfXml::Exporter do - let(:query) { FactoryBot.build(:global_query) } - let(:work_package) { FactoryBot.create :work_package } - let(:admin) { FactoryBot.create(:admin) } + let(:query) { build(:global_query) } + let(:work_package) { create :work_package } + let(:admin) { create(:admin) } let(:current_user) { admin } before do @@ -48,7 +48,7 @@ describe ::OpenProject::Bim::BcfXml::Exporter do end context "one WP with BCF issue associated" do - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_comment, work_package: work_package) } + let(:bcf_issue) { create(:bcf_issue_with_comment, work_package: work_package) } before do bcf_issue diff --git a/modules/bim/spec/bcf/bcf_xml/importer_spec.rb b/modules/bim/spec/bcf/bcf_xml/importer_spec.rb index b3647a454db..9ce72b98b7a 100644 --- a/modules/bim/spec/bcf/bcf_xml/importer_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/importer_spec.rb @@ -36,32 +36,32 @@ describe ::OpenProject::Bim::BcfXml::Importer do 'application/octet-stream' ) end - let(:type) { FactoryBot.create :type, name: 'Issue', is_standard: true, is_default: true } + let(:type) { create :type, name: 'Issue', is_standard: true, is_default: true } let(:project) do - FactoryBot.create(:project, + create(:project, identifier: 'bim_project', enabled_module_names: %w[bim work_package_tracking], types: [type]) end let(:member_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_linked_issues view_work_packages]) end let(:manage_bcf_role) do - FactoryBot.create( + create( :role, permissions: %i[manage_bcf view_linked_issues view_work_packages edit_work_packages add_work_packages] ) end - let(:bcf_manager) { FactoryBot.create(:user) } + let(:bcf_manager) { create(:user) } let(:workflow) do - FactoryBot.create(:workflow_with_default_status, + create(:workflow_with_default_status, role: manage_bcf_role, type: type) end - let(:priority) { FactoryBot.create :default_priority } + let(:priority) { create :default_priority } let(:bcf_manager_member) do - FactoryBot.create(:member, + create(:member, project: project, user: bcf_manager, roles: [manage_bcf_role, member_role]) diff --git a/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb b/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb index 2ad7fc10ed6..ddfb5c6a420 100644 --- a/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb @@ -30,27 +30,27 @@ require 'spec_helper' describe ::OpenProject::Bim::BcfXml::IssueReader do let(:absolute_file_path) { "63E78882-7C6A-4BF7-8982-FC478AFB9C97/markup.bcf" } - let(:type) { FactoryBot.create :type, name: 'Issue', is_standard: true, is_default: true } + let(:type) { create :type, name: 'Issue', is_standard: true, is_default: true } let(:project) do - FactoryBot.create(:project, + create(:project, identifier: 'bim_project', types: [type]) end let(:manage_bcf_role) do - FactoryBot.create( + create( :role, permissions: %i[manage_bcf view_linked_issues view_work_packages edit_work_packages add_work_packages] ) end - let(:bcf_manager) { FactoryBot.create(:user) } + let(:bcf_manager) { create(:user) } let(:workflow) do - FactoryBot.create(:workflow_with_default_status, + create(:workflow_with_default_status, role: manage_bcf_role, type: type) end - let(:priority) { FactoryBot.create :default_priority } + let(:priority) { create :default_priority } let(:bcf_manager_member) do - FactoryBot.create(:member, + create(:member, project: project, user: bcf_manager, roles: [manage_bcf_role]) @@ -152,8 +152,8 @@ describe ::OpenProject::Bim::BcfXml::IssueReader do context 'on updating import' do context '#update_comment' do - let(:work_package) { FactoryBot.create(:work_package) } - let!(:bcf_issue) { FactoryBot.create :bcf_issue_with_comment, work_package: work_package } + let(:work_package) { create(:work_package) } + let!(:bcf_issue) { create :bcf_issue_with_comment, work_package: work_package } before do allow(subject).to receive(:issue).and_return(bcf_issue) diff --git a/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb b/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb index 074fe033280..0a6660e1fc0 100644 --- a/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::OpenProject::Bim::BcfXml::IssueWriter do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:markup) do <<-MARKUP @@ -83,16 +83,16 @@ describe ::OpenProject::Bim::BcfXml::IssueWriter do MARKUP end let(:bcf_issue) do - FactoryBot.create(:bcf_issue_with_comment, + create(:bcf_issue_with_comment, work_package: work_package, markup: markup) end - let(:priority) { FactoryBot.create :priority_low } - let(:current_user) { FactoryBot.create(:user) } + let(:priority) { create :priority_low } + let(:current_user) { create(:user) } let(:due_date) { DateTime.now } - let(:type) { FactoryBot.create :type, name: 'Issue' } + let(:type) { create :type, name: 'Issue' } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, priority: priority, author: current_user, diff --git a/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb b/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb index 67cbd41eee2..6ca2a0d5138 100644 --- a/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb +++ b/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb @@ -30,7 +30,7 @@ require 'spec_helper' shared_examples_for 'issues contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let!(:allowed_to) do allow(current_user) @@ -39,8 +39,8 @@ shared_examples_for 'issues contract' do end end let(:issue_uuid) { 'issue uuid' } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:issue_work_package) { FactoryBot.build_stubbed(:stubbed_work_package, project: project) } + let(:project) { build_stubbed(:project) } + let(:issue_work_package) { build_stubbed(:stubbed_work_package, project: project) } let(:issue_work_package_id) do id = 5 diff --git a/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb b/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb index 0c8b8f0eaee..7ad4bd8327a 100644 --- a/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb +++ b/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb @@ -32,7 +32,7 @@ require_relative './shared_contract_examples' describe Bim::Bcf::Issues::UpdateContract do it_behaves_like 'issues contract' do let(:issue) do - FactoryBot.build_stubbed(:bcf_issue, + build_stubbed(:bcf_issue, work_package: issue_work_package).tap do |i| # in order to actually have something changed i.index = issue_index @@ -44,7 +44,7 @@ describe Bim::Bcf::Issues::UpdateContract do context 'if work_package is altered' do before do - issue.work_package = FactoryBot.build_stubbed(:stubbed_work_package) + issue.work_package = build_stubbed(:stubbed_work_package) end it 'is invalid' do diff --git a/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb b/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb index fecc8bb9895..ae3c69a8bbd 100644 --- a/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb +++ b/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb @@ -39,7 +39,7 @@ describe Bim::Bcf::Viewpoints::CreateContract do subject(:contract) { described_class.new(viewpoint, current_user) } let(:current_user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let!(:allowed_to) do allow(current_user) @@ -57,13 +57,13 @@ describe Bim::Bcf::Viewpoints::CreateContract do } end let(:viewpoint_issue) do - FactoryBot.build_stubbed(:bcf_issue).tap do |issue| + build_stubbed(:bcf_issue).tap do |issue| allow(issue) .to receive(:project) .and_return(project) end end - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } def expect_valid(valid, symbols = {}) expect(contract.validate).to eq(valid) diff --git a/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb b/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb index e6c7f39bd1d..53862aa4f13 100644 --- a/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb +++ b/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb @@ -42,7 +42,7 @@ describe Bim::IfcModels::CreateContract do end end let(:permissions) { %i(manage_ifc_models) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } subject(:contract) do described_class.new(ifc_model, current_user, options: {}) diff --git a/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb b/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb index fb896e866b0..24adccfb72d 100644 --- a/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb +++ b/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb @@ -31,10 +31,10 @@ require 'spec_helper' shared_examples_for 'ifc model contract' do - let(:current_user) { FactoryBot.build_stubbed(:user) } - let(:other_user) { FactoryBot.build_stubbed(:user) } - let(:model_project) { FactoryBot.build_stubbed(:project) } - let(:ifc_attachment) { FactoryBot.build_stubbed(:attachment, author: model_user) } + let(:current_user) { build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } + let(:model_project) { build_stubbed(:project) } + let(:ifc_attachment) { build_stubbed(:attachment, author: model_user) } let(:model_user) { current_user } let(:model_title) { 'some title' } @@ -139,7 +139,7 @@ shared_examples_for 'ifc model contract' do end context 'if user of attachment and uploader are different' do - let(:ifc_attachment) { FactoryBot.build_stubbed(:attachment, author: other_user) } + let(:ifc_attachment) { build_stubbed(:attachment, author: other_user) } it 'is invalid' do expect_valid(false, uploader_id: %i(invalid)) diff --git a/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb b/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb index 384346420f3..57109773d36 100644 --- a/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb +++ b/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb @@ -36,7 +36,7 @@ describe Bim::IfcModels::UpdateContract do subject(:contract) { described_class.new(ifc_model, current_user) } let(:ifc_model) do - FactoryBot.build_stubbed(:ifc_model, + build_stubbed(:ifc_model, uploader: model_user, title: model_title, project: model_project).tap do |model| @@ -56,10 +56,10 @@ describe Bim::IfcModels::UpdateContract do let(:changed_by_system) { false } context 'if the uploader changes' do - let(:model_user) { FactoryBot.build_stubbed(:user) } + let(:model_user) { build_stubbed(:user) } let(:uploader_user) { other_user } let(:current_user) { other_user } - let(:ifc_attachment) { FactoryBot.build_stubbed(:attachment, author: other_user) } + let(:ifc_attachment) { build_stubbed(:attachment, author: other_user) } it 'is invalid as not writable' do expect_valid(false, uploader_id: %i(error_readonly)) @@ -67,10 +67,10 @@ describe Bim::IfcModels::UpdateContract do end context 'if the uploader changes' do - let(:model_user) { FactoryBot.build_stubbed(:user) } + let(:model_user) { build_stubbed(:user) } let(:uploader_user) { other_user } let(:current_user) { other_user } - let(:ifc_attachment) { FactoryBot.build_stubbed(:attachment, author: other_user) } + let(:ifc_attachment) { build_stubbed(:attachment, author: other_user) } let(:changed_by_system) { true } it 'is invalid as does not match' do @@ -80,7 +80,7 @@ describe Bim::IfcModels::UpdateContract do context 'if the uploader does not change and the current user is different from the uploader' do let(:current_user) { other_user } - let(:model_user) { FactoryBot.build_stubbed(:user) } + let(:model_user) { build_stubbed(:user) } it_behaves_like 'is valid' end diff --git a/modules/bim/spec/controllers/issues_controller_spec.rb b/modules/bim/spec/controllers/issues_controller_spec.rb index cd816f8e5f9..383048e87fe 100644 --- a/modules/bim/spec/controllers/issues_controller_spec.rb +++ b/modules/bim/spec/controllers/issues_controller_spec.rb @@ -30,28 +30,28 @@ require 'spec_helper' describe ::Bim::Bcf::IssuesController, type: :controller do let(:manage_bcf_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[manage_bcf view_linked_issues view_work_packages add_work_packages edit_work_packages]) end let(:collaborator_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_linked_issues view_work_packages add_work_packages edit_work_packages]) end - let(:bcf_manager) { FactoryBot.create(:user, firstname: "BCF Manager") } - let(:collaborator) { FactoryBot.create(:user) } + let(:bcf_manager) { create(:user, firstname: "BCF Manager") } + let(:collaborator) { create(:user) } - let(:non_member) { FactoryBot.create(:user) } + let(:non_member) { create(:user) } let(:project) do - FactoryBot.create(:project, enabled_module_names: %w[bim], identifier: 'bim_project') + create(:project, enabled_module_names: %w[bim], identifier: 'bim_project') end let(:member) do - FactoryBot.create(:member, + create(:member, project: project, user: collaborator, roles: [collaborator_role]) end let(:bcf_manager_member) do - FactoryBot.create(:member, + create(:member, project: project, user: bcf_manager, roles: [manage_bcf_role]) @@ -75,7 +75,7 @@ describe ::Bim::Bcf::IssuesController, type: :controller do context 'no manage_bcf permission' do let(:bcf_manager_member) do - FactoryBot.create(:member, + create(:member, project: project, user: bcf_manager, roles: [collaborator_role]) diff --git a/modules/bim/spec/controllers/work_packages_controller_spec.rb b/modules/bim/spec/controllers/work_packages_controller_spec.rb index 0353d8dd65b..933b28dcce7 100644 --- a/modules/bim/spec/controllers/work_packages_controller_spec.rb +++ b/modules/bim/spec/controllers/work_packages_controller_spec.rb @@ -35,13 +35,13 @@ describe WorkPackagesController, type: :controller do login_as current_user end - let(:stub_project) { FactoryBot.build_stubbed(:project, identifier: 'test_project', public: false) } - let(:current_user) { FactoryBot.build_stubbed(:user) } - let(:work_packages) { [FactoryBot.build_stubbed(:stubbed_work_package)] } + let(:stub_project) { build_stubbed(:project, identifier: 'test_project', public: false) } + let(:current_user) { build_stubbed(:user) } + let(:work_packages) { [build_stubbed(:stubbed_work_package)] } describe 'index' do let(:query) do - FactoryBot.build_stubbed(:query) + build_stubbed(:query) end before do @@ -51,7 +51,7 @@ describe WorkPackagesController, type: :controller do describe 'bcf' do let(:mime_type) { 'bcf' } - let(:export_storage) { FactoryBot.build_stubbed(:work_packages_export) } + let(:export_storage) { build_stubbed(:work_packages_export) } before do service_instance = double('service_instance') diff --git a/modules/bim/spec/features/bcf/api_authorization_spec.rb b/modules/bim/spec/features/bcf/api_authorization_spec.rb index 52294d20d56..c977961acf3 100644 --- a/modules/bim/spec/features/bcf/api_authorization_spec.rb +++ b/modules/bim/spec/features/bcf/api_authorization_spec.rb @@ -32,10 +32,10 @@ describe 'authorization for BCF api', with_config: { edition: 'bim' }, type: :feature, js: true do - let!(:user) { FactoryBot.create(:admin) } + let!(:user) { create(:admin) } let(:client_secret) { app.plaintext_secret } let(:scope) { 'bcf_v2_1' } - let!(:project) { FactoryBot.create(:project, enabled_module_names: [:bim]) } + let!(:project) { create(:project, enabled_module_names: [:bim]) } def oauth_path(client_id) "/oauth/authorize?response_type=code&client_id=#{client_id}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=#{scope}" diff --git a/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb b/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb index 26ca65d67cf..c13fe47f9bd 100644 --- a/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb +++ b/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb @@ -5,18 +5,18 @@ describe 'BCF snapshot column', js: true, with_config: { edition: 'bim' }, with_mail: false do - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[bim work_package_tracking]) } + let(:project) { create(:project, enabled_module_names: %w[bim work_package_tracking]) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:permissions) { %i[add_work_packages view_work_packages view_linked_issues] } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } - let!(:bcf_issue) { FactoryBot.create(:bcf_issue_with_viewpoint, work_package: work_package) } + let!(:work_package) { create(:work_package, project: project) } + let!(:bcf_issue) { create(:bcf_issue_with_viewpoint, work_package: work_package) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: permissions end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'bcf_thumbnail'] query.filters.clear query.show_hierarchies = false diff --git a/modules/bim/spec/features/bcf/create_spec.rb b/modules/bim/spec/features/bcf/create_spec.rb index 864eb873840..4efca40ef2d 100644 --- a/modules/bim/spec/features/bcf/create_spec.rb +++ b/modules/bim/spec/features/bcf/create_spec.rb @@ -6,33 +6,33 @@ describe 'Create BCF', with_config: { edition: 'bim' }, with_mail: false do let(:project) do - FactoryBot.create(:project, + create(:project, types: [type, type_with_cf], enabled_module_names: %i[bim work_package_tracking], work_package_custom_fields: [integer_cf]) end let(:index_page) { Pages::IfcModels::ShowDefault.new(project) } let(:permissions) { %i[view_ifc_models view_linked_issues manage_bcf add_work_packages edit_work_packages view_work_packages] } - let!(:status) { FactoryBot.create(:default_status) } - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:status) { create(:default_status) } + let!(:priority) { create :priority, is_default: true } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: permissions end let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user) end - let(:type) { FactoryBot.create(:type) } + let(:type) { create(:type) } let(:type_with_cf) do - FactoryBot.create(:type, custom_fields: [integer_cf]) + create(:type, custom_fields: [integer_cf]) end let(:integer_cf) do - FactoryBot.create(:int_wp_custom_field) + create(:int_wp_custom_field) end shared_examples 'bcf details creation' do |with_viewpoints| @@ -142,7 +142,7 @@ describe 'Create BCF', end context 'when starting on the details page of an existing work package' do - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:work_package) { create :work_package, project: project } before do visit bcf_project_frontend_path(project, "details/#{work_package.id}") diff --git a/modules/bim/spec/features/bcf/export_spec.rb b/modules/bim/spec/features/bcf/export_spec.rb index a8b8d20657c..5b8558e3882 100644 --- a/modules/bim/spec/features/bcf/export_spec.rb +++ b/modules/bim/spec/features/bcf/export_spec.rb @@ -32,14 +32,14 @@ describe 'bcf export', type: :feature, js: true, with_config: { edition: 'bim' } do - let(:status) { FactoryBot.create(:status, name: 'New', is_default: true) } - let(:closed_status) { FactoryBot.create(:closed_status, name: 'Closed') } - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:status) { create(:status, name: 'New', is_default: true) } + let(:closed_status) { create(:closed_status, name: 'Closed') } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } - let!(:open_work_package) { FactoryBot.create(:work_package, project: project, subject: 'Open WP', status: status) } - let!(:closed_work_package) { FactoryBot.create(:work_package, project: project, subject: 'Closed WP', status: closed_status) } - let!(:open_bcf_issue) { FactoryBot.create(:bcf_issue, work_package: open_work_package) } - let!(:closed_bcf_issue) { FactoryBot.create(:bcf_issue, work_package: closed_work_package) } + let!(:open_work_package) { create(:work_package, project: project, subject: 'Open WP', status: status) } + let!(:closed_work_package) { create(:work_package, project: project, subject: 'Closed WP', status: closed_status) } + let!(:open_bcf_issue) { create(:bcf_issue, work_package: open_work_package) } + let!(:closed_bcf_issue) { create(:bcf_issue, work_package: closed_work_package) } let(:permissions) do %i[view_ifc_models @@ -52,13 +52,13 @@ describe 'bcf export', end let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: permissions end let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: current_user) end diff --git a/modules/bim/spec/features/bcf_view_management_spec.rb b/modules/bim/spec/features/bcf_view_management_spec.rb index 7553dba31ce..7a9c7641517 100644 --- a/modules/bim/spec/features/bcf_view_management_spec.rb +++ b/modules/bim/spec/features/bcf_view_management_spec.rb @@ -35,10 +35,10 @@ describe 'bcf view management', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } let(:bcf_page) { ::Pages::IfcModels::ShowDefault.new(project) } let(:role) do - FactoryBot.create :role, + create :role, permissions: %w[ view_work_packages save_queries @@ -50,13 +50,13 @@ describe 'bcf view management', end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user, is_default: true) diff --git a/modules/bim/spec/features/bim_filter_spec.rb b/modules/bim/spec/features/bim_filter_spec.rb index 947c7165dce..c64eb121e2a 100644 --- a/modules/bim/spec/features/bim_filter_spec.rb +++ b/modules/bim/spec/features/bim_filter_spec.rb @@ -35,17 +35,17 @@ describe 'BIM filter spec', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %w(bim work_package_tracking) } - let(:open_status) { FactoryBot.create(:status, is_closed: false) } - let(:closed_status) { FactoryBot.create(:status, is_closed: true) } + let(:project) { create :project, enabled_module_names: %w(bim work_package_tracking) } + let(:open_status) { create(:status, is_closed: false) } + let(:closed_status) { create(:status, is_closed: true) } - let(:wp1) { FactoryBot.create(:work_package, project: project, status: open_status) } - let(:wp2) { FactoryBot.create(:work_package, project: project, status: closed_status) } + let(:wp1) { create(:work_package, project: project, status: open_status) } + let(:wp2) { create(:work_package, project: project, status: closed_status) } - let(:admin) { FactoryBot.create :admin } + let(:admin) { create :admin } let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: admin) end diff --git a/modules/bim/spec/features/bim_navigation_spec.rb b/modules/bim/spec/features/bim_navigation_spec.rb index d12c49f6f53..1338a7f3fe8 100644 --- a/modules/bim/spec/features/bim_navigation_spec.rb +++ b/modules/bim/spec/features/bim_navigation_spec.rb @@ -32,20 +32,20 @@ describe 'BIM navigation spec', type: :feature, with_config: { edition: 'bim' }, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } + let!(:work_package) { create(:work_package, project: project) } let(:role) do - FactoryBot.create(:role, permissions: %i[view_ifc_models manage_ifc_models view_work_packages delete_work_packages]) + create(:role, permissions: %i[view_ifc_models manage_ifc_models view_work_packages delete_work_packages]) end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user) end diff --git a/modules/bim/spec/features/ifc_models/ifc_upload_shared_examples.rb b/modules/bim/spec/features/ifc_models/ifc_upload_shared_examples.rb index 1ff631b0fb7..56db9412780 100644 --- a/modules/bim/spec/features/ifc_models/ifc_upload_shared_examples.rb +++ b/modules/bim/spec/features/ifc_models/ifc_upload_shared_examples.rb @@ -1,6 +1,6 @@ shared_examples 'can upload an IFC file' do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim] } + let(:user) { create :admin } + let(:project) { create :project, enabled_module_names: %i[bim] } let(:ifc_fixture) { ::UploadedFile.load_from('modules/bim/spec/fixtures/files/minimal.ifc') } let(:set_tick_is_default_after_file) { true } diff --git a/modules/bim/spec/features/model_management_spec.rb b/modules/bim/spec/features/model_management_spec.rb index d8dcd14abb8..a2341abe2fb 100644 --- a/modules/bim/spec/features/model_management_spec.rb +++ b/modules/bim/spec/features/model_management_spec.rb @@ -34,25 +34,25 @@ describe 'model management', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } let(:index_page) { Pages::IfcModels::Index.new(project) } - let(:role) { FactoryBot.create(:role, permissions: %i[view_ifc_models manage_bcf manage_ifc_models view_work_packages]) } + let(:role) { create(:role, permissions: %i[view_ifc_models manage_bcf manage_ifc_models view_work_packages]) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user, is_default: true) end let!(:model2) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user) end @@ -88,9 +88,9 @@ describe 'model management', end context 'with only viewing permissions' do - let(:view_role) { FactoryBot.create(:role, permissions: %i[view_ifc_models view_work_packages]) } + let(:view_role) { create(:role, permissions: %i[view_ifc_models view_work_packages]) } let(:view_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: view_role end @@ -121,9 +121,9 @@ describe 'model management', end context 'without any permissions' do - let(:no_permissions_role) { FactoryBot.create(:role, permissions: %i[]) } + let(:no_permissions_role) { create(:role, permissions: %i[]) } let(:user_without_permissions) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: no_permissions_role end diff --git a/modules/bim/spec/features/model_viewer_spec.rb b/modules/bim/spec/features/model_viewer_spec.rb index 9835f2ed5ee..30e5ac8eac9 100644 --- a/modules/bim/spec/features/model_viewer_spec.rb +++ b/modules/bim/spec/features/model_viewer_spec.rb @@ -32,19 +32,19 @@ describe 'model viewer', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } # TODO: Add empty viewpoint and stub method to load viewpoints once defined - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:role) { FactoryBot.create(:role, permissions: %i[view_ifc_models manage_ifc_models view_work_packages]) } + let(:work_package) { create(:work_package, project: project) } + let(:role) { create(:role, permissions: %i[view_ifc_models manage_ifc_models view_work_packages]) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, project: project, uploader: user) end @@ -103,9 +103,9 @@ describe 'model viewer', end context 'with only viewing permissions' do - let(:view_role) { FactoryBot.create(:role, permissions: %i[view_ifc_models view_work_packages view_linked_issues]) } + let(:view_role) { create(:role, permissions: %i[view_ifc_models view_work_packages view_linked_issues]) } let(:view_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: view_role end @@ -125,9 +125,9 @@ describe 'model viewer', end context 'without any permissions' do - let(:no_permissions_role) { FactoryBot.create(:role, permissions: %i[]) } + let(:no_permissions_role) { create(:role, permissions: %i[]) } let(:user_without_permissions) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: no_permissions_role end diff --git a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb index f8ab3471102..e3f7fcc4acf 100644 --- a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb +++ b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb @@ -33,16 +33,16 @@ describe 'BIM Revit Add-in navigation spec', with_config: { edition: 'bim' }, js: true, driver: :chrome_revit_add_in do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } + let!(:work_package) { create(:work_package, project: project) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_ifc_models manage_ifc_models add_work_packages edit_work_packages view_work_packages]) end let(:model_page) { ::Pages::IfcModels::ShowDefault.new(project) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end @@ -112,11 +112,11 @@ describe 'BIM Revit Add-in navigation spec', end context 'Creating BCFs' do - let!(:status) { FactoryBot.create(:default_status) } - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:status) { create(:default_status) } + let!(:priority) { create :priority, is_default: true } it 'redirects correctly' do - create_page = model_page.create_wp_by_button(FactoryBot.build(:type_standard)) + create_page = model_page.create_wp_by_button(build(:type_standard)) expect(page).to have_current_path /bcf\/new$/, ignore_query: true create_page.subject_field.set('Some subject') create_page.save! diff --git a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb index 7910c589c3d..7b19dde7013 100644 --- a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb +++ b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb @@ -33,16 +33,16 @@ describe 'BIM Revit Add-in navigation spec', with_config: { edition: 'bim' }, js: true, driver: :chrome_revit_add_in do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } + let!(:work_package) { create(:work_package, project: project) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_ifc_models manage_ifc_models add_work_packages edit_work_packages view_work_packages]) end let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/modules/bim/spec/features/show_default_spec.rb b/modules/bim/spec/features/show_default_spec.rb index 753c5a66d8d..15a510baf44 100644 --- a/modules/bim/spec/features/show_default_spec.rb +++ b/modules/bim/spec/features/show_default_spec.rb @@ -32,19 +32,19 @@ describe 'show default model', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } let(:index_page) { Pages::IfcModels::Index.new(project) } let(:show_default_page) { Pages::IfcModels::ShowDefault.new(project) } - let(:role) { FactoryBot.create(:role, permissions: %i[view_ifc_models view_work_packages manage_ifc_models]) } + let(:role) { create(:role, permissions: %i[view_ifc_models view_work_packages manage_ifc_models]) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, is_default: model_is_default, project: project, uploader: user) @@ -58,7 +58,7 @@ describe 'show default model', end context 'when the work package module not loaded' do - let(:project) { FactoryBot.create :project, enabled_module_names: [:bim] } + let(:project) { create :project, enabled_module_names: [:bim] } it 'shows an error loading the page' do show_default_page.visit! @@ -67,8 +67,8 @@ describe 'show default model', end context 'with everything ready' do - let(:old_work_package) { FactoryBot.create(:work_package, project: project) } - let(:new_work_package) { FactoryBot.create(:work_package, project: project) } + let(:old_work_package) { create(:work_package, project: project) } + let(:new_work_package) { create(:work_package, project: project) } before do old_work_package diff --git a/modules/bim/spec/features/viewer/create_viewpoint_spec.rb b/modules/bim/spec/features/viewer/create_viewpoint_spec.rb index e4a7e350ffc..a8927f6ef84 100644 --- a/modules/bim/spec/features/viewer/create_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/create_viewpoint_spec.rb @@ -32,11 +32,11 @@ describe 'Create viewpoint from BCF details page', type: :feature, with_config: { edition: 'bim' }, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:user) { create :admin } let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, title: 'minimal', project: project, uploader: user) @@ -98,14 +98,14 @@ describe 'Create viewpoint from BCF details page', end context 'with a work package with BCF' do - let!(:work_package) { FactoryBot.create(:work_package, project: project) } - let!(:bcf) { FactoryBot.create :bcf_issue, work_package: work_package } + let!(:work_package) { create(:work_package, project: project) } + let!(:bcf) { create :bcf_issue, work_package: work_package } it_behaves_like 'can create a viewpoint from the BCF details page' end context 'with a work package without BCF' do - let!(:work_package) { FactoryBot.create(:work_package, project: project) } + let!(:work_package) { create(:work_package, project: project) } it_behaves_like 'can create a viewpoint from the BCF details page' end diff --git a/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb b/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb index 1d860203eb9..41461aac475 100644 --- a/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb @@ -32,15 +32,15 @@ describe 'Delete viewpoint in model viewer', with_config: { edition: 'bim' }, type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[bim work_package_tracking] } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project, enabled_module_names: %i[bim work_package_tracking] } + let(:user) { create :admin } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } - let!(:bcf) { FactoryBot.create :bcf_issue, work_package: work_package } - let!(:viewpoint) { FactoryBot.create :bcf_viewpoint, issue: bcf, viewpoint_name: 'minimal_hidden_except_one' } + let!(:work_package) { create(:work_package, project: project) } + let!(:bcf) { create :bcf_issue, work_package: work_package } + let!(:viewpoint) { create :bcf_viewpoint, issue: bcf, viewpoint_name: 'minimal_hidden_except_one' } let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, title: 'minimal', project: project, uploader: user) diff --git a/modules/bim/spec/features/viewer/show_viewpoint_spec.rb b/modules/bim/spec/features/viewer/show_viewpoint_spec.rb index f78e4d3eb5e..d44f4eaa469 100644 --- a/modules/bim/spec/features/viewer/show_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/show_viewpoint_spec.rb @@ -33,19 +33,19 @@ describe 'Show viewpoint in model viewer', type: :feature, js: true do let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %i[bim work_package_tracking], parent: parent_project) end let(:parent_project) { nil } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let!(:work_package) { FactoryBot.create(:work_package, project: project) } - let!(:bcf) { FactoryBot.create :bcf_issue, work_package: work_package } - let!(:viewpoint) { FactoryBot.create :bcf_viewpoint, issue: bcf, viewpoint_name: 'minimal_hidden_except_one' } + let!(:work_package) { create(:work_package, project: project) } + let!(:bcf) { create :bcf_issue, work_package: work_package } + let!(:viewpoint) { create :bcf_viewpoint, issue: bcf, viewpoint_name: 'minimal_hidden_except_one' } let!(:model) do - FactoryBot.create(:ifc_model_minimal_converted, + create(:ifc_model_minimal_converted, title: 'minimal', project: project, uploader: user) @@ -129,7 +129,7 @@ describe 'Show viewpoint in model viewer', end context "current project is a parent of the work package's project" do - let(:parent_project) { FactoryBot.create :project, enabled_module_names: [:work_package_tracking] } + let(:parent_project) { create :project, enabled_module_names: [:work_package_tracking] } let(:wp_details) { ::Pages::SplitWorkPackage.new(work_package, parent_project) } it_behaves_like "moves to the BCF page" @@ -139,7 +139,7 @@ describe 'Show viewpoint in model viewer', let(:permissions) { %i[view_ifc_models view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb b/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb index 5417b2a9c15..2cf939733d6 100644 --- a/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb +++ b/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb @@ -33,11 +33,11 @@ require Rails.root + 'spec/lib/api/v3/work_packages/eager_loading/eager_loading_ describe ::API::V3::WorkPackages::EagerLoading::Checksum do let!(:bcf_issue) do - FactoryBot.create(:bcf_issue, + create(:bcf_issue, work_package: work_package) end let!(:work_package) do - FactoryBot.create(:work_package) + create(:work_package) end describe '.apply' do @@ -57,7 +57,7 @@ describe ::API::V3::WorkPackages::EagerLoading::Checksum do it 'produces a different checksum on changes to the bcf issue id' do bcf_issue.delete - FactoryBot.create(:bcf_issue, + create(:bcf_issue, work_package: work_package) expect(new_checksum) diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb index 140da1ce4e7..8da72c4b78c 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb @@ -35,7 +35,7 @@ describe OpenProject::Bim::BcfJson::ViewpointReader do describe 'with empty example' do let_it_be(:xml_viewpoint) do - FactoryBot.build_stubbed :xml_viewpoint, viewpoint_name: 'empty.bcfv' + build_stubbed :xml_viewpoint, viewpoint_name: 'empty.bcfv' end it_behaves_like 'matches the JSON counterpart' @@ -43,7 +43,7 @@ describe OpenProject::Bim::BcfJson::ViewpointReader do describe 'with minimal example' do let_it_be(:xml_viewpoint) do - FactoryBot.build_stubbed :xml_viewpoint, viewpoint_name: 'minimal.bcfv' + build_stubbed :xml_viewpoint, viewpoint_name: 'minimal.bcfv' end it_behaves_like 'viewpoint keys' @@ -54,7 +54,7 @@ describe OpenProject::Bim::BcfJson::ViewpointReader do describe 'with full viewpoint' do let_it_be(:xml_viewpoint) do - FactoryBot.build_stubbed :xml_viewpoint, viewpoint_name: 'full_viewpoint.bcfv' + build_stubbed :xml_viewpoint, viewpoint_name: 'full_viewpoint.bcfv' end it_behaves_like 'viewpoint keys' @@ -71,7 +71,7 @@ describe OpenProject::Bim::BcfJson::ViewpointReader do describe 'with real-world neuhaus_sc_1 example' do let_it_be(:xml_viewpoint) do - FactoryBot.build_stubbed :xml_viewpoint, viewpoint_name: 'neubau_sc_1.bcfv' + build_stubbed :xml_viewpoint, viewpoint_name: 'neubau_sc_1.bcfv' end it_behaves_like 'viewpoint keys' @@ -83,7 +83,7 @@ describe OpenProject::Bim::BcfJson::ViewpointReader do describe 'with empty XML nodes' do let_it_be(:xml_viewpoint) do - FactoryBot.build_stubbed :xml_viewpoint, viewpoint_name: 'empty_nodes.bcfv' + build_stubbed :xml_viewpoint, viewpoint_name: 'empty_nodes.bcfv' end it 'ignores empty nodes' do diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb b/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb index 3cb83b6ad50..20f9c33bbe9 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb @@ -63,10 +63,10 @@ describe OpenProject::Bim::BcfXml::ViewpointWriter do describe 'with minimal example' do let_it_be(:json_resource) do - FactoryBot.build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'minimal.bcfv' + build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'minimal.bcfv' end let_it_be(:xml_resource) do - FactoryBot.build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'minimal.bcfv' + build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'minimal.bcfv' end it_behaves_like 'converts back to xml' @@ -74,10 +74,10 @@ describe OpenProject::Bim::BcfXml::ViewpointWriter do describe 'with full viewpoint' do let_it_be(:json_resource) do - FactoryBot.build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'full_viewpoint.bcfv' + build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'full_viewpoint.bcfv' end let_it_be(:xml_resource) do - FactoryBot.build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'full_viewpoint.bcfv' + build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'full_viewpoint.bcfv' end it_behaves_like 'converts back to xml' @@ -85,10 +85,10 @@ describe OpenProject::Bim::BcfXml::ViewpointWriter do describe 'with real-world neuhaus_sc_1 example' do let_it_be(:json_resource) do - FactoryBot.build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'neubau_sc_1.bcfv' + build_stubbed :bcf_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'neubau_sc_1.bcfv' end let_it_be(:xml_resource) do - FactoryBot.build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'neubau_sc_1_fixed.bcfv' + build_stubbed :xml_viewpoint, uuid: '{{UUID}}', viewpoint_name: 'neubau_sc_1_fixed.bcfv' end it_behaves_like 'converts back to xml' diff --git a/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb b/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb index bf50fc5c307..a46caddd4f8 100644 --- a/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb +++ b/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb @@ -40,9 +40,9 @@ describe OpenProject::Bim::WorkPackage::Exporter::Formatters::BcfThumbnail do end describe '::format' do - let(:work_package_with_viewpoint) { FactoryBot.create(:work_package) } - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_viewpoint, work_package: work_package_with_viewpoint) } - let(:work_package_without_viewpoint) { FactoryBot.create(:work_package) } + let(:work_package_with_viewpoint) { create(:work_package) } + let(:bcf_issue) { create(:bcf_issue_with_viewpoint, work_package: work_package_with_viewpoint) } + let(:work_package_without_viewpoint) { create(:work_package) } before do bcf_issue diff --git a/modules/bim/spec/models/bcf/issue_spec.rb b/modules/bim/spec/models/bcf/issue_spec.rb index ea64f9df9d2..da94c6453c7 100644 --- a/modules/bim/spec/models/bcf/issue_spec.rb +++ b/modules/bim/spec/models/bcf/issue_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe ::Bim::Bcf::Issue, type: :model do - let(:type) { FactoryBot.create :type, name: "Issue [BCF]" } - let(:work_package) { FactoryBot.create :work_package, type: type } - let(:issue) { FactoryBot.create :bcf_issue, work_package: work_package } + let(:type) { create :type, name: "Issue [BCF]" } + let(:work_package) { create :work_package, type: type } + let(:issue) { create :bcf_issue, work_package: work_package } context '#markup_doc' do subject { issue } @@ -54,8 +54,8 @@ describe ::Bim::Bcf::Issue, type: :model do end describe '.of_project' do - let!(:other_work_package) { FactoryBot.create :work_package, type: type } - let!(:other_issue) { FactoryBot.create :bcf_issue, work_package: other_work_package } + let!(:other_work_package) { create :work_package, type: type } + let!(:other_issue) { create :bcf_issue, work_package: other_work_package } it 'returns all issues of the provided project' do expect(described_class.of_project(issue.project)) diff --git a/modules/bim/spec/models/ifc_model_spec.rb b/modules/bim/spec/models/ifc_model_spec.rb index 6542dc65d66..cb67dc7f462 100644 --- a/modules/bim/spec/models/ifc_model_spec.rb +++ b/modules/bim/spec/models/ifc_model_spec.rb @@ -5,7 +5,7 @@ describe ::Bim::IfcModels::IfcModel, type: :model do let(:params) { { title: 'foo', is_default: true } } describe 'converted?' do - let(:attachment) { FactoryBot.build :attachment } + let(:attachment) { build :attachment } it 'is converted when the xkt attachment is present' do expect(subject).not_to be_converted @@ -16,14 +16,14 @@ describe ::Bim::IfcModels::IfcModel, type: :model do end describe 'ifc_attachment=' do - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[bim]) } + let(:project) { create(:project, enabled_module_names: %i[bim]) } let(:ifc_attachment) { subject.ifc_attachment } let(:new_attachment) do FileHelpers.mock_uploaded_file name: "model.ifc", content_type: 'application/binary', binary: true end - subject { FactoryBot.create :ifc_model_minimal_converted, project: project } + subject { create :ifc_model_minimal_converted, project: project } current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[manage_ifc_models] end diff --git a/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb b/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb index 1481948e850..6f1745ae6f1 100644 --- a/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb +++ b/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Views::Filters::TypeFilter, type: :model do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do login_as(current_user) diff --git a/modules/bim/spec/models/type_spec.rb b/modules/bim/spec/models/type_spec.rb index ea50c3c28d3..d786a25e2db 100644 --- a/modules/bim/spec/models/type_spec.rb +++ b/modules/bim/spec/models/type_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Type, type: :model do - let(:type) { FactoryBot.create :type, name: "Issue" } + let(:type) { create :type, name: "Issue" } it 'bcf_thumbnail is available as a WorkPackageRepresenter attribute' do expect(API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter.representable_attrs.keys).to( diff --git a/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb index 60ba1fe7590..fdfdf585d26 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' require_relative '../shared_examples' describe Bim::Bcf::API::V2_1::ProjectExtensions::Representer, 'rendering' do - let(:type_task) { FactoryBot.build_stubbed :type_task, name: 'My BCF type' } - let(:status) { FactoryBot.build_stubbed(:status) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:type_task) { build_stubbed :type_task, name: 'My BCF type' } + let(:status) { build_stubbed(:status) } + let(:user) { build_stubbed(:user) } let(:project) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package, project: project) } - let(:priority) { FactoryBot.build_stubbed(:priority) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:work_package) { build_stubbed(:stubbed_work_package, project: project) } + let(:priority) { build_stubbed(:priority) } + let(:user) { build_stubbed(:user) } let(:contract) do double('contract', user: user, diff --git a/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb index f1e08a4c334..9997726d5c0 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' require_relative '../shared_examples' describe Bim::Bcf::API::V2_1::Projects::SingleRepresenter, 'rendering' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:instance) { described_class.new(project) } diff --git a/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb index 397ecfa74ff..ef60eca4a29 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb @@ -33,17 +33,17 @@ require_relative '../shared_examples' describe Bim::Bcf::API::V2_1::Topics::SingleRepresenter, 'rendering' do include API::V3::Utilities::PathHelper - let(:assignee) { FactoryBot.build_stubbed(:user) } - let(:creator) { FactoryBot.build_stubbed(:user) } - let(:modifier) { FactoryBot.build_stubbed(:user) } - let(:first_journal) { FactoryBot.build_stubbed(:journal, version: 1, user: creator) } - let(:last_journal) { FactoryBot.build_stubbed(:journal, version: 2, user: modifier) } + let(:assignee) { build_stubbed(:user) } + let(:creator) { build_stubbed(:user) } + let(:modifier) { build_stubbed(:user) } + let(:first_journal) { build_stubbed(:journal, version: 1, user: creator) } + let(:last_journal) { build_stubbed(:journal, version: 2, user: modifier) } let(:journals) { [first_journal, last_journal] } - let(:type) { FactoryBot.build_stubbed(:type) } - let(:status) { FactoryBot.build_stubbed(:status) } - let(:priority) { FactoryBot.build_stubbed(:priority) } + let(:type) { build_stubbed(:type) } + let(:status) { build_stubbed(:status) } + let(:priority) { build_stubbed(:priority) } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, assigned_to: assignee, due_date: Date.today, status: status, @@ -54,13 +54,13 @@ describe Bim::Bcf::API::V2_1::Topics::SingleRepresenter, 'rendering' do .and_return(journals) end end - let(:current_user) { FactoryBot.build_stubbed(:user) } - let(:issue) { FactoryBot.build_stubbed(:bcf_issue, work_package: work_package) } + let(:current_user) { build_stubbed(:user) } + let(:issue) { build_stubbed(:bcf_issue, work_package: work_package) } let(:manage_bcf_allowed) { true } let(:statuses) do [ - FactoryBot.build_stubbed(:status), - FactoryBot.build_stubbed(:status) + build_stubbed(:status), + build_stubbed(:status) ] end diff --git a/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb index 87b44ff74ed..6678df4d5e3 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' require_relative '../shared_examples' describe Bim::Bcf::API::V2_1::Users::SingleRepresenter, 'rendering' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(user) } diff --git a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb index 67a2a4dd28c..8c36b3c05f1 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' require_relative '../shared_examples' describe Bim::Bcf::API::V2_1::Viewpoints::SingleRepresenter, 'rendering' do - let(:viewpoint) { FactoryBot.build_stubbed(:bcf_viewpoint) } + let(:viewpoint) { build_stubbed(:bcf_viewpoint) } let(:instance) { described_class.new(viewpoint) } subject { instance.to_json } diff --git a/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb index d30f756ae1c..00c04e8e354 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb @@ -35,7 +35,7 @@ describe 'BCF 2.1 auth resource', type: :request, content_type: :json do include Rack::Test::Methods let(:current_user) do - FactoryBot.create(:user) + create(:user) end subject(:response) { last_response } diff --git a/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb index 4b6eb3329ea..1f8e73a7eab 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb @@ -36,36 +36,36 @@ describe 'BCF 2.1 comments resource', type: :request, content_type: :json, with_ include API::V3::Utilities::PathHelper let(:project) do - FactoryBot.create(:project, enabled_module_names: %i[bim work_package_tracking]) + create(:project, enabled_module_names: %i[bim work_package_tracking]) end let(:view_only_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_linked_issues view_work_packages]) end let(:edit_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_linked_issues view_work_packages manage_bcf]) end - let(:user_without_permission) { FactoryBot.create(:user, member_in_project: project) } + let(:user_without_permission) { create(:user, member_in_project: project) } - let(:assignee) { FactoryBot.create(:user) } + let(:assignee) { create(:user) } let(:work_package) do - FactoryBot.create(:work_package, assigned_to: assignee, due_date: Time.zone.today, project: project) + create(:work_package, assigned_to: assignee, due_date: Time.zone.today, project: project) end - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_viewpoint, work_package: work_package) } + let(:bcf_issue) { create(:bcf_issue_with_viewpoint, work_package: work_package) } let(:viewpoint) { bcf_issue.viewpoints.first } - let(:bcf_comment) { FactoryBot.create(:bcf_comment, issue: bcf_issue, author: view_only_user) } - let(:bcf_answer) { FactoryBot.create(:bcf_comment, issue: bcf_issue, reply_to: bcf_comment, author: assignee) } + let(:bcf_comment) { create(:bcf_comment, issue: bcf_issue, author: view_only_user) } + let(:bcf_answer) { create(:bcf_comment, issue: bcf_issue, reply_to: bcf_comment, author: assignee) } let(:bcf_comment_to_viewpoint) do - FactoryBot.create(:bcf_comment, issue: bcf_issue, viewpoint: viewpoint, author: edit_user) + create(:bcf_comment, issue: bcf_issue, viewpoint: viewpoint, author: edit_user) end subject(:response) { last_response } @@ -562,7 +562,7 @@ describe 'BCF 2.1 comments resource', type: :request, content_type: :json, with_ context 'if the updated comment contains viewpoint reference and is a reply, but update does not set those attributes' do let(:updated_comment) do - FactoryBot.create(:bcf_comment, + create(:bcf_comment, issue: bcf_issue, viewpoint: viewpoint, reply_to: bcf_comment, diff --git a/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb index 900b543d4a6..1646b0f2ccf 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb @@ -35,7 +35,7 @@ describe 'BCF 2.1 current-user resource', type: :request, content_type: :json do include Rack::Test::Methods let(:current_user) do - FactoryBot.create(:user) + create(:user) end subject(:response) { last_response } diff --git a/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb index fa3324b7e21..b740fee7657 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb @@ -33,17 +33,17 @@ require_relative './shared_responses' describe 'BCF 2.1 project extensions resource', type: :request, content_type: :json do include Rack::Test::Methods - shared_let(:type_task) { FactoryBot.create :type_task } - shared_let(:status) { FactoryBot.create :default_status } - shared_let(:priority) { FactoryBot.create :default_priority } - shared_let(:project) { FactoryBot.create(:project, enabled_module_names: [:bim], types: [type_task]) } + shared_let(:type_task) { create :type_task } + shared_let(:status) { create :default_status } + shared_let(:priority) { create :default_priority } + shared_let(:project) { create(:project, enabled_module_names: [:bim], types: [type_task]) } subject(:response) { last_response } let(:path) { "/api/bcf/2.1/projects/#{project.id}/extensions" } context 'with only view_project permissions' do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: [:view_project]) end @@ -73,13 +73,13 @@ describe 'BCF 2.1 project extensions resource', type: :request, content_type: :j context 'with edit permissions in project' do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_project edit_project manage_bcf view_members]) end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: [:view_project]) end diff --git a/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb index c3c13d2ad37..6008d2e16b7 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb @@ -35,19 +35,19 @@ describe 'BCF 2.1 projects resource', type: :request, content_type: :json do include Rack::Test::Methods let(:view_only_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project) end let(:edit_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: [:edit_project]) end let(:non_member_user) do - FactoryBot.create(:user) + create(:user) end - let(:project) { FactoryBot.create(:project, enabled_module_names: [:bim]) } + let(:project) { create(:project, enabled_module_names: [:bim]) } subject(:response) { last_response } @@ -128,10 +128,10 @@ describe 'BCF 2.1 projects resource', type: :request, content_type: :json do describe 'GET /api/bcf/2.1/projects' do let(:path) { "/api/bcf/2.1/projects" } let(:current_user) { view_only_user } - let!(:invisible_project) { FactoryBot.create(:project, enabled_module_names: [:bcf]) } + let!(:invisible_project) { create(:project, enabled_module_names: [:bcf]) } let!(:non_bcf_project) do - FactoryBot.create(:project, enabled_module_names: [:work_packages]).tap do |p| - FactoryBot.create(:member, + create(:project, enabled_module_names: [:work_packages]).tap do |p| + create(:member, project: p, user: view_only_user, roles: view_only_user.members.first.roles) diff --git a/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb index f4c493e0d1e..5e3aff98d55 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb @@ -36,17 +36,17 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma include API::V3::Utilities::PathHelper let(:view_only_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_linked_issues view_work_packages]) end let(:only_member_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: []) end let(:edit_member_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[manage_bcf add_work_packages @@ -55,7 +55,7 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma edit_work_packages]) end let(:edit_and_delete_member_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[delete_bcf delete_work_packages @@ -65,7 +65,7 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma view_work_packages]) end let(:edit_work_package_member_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[add_work_packages view_linked_issues @@ -73,26 +73,26 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma view_work_packages]) end let(:non_member_user) do - FactoryBot.create(:user) + create(:user) end let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %i[bim work_package_tracking]) end - let(:assignee) { FactoryBot.create(:user) } + let(:assignee) { create(:user) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, assigned_to: assignee, due_date: Date.today, project: project) end let(:other_status) do - FactoryBot.create(:status).tap do |s| + create(:status).tap do |s| member = current_user.members.detect { |m| m.project_id == work_package.project_id } if member - FactoryBot.create(:workflow, + create(:workflow, old_status: work_package.status, new_status: s, type: work_package.type, @@ -100,7 +100,7 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma end end end - let(:bcf_issue) { FactoryBot.create(:bcf_issue, work_package: work_package) } + let(:bcf_issue) { create(:bcf_issue, work_package: work_package) } subject(:response) { last_response } @@ -489,22 +489,22 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma let(:path) { "/api/bcf/2.1/projects/#{project.id}/topics" } let(:current_user) { edit_member_user } let(:type) do - FactoryBot.create(:type).tap do |t| + create(:type).tap do |t| project.types << t end end let(:status) do - FactoryBot.create(:status) + create(:status) end let!(:default_status) do - FactoryBot.create(:default_status) + create(:default_status) end let(:other_status) do - FactoryBot.create(:status).tap do |s| + create(:status).tap do |s| member = current_user.members.detect { |m| m.project_id == project.id } if member - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: s, type: type, @@ -513,16 +513,16 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma end end let!(:default_type) do - FactoryBot.create(:type, is_default: true) + create(:type, is_default: true) end let!(:standard_type) do - FactoryBot.create(:type_standard) + create(:type_standard) end let!(:priority) do - FactoryBot.create(:priority) + create(:priority) end let!(:default_priority) do - FactoryBot.create(:default_priority) + create(:default_priority) end let(:description) { 'some description' } let(:stage) { nil } @@ -642,7 +642,7 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma context 'with an existing work package' do let!(:existing_work_package) do - FactoryBot.create :work_package, author: assignee, assigned_to: assignee, project: project + create :work_package, author: assignee, assigned_to: assignee, project: project end let(:params) do @@ -701,7 +701,7 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma end context 'with a work package in another project' do - let!(:foreign_work_package) { FactoryBot.create :work_package } + let!(:foreign_work_package) { create :work_package } let(:params) do { @@ -747,19 +747,19 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma let(:path) { "/api/bcf/2.1/projects/#{project.id}/topics/#{bcf_issue.uuid}" } let(:current_user) { edit_member_user } let!(:type) do - FactoryBot.create(:type).tap do |t| + create(:type).tap do |t| project.types << t end end let(:status) do - FactoryBot.create(:status) + create(:status) end let(:other_status) do - FactoryBot.create(:status).tap do |s| + create(:status).tap do |s| member = current_user.members.detect { |m| m.project_id == project.id } if member - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: s, type: type, @@ -768,18 +768,18 @@ describe 'BCF 2.1 topics resource', type: :request, content_type: :json, with_ma end end let!(:default_status) do - FactoryBot.create(:default_status) + create(:default_status) end let!(:default_type) do - FactoryBot.create(:type, is_default: true).tap do |t| + create(:type, is_default: true).tap do |t| project.types << t end end let!(:priority) do - FactoryBot.create(:priority) + create(:priority) end let!(:default_priority) do - FactoryBot.create(:default_priority) + create(:default_priority) end let(:description) { 'some description' } let(:index) { 5 } diff --git a/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb index e0d7967e764..b5c6d821d01 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb @@ -36,33 +36,33 @@ describe 'BCF 2.1 viewpoints resource', type: :request, content_type: :json, wit include API::V3::Utilities::PathHelper shared_let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: [:bim]) end shared_let(:view_only_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: [:view_linked_issues]) end shared_let(:create_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_linked_issues manage_bcf]) end shared_let(:non_member_user) do - FactoryBot.create(:user) + create(:user) end shared_let(:work_package) do User.execute_as create_user do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end end - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_viewpoint, work_package: work_package) } + let(:bcf_issue) { create(:bcf_issue_with_viewpoint, work_package: work_package) } let(:viewpoint) { bcf_issue.viewpoints.first } let(:viewpoint_json) { viewpoint.json_viewpoint } @@ -142,7 +142,7 @@ describe 'BCF 2.1 viewpoints resource', type: :request, content_type: :json, wit end context "one BCF comment holds a reference to that viewpoint" do - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_comment, work_package: work_package) } + let(:bcf_issue) { create(:bcf_issue_with_comment, work_package: work_package) } let(:comment) { bcf_issue.comments.first } it "nullifies the comment's reference to the viewpoint" do diff --git a/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb b/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb index 7af9f733e84..b1db4495144 100644 --- a/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb @@ -32,17 +32,17 @@ require 'rack/test' describe 'BCF XML API v1 bcf_xml resource', type: :request do include Rack::Test::Methods - let!(:status) { FactoryBot.create(:status, name: 'New', is_default: true) } - let!(:type) { FactoryBot.create :type, name: 'Issue', is_standard: true, is_default: true } - let!(:priority) { FactoryBot.create(:issue_priority, name: "Mega high", is_default: true) } - let!(:project) { FactoryBot.create(:project, enabled_module_names: %w[bim work_package_tracking], types: [type]) } + let!(:status) { create(:status, name: 'New', is_default: true) } + let!(:type) { create :type, name: 'Issue', is_standard: true, is_default: true } + let!(:priority) { create(:issue_priority, name: "Mega high", is_default: true) } + let!(:project) { create(:project, enabled_module_names: %w[bim work_package_tracking], types: [type]) } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role, firstname: "BIMjamin") + create(:user, member_in_project: project, member_through_role: role, firstname: "BIMjamin") end - let(:work_package) { FactoryBot.create(:work_package, status: status, priority: priority, project: project) } - let(:bcf_issue) { FactoryBot.create(:bcf_issue_with_comment, work_package: work_package) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:work_package) { create(:work_package, status: status, priority: priority, project: project) } + let(:bcf_issue) { create(:bcf_issue_with_comment, work_package: work_package) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_work_packages view_linked_issues) } let(:filename) { 'MaximumInformation.bcf' } let(:bcf_xml_file) do diff --git a/modules/bim/spec/services/bcf/issues/create_service_spec.rb b/modules/bim/spec/services/bcf/issues/create_service_spec.rb index 5688afb6448..33048c582af 100644 --- a/modules/bim/spec/services/bcf/issues/create_service_spec.rb +++ b/modules/bim/spec/services/bcf/issues/create_service_spec.rb @@ -35,7 +35,7 @@ describe Bim::Bcf::Issues::CreateService, type: :model do it_behaves_like 'BaseServices create service' do let(:model_class) { ::Bim::Bcf::Issue } let(:factory) { :bcf_issue } - let(:work_package) { FactoryBot.build_stubbed :work_package } + let(:work_package) { build_stubbed :work_package } let(:wp_call) { ServiceResult.new(success: true, result: work_package) } before do diff --git a/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb b/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb index 5487b2083f3..bca3db2419b 100644 --- a/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb +++ b/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Bim::Bcf::Viewpoints::CreateService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do double('contract_class', '<=': true) end @@ -61,7 +61,7 @@ describe Bim::Bcf::Viewpoints::CreateService, type: :model do errors: set_attributes_errors end let!(:created_viewpoint) do - viewpoint = FactoryBot.build_stubbed(:bcf_viewpoint) + viewpoint = build_stubbed(:bcf_viewpoint) allow(Bim::Bcf::Viewpoint) .to receive(:new) diff --git a/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb b/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb index 37a2e1756b8..9c2ace0cede 100644 --- a/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb +++ b/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Bim::Bcf::Viewpoints::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -72,7 +72,7 @@ describe Bim::Bcf::Viewpoints::SetAttributesService, type: :model do # are immutable. context 'for a new record' do let(:call_attributes) do - attributes = FactoryBot.attributes_for(:bcf_viewpoint) + attributes = attributes_for(:bcf_viewpoint) attributes[:json_viewpoint].delete('guid') attributes[:json_viewpoint]["snapshot"] = { "snapshot_type" => "png", @@ -100,7 +100,7 @@ describe Bim::Bcf::Viewpoints::SetAttributesService, type: :model do it 'sets the attributes with the uuid added to the json_viewpoint' do subject - expected_attributes = FactoryBot.attributes_for(:bcf_viewpoint) + expected_attributes = attributes_for(:bcf_viewpoint) expected_attributes[:json_viewpoint]['guid'] = viewpoint.uuid expected_attributes[:json_viewpoint]["snapshot"] = { "snapshot_type" => "png", @@ -133,7 +133,7 @@ describe Bim::Bcf::Viewpoints::SetAttributesService, type: :model do context 'with an unsupported snapshot type' do let(:call_attributes) do - attributes = FactoryBot.attributes_for(:bcf_viewpoint) + attributes = attributes_for(:bcf_viewpoint) attributes[:json_viewpoint].delete('guid') attributes[:json_viewpoint]["snapshot"] = { "snapshot_type" => "tif", diff --git a/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb b/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb index a0316b577d1..8a3db456d99 100644 --- a/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb +++ b/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe Bim::IfcModels::SetAttributesService, type: :model do - shared_let(:project) { FactoryBot.create(:project, enabled_module_names: %i[bim]) } - shared_let(:other_project) { FactoryBot.create(:project, enabled_module_names: %i[bim]) } - shared_let(:user) { FactoryBot.create(:user, member_in_project: project, member_with_permissions: %i[manage_ifc_models]) } + shared_let(:project) { create(:project, enabled_module_names: %i[bim]) } + shared_let(:other_project) { create(:project, enabled_module_names: %i[bim]) } + shared_let(:user) { create(:user, member_in_project: project, member_with_permissions: %i[manage_ifc_models]) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -62,7 +62,7 @@ describe Bim::IfcModels::SetAttributesService, type: :model do let(:call_attributes) { {} } let(:ifc_file) { FileHelpers.mock_uploaded_file(name: "model_2.ifc", content_type: 'application/binary', binary: true) } let(:model) do - FactoryBot.create(:ifc_model, project: project, uploader: other_user) + create(:ifc_model, project: project, uploader: other_user) end before do diff --git a/modules/bim/spec/services/ifc_models/update_service_spec.rb b/modules/bim/spec/services/ifc_models/update_service_spec.rb index d71cd129fd9..a6b95795c6f 100644 --- a/modules/bim/spec/services/ifc_models/update_service_spec.rb +++ b/modules/bim/spec/services/ifc_models/update_service_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Bim::IfcModels::UpdateService do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do double('contract_class', '<=': true) end @@ -24,7 +24,7 @@ describe Bim::IfcModels::UpdateService do errors: set_attributes_errors end let!(:model) do - FactoryBot.create(:ifc_model).tap do |m| + create(:ifc_model).tap do |m| allow(m) .to receive(:save) .and_return(model_valid) @@ -59,9 +59,9 @@ describe Bim::IfcModels::UpdateService do stub_const('Bim::IfcModels::IfcConversionJob', job) end end - let(:ifc_attachment) { FactoryBot.build_stubbed(:attachment) } + let(:ifc_attachment) { build_stubbed(:attachment) } let(:other_attachment) do - FactoryBot.build_stubbed(:attachment).tap do |a| + build_stubbed(:attachment).tap do |a| allow(a) .to receive(:marked_for_destruction?) .and_return(attachment_marked_for_destruction) diff --git a/modules/bim/spec/services/ifc_models/view_conversion_service_spec.rb b/modules/bim/spec/services/ifc_models/view_conversion_service_spec.rb index e51c3f1a78a..78cb11769bf 100644 --- a/modules/bim/spec/services/ifc_models/view_conversion_service_spec.rb +++ b/modules/bim/spec/services/ifc_models/view_conversion_service_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Bim::IfcModels::ViewConverterService do - let(:model) { FactoryBot.build :ifc_model } + let(:model) { build :ifc_model } subject { described_class.new(model) } before do diff --git a/modules/bim/spec/support/bcf_topic_with_stubbed_comment.rb b/modules/bim/spec/support/bcf_topic_with_stubbed_comment.rb index 59bcc0023cc..07bb6b501d2 100644 --- a/modules/bim/spec/support/bcf_topic_with_stubbed_comment.rb +++ b/modules/bim/spec/support/bcf_topic_with_stubbed_comment.rb @@ -1,9 +1,9 @@ shared_context 'bcf_topic with stubbed comment' do |attributes = {}| - let(:attachment) { FactoryBot.build_stubbed(:attachment, description: 'snapshot') } - let(:viewpoint) { FactoryBot.build_stubbed(:bcf_viewpoint, attachments: [attachment]) } - let(:bcf_comment) { FactoryBot.build_stubbed(:bcf_comment, viewpoint: viewpoint) } + let(:attachment) { build_stubbed(:attachment, description: 'snapshot') } + let(:viewpoint) { build_stubbed(:bcf_viewpoint, attachments: [attachment]) } + let(:bcf_comment) { build_stubbed(:bcf_comment, viewpoint: viewpoint) } let(:bcf_topic) do - FactoryBot.build_stubbed(:bcf_issue_with_comment, **attributes).tap do |issue| + build_stubbed(:bcf_issue_with_comment, **attributes).tap do |issue| allow(issue) .to receive(:viewpoints) .and_return([viewpoint]) diff --git a/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb b/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb index 39ecc2d77ba..e7a009accc5 100644 --- a/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb +++ b/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe 'bim/ifc_models/ifc_models/index', type: :view do - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[bim]) } + let(:project) { create(:project, enabled_module_names: %i[bim]) } let(:ifc_model) do - FactoryBot.create(:ifc_model, + create(:ifc_model, uploader: uploader_user, title: "office.ifc", project: project).tap do |model| @@ -39,11 +39,11 @@ describe 'bim/ifc_models/ifc_models/index', type: :view do end end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_ifc_models manage_ifc_models]) end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end @@ -89,7 +89,7 @@ describe 'bim/ifc_models/ifc_models/index', type: :view do context 'without ifc_attachment' do let(:ifc_model) do - FactoryBot.create(:ifc_model_without_ifc_attachment, + create(:ifc_model_without_ifc_attachment, title: "office.ifc", project: project) end diff --git a/modules/bim/spec/workers/ifc_conversion_job_spec.rb b/modules/bim/spec/workers/ifc_conversion_job_spec.rb index 547842ac190..b80fc88395f 100644 --- a/modules/bim/spec/workers/ifc_conversion_job_spec.rb +++ b/modules/bim/spec/workers/ifc_conversion_job_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Bim::IfcModels::IfcConversionJob, type: :job do - let(:model) { FactoryBot.build :ifc_model } + let(:model) { build :ifc_model } subject { described_class.perform_now(model) } it 'calls the conversion service' do diff --git a/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb b/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb index 9484ae37c8c..0a6942fbabc 100644 --- a/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb +++ b/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe WorkPackages::ExportJob do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:attachment) { double('Attachment', id: 1234) } let(:export) do - FactoryBot.build_stubbed(:work_packages_export) + build_stubbed(:work_packages_export) end - let(:query) { FactoryBot.build_stubbed(:query) } + let(:query) { build_stubbed(:query) } let(:job) { described_class.new(**jobs_args) } let(:jobs_args) do diff --git a/modules/boards/spec/contracts/grids/create_contract_spec.rb b/modules/boards/spec/contracts/grids/create_contract_spec.rb index 3da9124222b..ea032ace586 100644 --- a/modules/boards/spec/contracts/grids/create_contract_spec.rb +++ b/modules/boards/spec/contracts/grids/create_contract_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe Grids::CreateContract, 'for Boards::Grid' do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:grid) do - FactoryBot.create(:board_grid, project: project) + create(:board_grid, project: project) end include_context 'model contract' diff --git a/modules/boards/spec/factories/board_factory.rb b/modules/boards/spec/factories/board_factory.rb index 48d14a9a5f6..b6191600067 100644 --- a/modules/boards/spec/factories/board_factory.rb +++ b/modules/boards/spec/factories/board_factory.rb @@ -25,7 +25,7 @@ FactoryBot.define do end end - board.widgets << FactoryBot.create(:grid_widget, + board.widgets << create(:grid_widget, identifier: 'work_package_query', start_row: 1, end_row: 2, @@ -54,7 +54,7 @@ FactoryBot.define do q.save! end - board.widgets << FactoryBot.create(:grid_widget, + board.widgets << create(:grid_widget, identifier: 'work_package_query', start_row: 1, end_row: 2, @@ -73,7 +73,7 @@ FactoryBot.define do column_count { 4 } transient do - projects_columns { [FactoryBot.create(:project)] } + projects_columns { [create(:project)] } end callback(:after_build) do |board, evaluator| # this is also done after :create @@ -88,7 +88,7 @@ FactoryBot.define do filters = [{ "onlySubproject" => { "operator" => "=", "values" => [project.id.to_s] } }] board.options = { 'type' => 'action', 'attribute' => 'subproject' } - board.widgets << FactoryBot.create(:grid_widget, + board.widgets << create(:grid_widget, identifier: 'work_package_query', start_row: 1, end_row: 2, diff --git a/modules/boards/spec/features/action_boards/assignee_board_spec.rb b/modules/boards/spec/features/action_boards/assignee_board_spec.rb index 4640252ab6c..a71847ce2c1 100644 --- a/modules/boards/spec/features/action_boards/assignee_board_spec.rb +++ b/modules/boards/spec/features/action_boards/assignee_board_spec.rb @@ -34,17 +34,17 @@ describe 'Assignee action board', type: :feature, js: true do let(:bobself_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Bob', lastname: 'Self', member_in_project: project, member_through_role: role) end - let(:admin) { FactoryBot.create(:admin) } - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:project_without_members) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:admin) { create(:admin) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:project_without_members) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } let(:board_index) { Pages::BoardIndex.new(project) } let(:other_board_index) { Pages::BoardIndex.new(project_without_members) } @@ -54,12 +54,12 @@ describe 'Assignee action board', edit_work_packages view_work_packages manage_public_queries] end - let!(:priority) { FactoryBot.create :default_priority } + let!(:priority) { create :default_priority } # Set up other assignees let!(:foobar_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Foo', lastname: 'Bar', member_in_project: project, @@ -67,8 +67,8 @@ describe 'Assignee action board', end let!(:group) do - FactoryBot.create(:group, name: 'Grouped').tap do |group| - FactoryBot.create(:member, + create(:group, name: 'Grouped').tap do |group| + create(:member, principal: group, project: project, roles: [role]) @@ -76,7 +76,7 @@ describe 'Assignee action board', end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, assigned_to: bobself_user, subject: 'Some Task' diff --git a/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb b/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb index 13c1cec388c..0dbfda34aec 100644 --- a/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb +++ b/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb @@ -32,13 +32,13 @@ require_relative './../support/board_page' describe 'Custom field filter in boards', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } let(:board_index) { Pages::BoardIndex.new(project) } @@ -47,12 +47,12 @@ describe 'Custom field filter in boards', type: :feature, js: true do edit_work_packages view_work_packages manage_public_queries] end - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:closed_status) { FactoryBot.create :status, is_closed: true, name: 'Closed' } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:closed_status) { create :status, is_closed: true, name: 'Closed' } let!(:work_package) do - wp = FactoryBot.build :work_package, + wp = build :work_package, project: project, type: type, subject: 'Foo', @@ -69,7 +69,7 @@ describe 'Custom field filter in boards', type: :feature, js: true do let(:filters) { ::Components::WorkPackages::Filters.new } let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: true, diff --git a/modules/boards/spec/features/action_boards/status_board_spec.rb b/modules/boards/spec/features/action_boards/status_board_spec.rb index a2285fd0a17..6cb70c57f83 100644 --- a/modules/boards/spec/features/action_boards/status_board_spec.rb +++ b/modules/boards/spec/features/action_boards/status_board_spec.rb @@ -32,13 +32,13 @@ require_relative './../support/board_page' describe 'Status action board', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } let(:board_index) { Pages::BoardIndex.new(project) } @@ -47,30 +47,30 @@ describe 'Status action board', type: :feature, js: true do edit_work_packages view_work_packages manage_public_queries] end - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:other_status) { FactoryBot.create :status, name: 'Whatever' } - let!(:closed_status) { FactoryBot.create :status, is_closed: true, name: 'Closed' } - let!(:work_package) { FactoryBot.create :work_package, project: project, subject: 'Foo', status: other_status } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:other_status) { create :status, name: 'Whatever' } + let!(:closed_status) { create :status, is_closed: true, name: 'Closed' } + let!(:work_package) { create :work_package, project: project, subject: 'Foo', status: other_status } let(:filters) { ::Components::WorkPackages::Filters.new } let!(:workflow_type) do - FactoryBot.create(:workflow, + create(:workflow, type: type, role: role, old_status_id: open_status.id, new_status_id: closed_status.id) end let!(:workflow_type_back) do - FactoryBot.create(:workflow, + create(:workflow, type: type, role: role, old_status_id: other_status.id, new_status_id: open_status.id) end let!(:workflow_type_back_open) do - FactoryBot.create(:workflow, + create(:workflow, type: type, role: role, old_status_id: closed_status.id, diff --git a/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb b/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb index f15bf6eb6cc..b0b37b02650 100644 --- a/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb +++ b/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb @@ -32,7 +32,7 @@ require_relative './../support/board_page' describe 'Status action board', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -40,29 +40,29 @@ describe 'Status action board', type: :feature, js: true do %i[show_board_views manage_board_views add_work_packages edit_work_packages view_work_packages manage_public_queries] end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } - let(:type_bug) { FactoryBot.create(:type_bug) } - let(:type_task) { FactoryBot.create(:type_task) } + let(:type_bug) { create(:type_bug) } + let(:type_task) { create(:type_task) } let(:project) do - FactoryBot.create(:project, types: [type_task, type_bug], enabled_module_names: %i[work_package_tracking board_view]) + create(:project, types: [type_task, type_bug], enabled_module_names: %i[work_package_tracking board_view]) end let(:board_index) { Pages::BoardIndex.new(project) } - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:closed_status) { FactoryBot.create :status, is_closed: true, name: 'Closed' } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:closed_status) { create :status, is_closed: true, name: 'Closed' } let(:task_wp) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type_task, subject: 'Open task item', status: open_status end let(:bug_wp) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type_bug, subject: 'Closed bug item', @@ -70,14 +70,14 @@ describe 'Status action board', type: :feature, js: true do end let!(:workflow_task) do - FactoryBot.create(:workflow, + create(:workflow, type: type_task, role: role, old_status_id: open_status.id, new_status_id: closed_status.id) end let!(:workflow_task_back) do - FactoryBot.create(:workflow, + create(:workflow, type: type_task, role: role, old_status_id: closed_status.id, @@ -85,14 +85,14 @@ describe 'Status action board', type: :feature, js: true do end let!(:workflow_bug) do - FactoryBot.create(:workflow, + create(:workflow, type: type_bug, role: role, old_status_id: open_status.id, new_status_id: closed_status.id) end let!(:workflow_bug_back) do - FactoryBot.create(:workflow, + create(:workflow, type: type_bug, role: role, old_status_id: closed_status.id, diff --git a/modules/boards/spec/features/action_boards/subproject_board_spec.rb b/modules/boards/spec/features/action_boards/subproject_board_spec.rb index adb16a27fee..6260f0c2498 100644 --- a/modules/boards/spec/features/action_boards/subproject_board_spec.rb +++ b/modules/boards/spec/features/action_boards/subproject_board_spec.rb @@ -32,21 +32,21 @@ require_relative './../support/board_page' describe 'Subproject action board', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:type) { FactoryBot.create(:type_standard) } + let(:type) { create(:type_standard) } let(:project) do - FactoryBot.create(:project, name: 'Parent', types: [type], enabled_module_names: %i[work_package_tracking board_view]) + create(:project, name: 'Parent', types: [type], enabled_module_names: %i[work_package_tracking board_view]) end let(:subproject1) do - FactoryBot.create(:project, parent: project, name: 'Child 1', types: [type], enabled_module_names: %i[work_package_tracking]) + create(:project, parent: project, name: 'Child 1', types: [type], enabled_module_names: %i[work_package_tracking]) end let(:subproject2) do - FactoryBot.create(:project, parent: project, name: 'Child 2', types: [type], enabled_module_names: %i[work_package_tracking]) + create(:project, parent: project, name: 'Child 2', types: [type], enabled_module_names: %i[work_package_tracking]) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:board_index) { Pages::BoardIndex.new(project) } @@ -55,9 +55,9 @@ describe 'Subproject action board', type: :feature, js: true do edit_work_packages view_work_packages manage_public_queries move_work_packages] end - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:work_package) { FactoryBot.create :work_package, project: subproject1, subject: 'Foo', status: open_status } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:work_package) { create :work_package, project: subproject1, subject: 'Foo', status: open_status } before do with_enterprise_token :board_view @@ -74,7 +74,7 @@ describe 'Subproject action board', type: :feature, js: true do end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, subproject1, subproject2], member_through_role: role) end @@ -97,13 +97,13 @@ describe 'Subproject action board', type: :feature, js: true do context 'with permissions in all subprojects' do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, subproject1, subproject2], member_through_role: role) end let(:only_parent_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -177,21 +177,21 @@ describe 'Subproject action board', type: :feature, js: true do context 'with permissions in only one subproject' do let(:user) do - FactoryBot.create(:user, + create(:user, # The membership in subproject2 gets removed later on member_in_projects: [project, subproject1, subproject2], member_through_role: role) end let!(:board) do - FactoryBot.create(:subproject_board, + create(:subproject_board, project: project, projects_columns: [subproject1, subproject2]) end let(:board_page) { Pages::Board.new(board) } let!(:invisible_work_package) do - FactoryBot.create :work_package, project: subproject2, status: open_status + create :work_package, project: subproject2, status: open_status end before do @@ -218,13 +218,13 @@ describe 'Subproject action board', type: :feature, js: true do context 'with an archived subproject' do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, subproject1, subproject2], member_through_role: role) end let!(:board) do - FactoryBot.create(:subproject_board, + create(:subproject_board, project: project, projects_columns: [subproject1]) end diff --git a/modules/boards/spec/features/action_boards/subtasks_board_spec.rb b/modules/boards/spec/features/action_boards/subtasks_board_spec.rb index d7469ec2f31..81dd10b6f37 100644 --- a/modules/boards/spec/features/action_boards/subtasks_board_spec.rb +++ b/modules/boards/spec/features/action_boards/subtasks_board_spec.rb @@ -31,22 +31,22 @@ require_relative './../support//board_index_page' require_relative './../support/board_page' describe 'Subtasks action board', type: :feature, js: true do - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:board_index) { Pages::BoardIndex.new(project) } - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:parent) { FactoryBot.create :work_package, project: project, subject: 'Parent WP', status: open_status } - let!(:child) { FactoryBot.create :work_package, project: project, subject: 'Child WP', parent: parent, status: open_status } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:parent) { create :work_package, project: project, subject: 'Parent WP', status: open_status } + let!(:child) { create :work_package, project: project, subject: 'Child WP', parent: parent, status: open_status } before do with_enterprise_token :board_view @@ -76,7 +76,7 @@ describe 'Subtasks action board', type: :feature, js: true do end context 'with all permissions' do - let!(:other_wp) { FactoryBot.create :work_package, project: project, subject: 'Other WP', status: open_status } + let!(:other_wp) { create :work_package, project: project, subject: 'Other WP', status: open_status } let(:permissions) do %i[show_board_views manage_board_views add_work_packages @@ -178,7 +178,7 @@ describe 'Subtasks action board', type: :feature, js: true do end describe 'with German language (regression #40031)' do - let!(:german_user) { FactoryBot.create :admin, language: :de } + let!(:german_user) { create :admin, language: :de } let(:permissions) do %i[show_board_views manage_board_views add_work_packages edit_work_packages view_work_packages manage_public_queries] diff --git a/modules/boards/spec/features/action_boards/version_board_spec.rb b/modules/boards/spec/features/action_boards/version_board_spec.rb index 2e0d01371fb..2710fdf4b26 100644 --- a/modules/boards/spec/features/action_boards/version_board_spec.rb +++ b/modules/boards/spec/features/action_boards/version_board_spec.rb @@ -33,24 +33,24 @@ require_relative './../support/board_page' # rubocop:disable RSpec:MultipleMemoizedHelpers describe 'Version action board', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, second_project], member_through_role: role) end let(:second_user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, second_project], member_through_role: role_board_manager) end - let(:type) { FactoryBot.create(:type_standard) } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let(:role_board_manager) { FactoryBot.create(:role, permissions: permissions_board_manager) } + let(:type) { create(:type_standard) } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } + let(:role) { create(:role, permissions: permissions) } + let(:role_board_manager) { create(:role, permissions: permissions_board_manager) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:second_project) { FactoryBot.create(:project) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:second_project) { create(:project) } let(:board_index) { Pages::BoardIndex.new(project) } let(:permissions) do @@ -61,14 +61,14 @@ describe 'Version action board', type: :feature, js: true do %i[show_board_views manage_board_views view_work_packages manage_public_queries] end - let!(:open_version) { FactoryBot.create :version, project: project, name: 'Open version' } - let!(:other_version) { FactoryBot.create :version, project: project, name: 'A second version' } - let!(:different_project_version_) { FactoryBot.create :version, project: second_project, name: 'Version of another project' } - let!(:shared_version) { FactoryBot.create :version, project: second_project, name: 'Shared version', sharing: 'system' } - let!(:closed_version) { FactoryBot.create :version, project: project, status: 'closed', name: 'Closed version' } + let!(:open_version) { create :version, project: project, name: 'Open version' } + let!(:other_version) { create :version, project: project, name: 'A second version' } + let!(:different_project_version_) { create :version, project: second_project, name: 'Version of another project' } + let!(:shared_version) { create :version, project: second_project, name: 'Shared version', sharing: 'system' } + let!(:closed_version) { create :version, project: project, status: 'closed', name: 'Closed version' } - let!(:work_package) { FactoryBot.create :work_package, project: project, subject: 'Foo', version: open_version } - let!(:closed_version_wp) { FactoryBot.create :work_package, project: project, subject: 'Closed', version: closed_version } + let!(:work_package) { create :work_package, project: project, subject: 'Foo', version: open_version } + let!(:closed_version_wp) { create :work_package, project: project, subject: 'Closed', version: closed_version } let(:filters) { ::Components::WorkPackages::Filters.new } def create_new_version_board @@ -307,11 +307,11 @@ describe 'Version action board', type: :feature, js: true do context 'a user with edit_work_packages, but missing assign_versions permissions' do let(:no_version_edit_user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project], member_through_role: no_version_edit_role) end - let(:no_version_edit_role) { FactoryBot.create(:role, permissions: no_version_edit_permissions) } + let(:no_version_edit_role) { create(:role, permissions: no_version_edit_permissions) } let(:no_version_edit_permissions) do %i[show_board_views manage_board_views add_work_packages manage_versions edit_work_packages view_work_packages manage_public_queries] diff --git a/modules/boards/spec/features/board_conflicts_spec.rb b/modules/boards/spec/features/board_conflicts_spec.rb index 4a745c7a203..829175289ac 100644 --- a/modules/boards/spec/features/board_conflicts_spec.rb +++ b/modules/boards/spec/features/board_conflicts_spec.rb @@ -32,13 +32,13 @@ require_relative './support/board_page' describe 'Board remote changes resolution', type: :feature, js: true do let(:user1) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } let(:board_index) { Pages::BoardIndex.new(project) } @@ -47,10 +47,10 @@ describe 'Board remote changes resolution', type: :feature, js: true do edit_work_packages view_work_packages manage_public_queries] end - let!(:priority) { FactoryBot.create :default_priority } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } - let!(:work_package1) { FactoryBot.create :work_package, project: project, subject: 'Work package A', status: open_status } - let!(:work_package2) { FactoryBot.create :work_package, project: project, subject: 'Work package B', status: open_status } + let!(:priority) { create :default_priority } + let!(:open_status) { create :default_status, name: 'Open' } + let!(:work_package1) { create :work_package, project: project, subject: 'Work package A', status: open_status } + let!(:work_package2) { create :work_package, project: project, subject: 'Work package B', status: open_status } before do with_enterprise_token :board_view diff --git a/modules/boards/spec/features/board_highlighting_spec.rb b/modules/boards/spec/features/board_highlighting_spec.rb index d4ba28e6c05..d2d8c6b4277 100644 --- a/modules/boards/spec/features/board_highlighting_spec.rb +++ b/modules/boards/spec/features/board_highlighting_spec.rb @@ -32,39 +32,39 @@ require_relative './support/board_page' describe 'Work Package boards spec', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } let(:permissions) { %i[show_board_views manage_board_views add_work_packages view_work_packages manage_public_queries] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let!(:wp) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, priority: priority, status: open_status) end let!(:wp2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type2, priority: priority2, status: open_status) end - let!(:priority) { FactoryBot.create :priority, color: color } - let!(:priority2) { FactoryBot.create :priority, color: color2 } - let!(:type) { FactoryBot.create :type, color: color } - let!(:type2) { FactoryBot.create :type, color: color2 } - let!(:open_status) { FactoryBot.create :default_status, name: 'Open' } + let!(:priority) { create :priority, color: color } + let!(:priority2) { create :priority, color: color2 } + let!(:type) { create :type, color: color } + let!(:type2) { create :type, color: color2 } + let!(:open_status) { create :default_status, name: 'Open' } let(:board_index) { Pages::BoardIndex.new(project) } - let(:color) { FactoryBot.create :color } - let(:color2) { FactoryBot.create :color } + let(:color) { create :color } + let(:color2) { create :color } before do with_enterprise_token :board_view diff --git a/modules/boards/spec/features/board_management_spec.rb b/modules/boards/spec/features/board_management_spec.rb index d211ff361b8..66f0d009a9a 100644 --- a/modules/boards/spec/features/board_management_spec.rb +++ b/modules/boards/spec/features/board_management_spec.rb @@ -32,19 +32,19 @@ require_relative './support/board_page' describe 'Board management spec', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let!(:work_package) { FactoryBot.create :work_package, subject: 'Foo', project: project } + let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } + let!(:work_package) { create :work_package, subject: 'Foo', project: project } let(:board_index) { Pages::BoardIndex.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } before do with_enterprise_token :board_view @@ -63,7 +63,7 @@ describe 'Board management spec', type: :feature, js: true do manage_public_queries ] end - let(:board_view) { FactoryBot.create :board_grid_with_query, project: project } + let(:board_view) { create :board_grid_with_query, project: project } it 'allows parallel creation of cards (Regression #30842)' do board_view @@ -208,7 +208,7 @@ describe 'Board management spec', type: :feature, js: true do context 'with view boards + work package permission' do let(:permissions) { %i[show_board_views view_work_packages] } - let(:board_view) { FactoryBot.create :board_grid_with_query, project: project } + let(:board_view) { create :board_grid_with_query, project: project } it 'allows viewing boards index and boards' do board_view @@ -227,7 +227,7 @@ describe 'Board management spec', type: :feature, js: true do context 'with view boards + edit work package permission' do let(:permissions) { %i[show_board_views view_work_packages add_work_packages edit_work_packages] } - let(:board_view) { FactoryBot.create :board_grid_with_queries, project: project } + let(:board_view) { create :board_grid_with_queries, project: project } it 'allows viewing boards index and moving items around' do board_view diff --git a/modules/boards/spec/features/board_navigation_spec.rb b/modules/boards/spec/features/board_navigation_spec.rb index 964971e4b45..4c71b8fb664 100644 --- a/modules/boards/spec/features/board_navigation_spec.rb +++ b/modules/boards/spec/features/board_navigation_spec.rb @@ -32,19 +32,19 @@ require_relative './support/board_page' describe 'Work Package boards spec', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end # The identifier is important to test https://community.openproject.com/wp/29754 - let(:project) { FactoryBot.create(:project, identifier: 'boards', enabled_module_names: %i[work_package_tracking board_view]) } + let(:project) { create(:project, identifier: 'boards', enabled_module_names: %i[work_package_tracking board_view]) } let(:permissions) { %i[show_board_views manage_board_views add_work_packages view_work_packages manage_public_queries] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let(:admin) { FactoryBot.create :admin } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } + let(:role) { create(:role, permissions: permissions) } + let(:admin) { create :admin } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } let(:board_index) { Pages::BoardIndex.new(project) } - let!(:board_view) { FactoryBot.create :board_grid_with_query, name: 'My board', project: project } + let!(:board_view) { create :board_grid_with_query, name: 'My board', project: project } let(:project_html_title) { ::Components::HtmlTitle.new project } let(:destroy_modal) { Components::WorkPackages::DestroyModal.new } diff --git a/modules/boards/spec/features/board_reference_work_package_spec.rb b/modules/boards/spec/features/board_reference_work_package_spec.rb index be7881a5d8a..00fb04cd805 100644 --- a/modules/boards/spec/features/board_reference_work_package_spec.rb +++ b/modules/boards/spec/features/board_reference_work_package_spec.rb @@ -32,13 +32,13 @@ require_relative './support/board_page' describe 'Board reference work package spec', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let!(:work_package) { FactoryBot.create :work_package, version: version, subject: 'Foo', project: project } + let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let(:role) { create(:role, permissions: permissions) } + let!(:work_package) { create :work_package, version: version, subject: 'Foo', project: project } let(:board_index) { Pages::BoardIndex.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } @@ -54,11 +54,11 @@ describe 'Board reference work package spec', type: :feature, js: true do assign_versions ] end - let(:board_view) { FactoryBot.create :board_grid_with_query, project: project } + let(:board_view) { create :board_grid_with_query, project: project } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } - let!(:version) { FactoryBot.create :version, name: 'Foo version', project: project } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } + let!(:version) { create :version, name: 'Foo version', project: project } before do with_enterprise_token :board_view @@ -95,11 +95,11 @@ describe 'Board reference work package spec', type: :feature, js: true do end context 'with a subproject and work packages within it (Regression #31613)' do - let!(:child_project) { FactoryBot.create(:project, parent: project) } - let!(:work_package) { FactoryBot.create(:work_package, subject: 'WP SUB', project: child_project) } + let!(:child_project) { create(:project, parent: project) } + let!(:work_package) { create(:work_package, subject: 'WP SUB', project: child_project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, child_project], member_through_role: role) end diff --git a/modules/boards/spec/features/board_update_spec.rb b/modules/boards/spec/features/board_update_spec.rb index 85acea5441a..3dc6fcd6072 100644 --- a/modules/boards/spec/features/board_update_spec.rb +++ b/modules/boards/spec/features/board_update_spec.rb @@ -31,14 +31,14 @@ require_relative './support/board_index_page' require_relative './support/board_page' describe 'Work Package boards updating spec', type: :feature, js: true do - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } + let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } let(:board_index) { Pages::BoardIndex.new(project) } - let!(:board_view) { FactoryBot.create :board_grid_with_query, name: 'My board', project: project } + let!(:board_view) { create :board_grid_with_query, name: 'My board', project: project } before do with_enterprise_token :board_view diff --git a/modules/boards/spec/features/boards_sorting_spec.rb b/modules/boards/spec/features/boards_sorting_spec.rb index 694cae9bbce..bb7a8bd3f87 100644 --- a/modules/boards/spec/features/boards_sorting_spec.rb +++ b/modules/boards/spec/features/boards_sorting_spec.rb @@ -31,11 +31,11 @@ require_relative './support/board_index_page' require_relative './support/board_page' describe 'Work Package boards sorting spec', type: :feature, js: true do - let(:admin) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking board_view]) } + let(:admin) { create(:admin) } + let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } let(:board_index) { Pages::BoardIndex.new(project) } - let!(:status) { FactoryBot.create :default_status } - let(:version) { @version ||= FactoryBot.create(:version, project: project) } + let!(:status) { create :default_status } + let(:version) { @version ||= create(:version, project: project) } before do with_enterprise_token :board_view diff --git a/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb b/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb index f0d1e59b16a..b62c085c575 100644 --- a/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb +++ b/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb @@ -32,7 +32,7 @@ require_relative './../support/onboarding_steps' describe 'boards onboarding tour', js: true do let(:next_button) { find('.enjoyhint_next_btn') } let(:user) do - FactoryBot.create :admin, + create :admin, member_in_project: demo_project, member_through_role: role end @@ -46,28 +46,28 @@ describe 'boards onboarding tour', js: true do manage_public_queries ] end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:demo_project) do - FactoryBot.create :project, + create :project, name: 'Demo project', identifier: 'demo-project', public: true, enabled_module_names: %w[work_package_tracking wiki board_view] end let(:scrum_project) do - FactoryBot.create :project, + create :project, name: 'Scrum project', identifier: 'your-scrum-project', public: true, enabled_module_names: %w[work_package_tracking wiki board_view] end - let!(:wp_1) { FactoryBot.create(:work_package, project: demo_project) } - let!(:wp_2) { FactoryBot.create(:work_package, project: scrum_project) } + let!(:wp_1) { create(:work_package, project: demo_project) } + let!(:wp_2) { create(:work_package, project: scrum_project) } - let!(:demo_board_view) { FactoryBot.create :board_grid_with_query, project: demo_project, name: 'Kanban', query: query } - let!(:scrum_board_view) { FactoryBot.create :board_grid_with_query, project: scrum_project, name: 'Kanban', query: query } - let(:query) { FactoryBot.create :query, user: user, project: demo_project } + let!(:demo_board_view) { create :board_grid_with_query, project: demo_project, name: 'Kanban', query: query } + let!(:scrum_board_view) { create :board_grid_with_query, project: scrum_project, name: 'Kanban', query: query } + let(:query) { create :query, user: user, project: demo_project } before do with_enterprise_token :board_view diff --git a/modules/boards/spec/lib/open_project/boards/grid_registration_spec.rb b/modules/boards/spec/lib/open_project/boards/grid_registration_spec.rb index b9e291623ad..f7b9eb97646 100644 --- a/modules/boards/spec/lib/open_project/boards/grid_registration_spec.rb +++ b/modules/boards/spec/lib/open_project/boards/grid_registration_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' describe OpenProject::Boards::GridRegistration do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:permissions) { [:show_board_views] } - let(:board) { FactoryBot.create(:board_grid, project: project) } + let(:board) { create(:board_grid, project: project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/boards/spec/models/boards/grid_spec.rb b/modules/boards/spec/models/boards/grid_spec.rb index 2882bf6ae4b..24f7d322061 100644 --- a/modules/boards/spec/models/boards/grid_spec.rb +++ b/modules/boards/spec/models/boards/grid_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Boards::Grid, type: :model do let(:instance) { described_class.new } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } context 'attributes' do it '#project' do diff --git a/modules/boards/spec/queries/grids/query_integration_spec.rb b/modules/boards/spec/queries/grids/query_integration_spec.rb index 4d34f4bb73b..dd4c4c96062 100644 --- a/modules/boards/spec/queries/grids/query_integration_spec.rb +++ b/modules/boards/spec/queries/grids/query_integration_spec.rb @@ -31,21 +31,21 @@ require 'spec_helper' describe Grids::Query, type: :model do include OpenProject::StaticRouting::UrlHelpers - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:other_project) { FactoryBot.create(:project) } - shared_let(:show_board_views_role) { FactoryBot.create(:role, permissions: [:show_board_views]) } - shared_let(:other_role) { FactoryBot.create(:role, permissions: []) } + shared_let(:project) { create(:project) } + shared_let(:other_project) { create(:project) } + shared_let(:show_board_views_role) { create(:role, permissions: [:show_board_views]) } + shared_let(:other_role) { create(:role, permissions: []) } shared_let(:current_user) do - FactoryBot.create(:user).tap do |user| - FactoryBot.create(:member, user: user, project: project, roles: [show_board_views_role]) - FactoryBot.create(:member, user: user, project: other_project, roles: [other_role]) + create(:user).tap do |user| + create(:member, user: user, project: project, roles: [show_board_views_role]) + create(:member, user: user, project: other_project, roles: [other_role]) end end let!(:board_grid) do - FactoryBot.create(:board_grid, project: project) + create(:board_grid, project: project) end let!(:other_board_grid) do - FactoryBot.create(:board_grid, project: other_project) + create(:board_grid, project: other_project) end let(:instance) { described_class.new } diff --git a/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index 6f2d15af8c9..5272ca5e2f5 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -34,17 +34,17 @@ describe "POST /api/v3/grids/form for Board Grids", type: :request, content_type include API::V3::Utilities::PathHelper shared_let(:project) do - FactoryBot.create(:project) + create(:project) end let(:current_user) { allowed_user } shared_let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: [:manage_board_views]) + create(:user, member_in_project: project, member_with_permissions: [:manage_board_views]) end shared_let(:prohibited_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: [:show_board_views]) + create(:user, member_in_project: project, member_with_permissions: [:show_board_views]) end let(:path) { api_v3_paths.create_grid_form } diff --git a/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb index d1d5a8997a3..5919ccaf427 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -33,28 +33,28 @@ describe 'API v3 Grids resource for Board Grids', type: :request, content_type: include Rack::Test::Methods include API::V3::Utilities::PathHelper - shared_let(:manage_board_views_project) { FactoryBot.create(:project) } - shared_let(:show_board_views_project) { FactoryBot.create(:project) } - shared_let(:other_project) { FactoryBot.create(:project) } - shared_let(:show_board_views_role) { FactoryBot.create(:role, permissions: [:show_board_views]) } - shared_let(:manage_board_views_role) { FactoryBot.create(:role, permissions: [:manage_board_views]) } - shared_let(:other_role) { FactoryBot.create(:role, permissions: []) } + shared_let(:manage_board_views_project) { create(:project) } + shared_let(:show_board_views_project) { create(:project) } + shared_let(:other_project) { create(:project) } + shared_let(:show_board_views_role) { create(:role, permissions: [:show_board_views]) } + shared_let(:manage_board_views_role) { create(:role, permissions: [:manage_board_views]) } + shared_let(:other_role) { create(:role, permissions: []) } shared_let(:current_user) do - FactoryBot.create(:user).tap do |user| - FactoryBot.create(:member, user: user, project: manage_board_views_project, roles: [manage_board_views_role]) - FactoryBot.create(:member, user: user, project: show_board_views_project, roles: [show_board_views_role]) - FactoryBot.create(:member, user: user, project: other_project, roles: [other_role]) + create(:user).tap do |user| + create(:member, user: user, project: manage_board_views_project, roles: [manage_board_views_role]) + create(:member, user: user, project: show_board_views_project, roles: [show_board_views_role]) + create(:member, user: user, project: other_project, roles: [other_role]) end end let(:manage_board_views_grid) do - FactoryBot.create(:board_grid, project: manage_board_views_project) + create(:board_grid, project: manage_board_views_project) end let(:show_board_views_grid) do - FactoryBot.create(:board_grid, project: show_board_views_project) + create(:board_grid, project: show_board_views_project) end let(:other_board_grid) do - FactoryBot.create(:board_grid, project: other_project) + create(:board_grid, project: other_project) end before do @@ -97,7 +97,7 @@ describe 'API v3 Grids resource for Board Grids', type: :request, content_type: context 'with a filter on the scope attribute for all boards of a project' do # The user would be able to see both boards - shared_let(:other_role) { FactoryBot.create(:role, permissions: [:show_board_views]) } + shared_let(:other_role) { create(:role, permissions: [:show_board_views]) } let(:path) do filter = [{ 'scope' => diff --git a/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 02bfb20c6f5..bff2ed28794 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -34,17 +34,17 @@ describe "PATCH /api/v3/grids/:id/form for Board Grids", type: :request, content include API::V3::Utilities::PathHelper shared_let(:project) do - FactoryBot.create(:project) + create(:project) end shared_let(:allowed_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: [:manage_board_views]) + create(:user, member_in_project: project, member_with_permissions: [:manage_board_views]) end shared_let(:prohibited_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: [:show_board_views]) + create(:user, member_in_project: project, member_with_permissions: [:show_board_views]) end let(:grid) do - FactoryBot.create(:board_grid, project: project) + create(:board_grid, project: project) end let(:path) { api_v3_paths.grid_form(grid.id) } let(:params) { {} } diff --git a/modules/boards/spec/services/copy_service_integration_spec.rb b/modules/boards/spec/services/copy_service_integration_spec.rb index e04d5afc0e1..af92191e7d2 100644 --- a/modules/boards/spec/services/copy_service_integration_spec.rb +++ b/modules/boards/spec/services/copy_service_integration_spec.rb @@ -32,13 +32,13 @@ require 'spec_helper' describe Projects::CopyService, 'integration', type: :model do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: source, member_through_role: role) end - let!(:source) { FactoryBot.create :project, enabled_module_names: %w[boards work_package_tracking] } + let!(:source) { create :project, enabled_module_names: %w[boards work_package_tracking] } let(:query) { board_view.contained_queries.first } - let(:role) { FactoryBot.create :role, permissions: %i[copy_projects] } + let(:role) { create :role, permissions: %i[copy_projects] } let(:instance) do described_class.new(source: source, user: current_user) end @@ -56,13 +56,13 @@ describe Projects::CopyService, 'integration', type: :model do describe 'for a subproject board' do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [source, child_project], member_through_role: role) end - let!(:child_project) { FactoryBot.create :project, parent: source } + let!(:child_project) { create :project, parent: source } let!(:board_view) do - FactoryBot.create :board_grid_with_query, + create :board_grid_with_query, project: source, name: 'Subproject board', options: { "type" => "action", "attribute" => "subproject" } @@ -96,9 +96,9 @@ describe Projects::CopyService, 'integration', type: :model do end describe 'for ordered work packages' do - let!(:board_view) { FactoryBot.create :board_grid_with_query, project: source, name: 'My Board' } - let!(:wp_1) { FactoryBot.create(:work_package, project: source, subject: 'Second') } - let!(:wp_2) { FactoryBot.create(:work_package, project: source, subject: 'First') } + let!(:board_view) { create :board_grid_with_query, project: source, name: 'My Board' } + let!(:wp_1) { create(:work_package, project: source, subject: 'Second') } + let!(:wp_2) { create(:work_package, project: source, subject: 'First') } before do ::OrderedWorkPackage.create(query: query, work_package: wp_1, position: 1234) diff --git a/modules/budgets/spec/features/budgets/add_budget_spec.rb b/modules/budgets/spec/features/budgets/add_budget_spec.rb index b3fbf401558..f62e9c7e2ef 100644 --- a/modules/budgets/spec/features/budgets/add_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/add_budget_spec.rb @@ -29,8 +29,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') describe 'adding a new budget', type: :feature, js: true do - let(:project) { FactoryBot.create :project_with_types, members: project_members } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project_with_types, members: project_members } + let(:user) { create :admin } let(:project_members) { {} } before do @@ -49,11 +49,11 @@ describe 'adding a new budget', type: :feature, js: true do describe 'with multiple cost types' do let!(:cost_type_1) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end let!(:cost_type_2) do - FactoryBot.create :cost_type, name: 'Foobar', unit: 'bar', unit_plural: 'bars' + create :cost_type, name: 'Foobar', unit: 'bar', unit_plural: 'bars' end it 'can switch between them' do @@ -91,21 +91,21 @@ describe 'adding a new budget', type: :feature, js: true do context 'with cost items' do let(:cost_type) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end let(:new_budget_page) { Pages::NewBudget.new project.identifier } let(:budget_page) { Pages::EditBudget.new Budget.last } - let(:project_members) { { user => FactoryBot.create(:role) } } + let(:project_members) { { user => create(:role) } } before do - FactoryBot.create :cost_rate, cost_type: cost_type, rate: 50.0 - FactoryBot.create :default_hourly_rate, user: user, rate: 25.0 + create :cost_rate, cost_type: cost_type, rate: 50.0 + create :default_hourly_rate, user: user, rate: 25.0 end context 'with german locale' do - let(:user) { FactoryBot.create(:admin, language: :de) } + let(:user) { create(:admin, language: :de) } it 'creates the budget including the given cost items with german locale' do I18n.locale = :de diff --git a/modules/budgets/spec/features/budgets/attachment_upload_spec.rb b/modules/budgets/spec/features/budgets/attachment_upload_spec.rb index 3d73a113658..66ebc3cf0cb 100644 --- a/modules/budgets/spec/features/budgets/attachment_upload_spec.rb +++ b/modules/budgets/spec/features/budgets/attachment_upload_spec.rb @@ -33,12 +33,12 @@ require 'features/page_objects/notification' describe 'Upload attachment to budget', js: true do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_budgets edit_budgets] end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:attachments) { ::Components::Attachments.new } let(:image_fixture) { ::UploadedFile.load_from('spec/fixtures/files/image.png') } let(:editor) { ::Components::WysiwygEditor.new } diff --git a/modules/budgets/spec/features/budgets/copy_budget_spec.rb b/modules/budgets/spec/features/budgets/copy_budget_spec.rb index 04d0f18c30f..20bfef704ad 100644 --- a/modules/budgets/spec/features/budgets/copy_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/copy_budget_spec.rb @@ -29,35 +29,35 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') describe 'Copying a budget', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[budgets costs] } + let(:project) { create :project, enabled_module_names: %i[budgets costs] } let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i(view_budgets edit_budgets view_hourly_rates view_cost_rates) end - let(:original_author) { FactoryBot.create :user } + let(:original_author) { create :user } let(:budget_subject) { "A budget subject" } let(:budget_description) { "A budget description" } let!(:budget) do - FactoryBot.create :budget, + create :budget, subject: budget_subject, description: budget_description, author: original_author, project: project end let!(:cost_type) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end - let!(:cost_type_rate) { FactoryBot.create :cost_rate, cost_type: cost_type, rate: 50.0 } - let!(:default_hourly_rate) { FactoryBot.create :default_hourly_rate, user: original_author, rate: 25.0 } + let!(:cost_type_rate) { create :cost_rate, cost_type: cost_type, rate: 50.0 } + let!(:default_hourly_rate) { create :default_hourly_rate, user: original_author, rate: 25.0 } let!(:material_budget_item) do - FactoryBot.create :material_budget_item, + create :material_budget_item, units: 3, cost_type: cost_type, budget: budget end let!(:overwritten_material_budget_item) do - FactoryBot.create :material_budget_item, + create :material_budget_item, units: 10, cost_type: cost_type, budget: budget, @@ -65,7 +65,7 @@ describe 'Copying a budget', type: :feature, js: true do end let!(:labor_budget_item) do - FactoryBot.create :labor_budget_item, + create :labor_budget_item, hours: 5, user: original_author, budget: budget diff --git a/modules/budgets/spec/features/budgets/delete_budget_spec.rb b/modules/budgets/spec/features/budgets/delete_budget_spec.rb index a3c7659ce5d..577e377b0ff 100644 --- a/modules/budgets/spec/features/budgets/delete_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/delete_budget_spec.rb @@ -29,12 +29,12 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper.rb") describe 'Deleting a budget', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %i[budgets costs] } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project, enabled_module_names: %i[budgets costs] } + let(:user) { create :admin } let(:budget_subject) { "A budget subject" } let(:budget_description) { "A budget description" } let!(:budget) do - FactoryBot.create :budget, + create :budget, subject: budget_subject, description: budget_description, author: user, @@ -60,8 +60,8 @@ describe 'Deleting a budget', type: :feature, js: true do end context 'when WPs are assigned to this budget' do - let(:wp1) { FactoryBot.create :work_package, project: project, budget: budget } - let(:wp2) { FactoryBot.create :work_package, project: project, budget: budget } + let(:wp1) { create :work_package, project: project, budget: budget } + let(:wp2) { create :work_package, project: project, budget: budget } let(:budget_destroy_info_page) { Pages::DestroyInfo.new budget } before do @@ -100,7 +100,7 @@ describe 'Deleting a budget', type: :feature, js: true do context 'with another budget to assign to' do let(:budget2) do - FactoryBot.create :budget, + create :budget, subject: 'Another budget', description: budget_description, author: user, diff --git a/modules/budgets/spec/features/budgets/update_budget_spec.rb b/modules/budgets/spec/features/budgets/update_budget_spec.rb index a13f63b799f..76d1365dcf7 100644 --- a/modules/budgets/spec/features/budgets/update_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/update_budget_spec.rb @@ -30,12 +30,12 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') describe 'updating a budget', type: :feature, js: true do let(:project) do - FactoryBot.create :project_with_types, + create :project_with_types, enabled_module_names: %i[budgets costs], - members: { user => FactoryBot.create(:role) } + members: { user => create(:role) } end - let(:user) { FactoryBot.create :admin } - let(:budget) { FactoryBot.create :budget, author: user, project: project } + let(:user) { create :admin } + let(:budget) { create :budget, author: user, project: project } before do login_as(user) @@ -43,14 +43,14 @@ describe 'updating a budget', type: :feature, js: true do describe 'with new cost items' do let(:cost_type) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end let(:budget_page) { Pages::EditBudget.new budget.id } before do - FactoryBot.create :cost_rate, cost_type: cost_type, rate: 50.0 - FactoryBot.create :default_hourly_rate, user: user, rate: 25.0 + create :cost_rate, cost_type: cost_type, rate: 50.0 + create :default_hourly_rate, user: user, rate: 25.0 end it 'creates the cost items' do @@ -76,18 +76,18 @@ describe 'updating a budget', type: :feature, js: true do describe 'with existing cost items' do let(:cost_type) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end let(:material_budget_item) do - FactoryBot.create :material_budget_item, + create :material_budget_item, units: 3, cost_type: cost_type, budget: budget end let(:labor_budget_item) do - FactoryBot.create :labor_budget_item, + create :labor_budget_item, hours: 5, user: user, budget: budget @@ -96,8 +96,8 @@ describe 'updating a budget', type: :feature, js: true do let(:budget_page) { Pages::EditBudget.new budget.id } before do - FactoryBot.create :cost_rate, cost_type: cost_type, rate: 50.0 - FactoryBot.create :default_hourly_rate, user: user, rate: 25.0 + create :cost_rate, cost_type: cost_type, rate: 50.0 + create :default_hourly_rate, user: user, rate: 25.0 # trigger creation material_budget_item @@ -138,13 +138,13 @@ describe 'updating a budget', type: :feature, js: true do end context 'with german locale' do - let(:user) { FactoryBot.create :admin, language: :de } + let(:user) { create :admin, language: :de } let(:cost_type2) do - FactoryBot.create :cost_type, name: 'ABC', unit: 'abc', unit_plural: 'abcs' + create :cost_type, name: 'ABC', unit: 'abc', unit_plural: 'abcs' end let(:material_budget_item2) do - FactoryBot.create :material_budget_item, + create :material_budget_item, units: 3, cost_type: cost_type2, budget: budget, @@ -175,7 +175,7 @@ describe 'updating a budget', type: :feature, js: true do context 'with two material budget items' do let!(:material_budget_item_2) do - FactoryBot.create :material_budget_item, + create :material_budget_item, units: 5, cost_type: cost_type, budget: budget @@ -252,7 +252,7 @@ describe 'updating a budget', type: :feature, js: true do context 'with two labor budget items' do let!(:labor_budget_item_2) do - FactoryBot.create :labor_budget_item, + create :labor_budget_item, hours: 5, user: user, budget: budget diff --git a/modules/budgets/spec/features/costs_edit_fields_spec.rb b/modules/budgets/spec/features/costs_edit_fields_spec.rb index 01bf3ab5f64..3b5388554ce 100644 --- a/modules/budgets/spec/features/costs_edit_fields_spec.rb +++ b/modules/budgets/spec/features/costs_edit_fields_spec.rb @@ -29,12 +29,12 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'Work Package budget fields', type: :feature, js: true do - let(:type_task) { FactoryBot.create(:type_task) } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } - let!(:project) { FactoryBot.create(:project, types: [type_task]) } - let(:user) { FactoryBot.create :admin } - let!(:budget) { FactoryBot.create :budget, author: user, project: project } + let(:type_task) { create(:type_task) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } + let!(:project) { create(:project, types: [type_task]) } + let(:user) { create :admin } + let!(:budget) { create :budget, author: user, project: project } let(:create_page) { ::Pages::FullWorkPackageCreate.new(project: project) } let(:view_page) { ::Pages::FullWorkPackage.new(project: project) } diff --git a/modules/budgets/spec/features/work_package_filter_spec.rb b/modules/budgets/spec/features/work_package_filter_spec.rb index ea6ee4f2ced..e3b5588d19f 100644 --- a/modules/budgets/spec/features/work_package_filter_spec.rb +++ b/modules/budgets/spec/features/work_package_filter_spec.rb @@ -29,34 +29,34 @@ require 'spec_helper' describe 'Filter by budget', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let(:member) do - FactoryBot.create(:member, + create(:member, user: user, project: project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end let(:status) do - FactoryBot.create(:status) + create(:status) end let(:budget) do - FactoryBot.create(:budget, project: project) + create(:budget, project: project) end let(:work_package_with_budget) do - FactoryBot.create(:work_package, + create(:work_package, project: project, budget: budget) end let(:work_package_without_budget) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end diff --git a/modules/budgets/spec/helpers/budgets_helper_spec.rb b/modules/budgets/spec/helpers/budgets_helper_spec.rb index dfcf0eef358..75603eb78ad 100644 --- a/modules/budgets/spec/helpers/budgets_helper_spec.rb +++ b/modules/budgets/spec/helpers/budgets_helper_spec.rb @@ -29,8 +29,8 @@ require File.dirname(__FILE__) + '/../spec_helper' describe BudgetsHelper, type: :helper do - let(:project) { FactoryBot.build(:project) } - let(:budget) { FactoryBot.build(:budget, project: project) } + let(:project) { build(:project) } + let(:budget) { build(:budget, project: project) } describe '#budgets_to_csv' do describe 'WITH a list of one cost object' do diff --git a/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb b/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb index 4e46122933e..be4413df9f0 100644 --- a/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb +++ b/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe ::API::V3::Budgets::BudgetRepresenter do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build(:project, id: 999) } + let(:project) { build(:project, id: 999) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, created_at: 1.day.ago, updated_at: Date.today) end let(:budget) do - FactoryBot.create(:budget, + create(:budget, author: user, project: project, created_at: 1.day.ago, diff --git a/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb b/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb index 92103e5ff45..e67da5a6499 100644 --- a/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb +++ b/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::BudgetFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:filter) { Queries::WorkPackages::Filter::BudgetFilter.create!(context: project) } let(:form_embedded) { false } diff --git a/modules/budgets/spec/models/budget_spec.rb b/modules/budgets/spec/models/budget_spec.rb index ba74e45400c..b4dcb7c1200 100644 --- a/modules/budgets/spec/models/budget_spec.rb +++ b/modules/budgets/spec/models/budget_spec.rb @@ -29,13 +29,13 @@ require File.dirname(__FILE__) + '/../spec_helper' describe Budget, type: :model do - let(:budget) { FactoryBot.build(:budget, project: project) } - let(:type) { FactoryBot.create(:type_feature) } - let(:project) { FactoryBot.create(:project_with_types) } - let(:user) { FactoryBot.create(:user) } + let(:budget) { build(:budget, project: project) } + let(:type) { create(:type_feature) } + let(:project) { create(:project_with_types) } + let(:user) { create(:user) } describe 'destroy' do - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:work_package) { create(:work_package, project: project) } before do budget.author = user @@ -52,7 +52,7 @@ describe Budget, type: :model do describe '#existing_material_budget_item_attributes=' do let!(:existing_material_budget_item) do - FactoryBot.create(:material_budget_item, budget: budget, units: 10.0) + create(:material_budget_item, budget: budget, units: 10.0) budget.material_budget_items.reload.first end diff --git a/modules/budgets/spec/models/labor_budget_item_spec.rb b/modules/budgets/spec/models/labor_budget_item_spec.rb index f29badc1600..2e4eb7c3df1 100644 --- a/modules/budgets/spec/models/labor_budget_item_spec.rb +++ b/modules/budgets/spec/models/labor_budget_item_spec.rb @@ -29,24 +29,24 @@ require File.dirname(__FILE__) + '/../spec_helper' describe LaborBudgetItem, type: :model do - let(:item) { FactoryBot.build(:labor_budget_item, budget: budget, user: user) } - let(:budget) { FactoryBot.build(:budget, project: project) } - let(:user) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:item) { build(:labor_budget_item, budget: budget, user: user) } + let(:budget) { build(:budget, project: project) } + let(:user) { create(:user) } + let(:user2) { create(:user) } let(:rate) do - FactoryBot.create(:hourly_rate, user: user, + create(:hourly_rate, user: user, valid_from: Date.today - 4.days, rate: 400.0, project: project) end - let(:project) { FactoryBot.create(:valid_project) } - let(:project2) { FactoryBot.create(:valid_project) } + let(:project) { create(:valid_project) } + let(:project2) { create(:valid_project) } def is_member(project, user, permissions) - FactoryBot.create(:member, + create(:member, project: project, user: user, - roles: [FactoryBot.create(:role, permissions: permissions)]) + roles: [create(:role, permissions: permissions)]) end describe '#calculated_costs' do @@ -109,7 +109,7 @@ describe LaborBudgetItem, type: :model do end describe 'WHEN a group is provided' do - let(:group) { FactoryBot.create :group } + let(:group) { create :group } before do item.save! diff --git a/modules/budgets/spec/models/permitted_params_spec.rb b/modules/budgets/spec/models/permitted_params_spec.rb index 560e9032276..30ecdfe6513 100644 --- a/modules/budgets/spec/models/permitted_params_spec.rb +++ b/modules/budgets/spec/models/permitted_params_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe PermittedParams, type: :model do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } shared_examples_for 'allows params' do let(:params_key) { defined?(hash_key) ? hash_key : attribute } diff --git a/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb b/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb index 6b312e48ca1..faa112320c7 100644 --- a/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb +++ b/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb @@ -33,15 +33,15 @@ describe 'API v3 Budget resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, public: false) } + let(:project) { create(:project, public: false) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: [:view_budgets]) end subject(:response) { last_response } - let!(:budget) { FactoryBot.create(:budget, project: project) } + let!(:budget) { create(:budget, project: project) } describe 'budgets/:id' do let(:get_path) { api_v3_paths.budget budget.id } diff --git a/modules/calendar/spec/controllers/calendar_controller_spec.rb b/modules/calendar/spec/controllers/calendar_controller_spec.rb index ab5346ff01c..c68075cc4e6 100644 --- a/modules/calendar/spec/controllers/calendar_controller_spec.rb +++ b/modules/calendar/spec/controllers/calendar_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Calendar::CalendarController, type: :controller do let(:project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(Project) .to receive(:find) .with(p.id.to_s) @@ -39,7 +39,7 @@ describe Calendar::CalendarController, type: :controller do end let(:permissions) { [:view_calendar] } let(:user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:allowed_to?) do |permission, p, global:| permission[:controller] == 'calendar/calendar' && diff --git a/modules/calendar/spec/features/calendar_create_work_package_spec.rb b/modules/calendar/spec/features/calendar_create_work_package_spec.rb index 77892c4efae..a45ad4a3998 100644 --- a/modules/calendar/spec/features/calendar_create_work_package_spec.rb +++ b/modules/calendar/spec/features/calendar_create_work_package_spec.rb @@ -34,9 +34,9 @@ require_relative './shared_context' describe 'Calendar create new work package', type: :feature, js: true do include_context 'with calendar full access' - let(:type_task) { FactoryBot.create :type_task } - let!(:status) { FactoryBot.create :default_status } - let!(:priority) { FactoryBot.create :default_priority } + let(:type_task) { create :type_task } + let!(:status) { create :default_status } + let!(:priority) { create :default_priority } before do login_as current_user diff --git a/modules/calendar/spec/features/calendar_user_interaction_spec.rb b/modules/calendar/spec/features/calendar_user_interaction_spec.rb index 685ea3c36c5..cca18915786 100644 --- a/modules/calendar/spec/features/calendar_user_interaction_spec.rb +++ b/modules/calendar/spec/features/calendar_user_interaction_spec.rb @@ -35,7 +35,7 @@ describe 'Calendar drag&dop and resizing', type: :feature, js: true do include_context 'with calendar full access' let!(:other_user) do - FactoryBot.create :user, + create :user, firstname: 'Bernd', member_in_project: project, member_with_permissions: %w[ @@ -44,7 +44,7 @@ describe 'Calendar drag&dop and resizing', type: :feature, js: true do end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, start_date: Time.zone.today.beginning_of_week.next_occurring(:tuesday), due_date: Time.zone.today.beginning_of_week.next_occurring(:thursday) diff --git a/modules/calendar/spec/features/calendars_spec.rb b/modules/calendar/spec/features/calendars_spec.rb index 2c1366d49ae..6c749142985 100644 --- a/modules/calendar/spec/features/calendars_spec.rb +++ b/modules/calendar/spec/features/calendars_spec.rb @@ -31,35 +31,35 @@ require 'spec_helper' describe 'Work package calendars', type: :feature, js: true do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_work_packages view_calendar]) end let!(:current_work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Current work package', project: project, start_date: Date.today.at_beginning_of_month + 15.days, due_date: Date.today.at_beginning_of_month + 15.days) end let!(:another_current_work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Another current work package', project: project, start_date: Date.today.at_beginning_of_month + 12.days, due_date: Date.today.at_beginning_of_month + 18.days) end let!(:future_work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Future work package', project: project, start_date: Date.today.at_beginning_of_month.next_month + 15.days, due_date: Date.today.at_beginning_of_month.next_month + 15.days) end let!(:another_future_work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Another future work package', project: project, start_date: Date.today.at_beginning_of_month.next_month + 12.days, diff --git a/modules/calendar/spec/features/query_handling_spec.rb b/modules/calendar/spec/features/query_handling_spec.rb index 4d082bec1f9..1942e831593 100644 --- a/modules/calendar/spec/features/query_handling_spec.rb +++ b/modules/calendar/spec/features/query_handling_spec.rb @@ -33,16 +33,16 @@ require_relative '../support/pages/calendar' require_relative '../../../../spec/features/views/shared_examples' describe 'Calendar query handling', type: :feature, js: true do - shared_let(:type_task) { FactoryBot.create(:type_task) } - shared_let(:type_bug) { FactoryBot.create(:type_bug) } + shared_let(:type_task) { create(:type_task) } + shared_let(:type_bug) { create(:type_bug) } shared_let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %w[work_package_tracking calendar_view], types: [type_task, type_bug]) end shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %w[ view_work_packages @@ -54,7 +54,7 @@ describe 'Calendar query handling', type: :feature, js: true do end shared_let(:task) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type_task, assigned_to: user, @@ -63,7 +63,7 @@ describe 'Calendar query handling', type: :feature, js: true do subject: 'A task for the user' end shared_let(:bug) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type_bug, assigned_to: user, @@ -73,7 +73,7 @@ describe 'Calendar query handling', type: :feature, js: true do end shared_let(:saved_query) do - FactoryBot.create(:query_with_view_work_packages_calendar, + create(:query_with_view_work_packages_calendar, project: project, public: true) end diff --git a/modules/calendar/spec/features/shared_context.rb b/modules/calendar/spec/features/shared_context.rb index 5a8c5dd06ff..9316232188d 100644 --- a/modules/calendar/spec/features/shared_context.rb +++ b/modules/calendar/spec/features/shared_context.rb @@ -33,11 +33,11 @@ require_relative '../support/pages/calendar' shared_context 'with calendar full access' do shared_let(:project) do - FactoryBot.create(:project, enabled_module_names: %w[work_package_tracking calendar_view]) + create(:project, enabled_module_names: %w[work_package_tracking calendar_view]) end shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %w[ view_work_packages edit_work_packages add_work_packages diff --git a/modules/costs/spec/contracts/time_entries/create_contract_spec.rb b/modules/costs/spec/contracts/time_entries/create_contract_spec.rb index f91e89f9b25..f124b4790ab 100644 --- a/modules/costs/spec/contracts/time_entries/create_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/create_contract_spec.rb @@ -50,7 +50,7 @@ describe TimeEntries::CreateContract do end end let(:permissions) { %i(log_time) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:changed_by_system) do if time_entry_user { "user_id" => [nil, time_entry_user.id] } diff --git a/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb b/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb index 12879fb8182..c56bc33b3d6 100644 --- a/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb @@ -32,21 +32,21 @@ require 'spec_helper' describe TimeEntries::DeleteContract do let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && time_entry_project == permission_project end end end - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:time_entry_work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: time_entry_project) end - let(:time_entry_project) { FactoryBot.build_stubbed(:project) } + let(:time_entry_project) { build_stubbed(:project) } let(:time_entry_user) { current_user } - let(:time_entry_activity) { FactoryBot.build_stubbed(:time_entry_activity) } + let(:time_entry_activity) { build_stubbed(:time_entry_activity) } let(:time_entry_spent_on) { Date.today } let(:time_entry_hours) { 5 } let(:time_entry_comments) { "A comment" } @@ -54,7 +54,7 @@ describe TimeEntries::DeleteContract do let(:permissions) { %i[edit_time_entries] } let(:time_entry) do - FactoryBot.build_stubbed(:time_entry, + build_stubbed(:time_entry, project: time_entry_project, work_package: time_entry_work_package, user: time_entry_user, diff --git a/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb b/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb index 38515db3f15..67b7c8f3cff 100644 --- a/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb +++ b/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb @@ -32,22 +32,22 @@ require 'spec_helper' shared_examples_for 'time entry contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && time_entry_project == permission_project end end end - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:time_entry_work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: time_entry_project) end - let(:time_entry_project) { FactoryBot.build_stubbed(:project) } + let(:time_entry_project) { build_stubbed(:project) } let(:time_entry_user) { current_user } let(:time_entry_activity) do - FactoryBot.build_stubbed(:time_entry_activity) + build_stubbed(:time_entry_activity) end let(:time_entry_activity_active) { true } let(:time_entry_spent_on) { Date.today } @@ -119,7 +119,7 @@ shared_examples_for 'time entry contract' do it_behaves_like 'is valid' context 'when the work_package is within a different project than the provided project' do - let(:time_entry_work_package) { FactoryBot.build_stubbed(:work_package) } + let(:time_entry_work_package) { build_stubbed(:work_package) } it 'is invalid' do expect_valid(false, work_package_id: %i(invalid)) diff --git a/modules/costs/spec/contracts/time_entries/update_contract_spec.rb b/modules/costs/spec/contracts/time_entries/update_contract_spec.rb index e2e939a5cb7..df35da84426 100644 --- a/modules/costs/spec/contracts/time_entries/update_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/update_contract_spec.rb @@ -34,7 +34,7 @@ require_relative './shared_contract_examples' describe TimeEntries::UpdateContract do it_behaves_like 'time entry contract' do let(:time_entry) do - FactoryBot.build_stubbed(:time_entry, + build_stubbed(:time_entry, project: time_entry_project, work_package: time_entry_work_package, user: time_entry_user, @@ -56,7 +56,7 @@ describe TimeEntries::UpdateContract do context 'if project changed' do let(:new_project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(TimeEntryActivity) .to receive(:active_in_project) .with(p) diff --git a/modules/costs/spec/controllers/cost_types_controller_spec.rb b/modules/costs/spec/controllers/cost_types_controller_spec.rb index 6a088fedc71..a45076cd164 100644 --- a/modules/costs/spec/controllers/cost_types_controller_spec.rb +++ b/modules/costs/spec/controllers/cost_types_controller_spec.rb @@ -29,8 +29,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe CostTypesController, type: :controller do - let(:admin) { FactoryBot.create(:admin) } - let(:cost_type) { FactoryBot.create(:cost_type) } + let(:admin) { create(:admin) } + let(:cost_type) { create(:cost_type) } describe 'DELETE destroy' do it 'allows an admin to delete' do diff --git a/modules/costs/spec/controllers/costlog_controller_spec.rb b/modules/costs/spec/controllers/costlog_controller_spec.rb index e25cef13808..311b7f636e1 100644 --- a/modules/costs/spec/controllers/costlog_controller_spec.rb +++ b/modules/costs/spec/controllers/costlog_controller_spec.rb @@ -30,18 +30,18 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe CostlogController, type: :controller do include Cost::PluginSpecHelper - let (:project) { FactoryBot.create(:project_with_types) } + let (:project) { create(:project_with_types) } let (:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, author: user, type: project.types.first) end - let (:user) { FactoryBot.create(:user) } - let (:user2) { FactoryBot.create(:user) } - let (:controller) { FactoryBot.build(:role, permissions: %i[log_costs edit_cost_entries]) } - let (:cost_type) { FactoryBot.build(:cost_type) } + let (:user) { create(:user) } + let (:user2) { create(:user) } + let (:controller) { build(:role, permissions: %i[log_costs edit_cost_entries]) } + let (:cost_type) { build(:cost_type) } let (:cost_entry) do - FactoryBot.build(:cost_entry, work_package: work_package, + build(:cost_entry, work_package: work_package, project: project, spent_on: Date.today, overridden_costs: 400, @@ -49,12 +49,12 @@ describe CostlogController, type: :controller do user: user, comments: '') end - let(:work_package_status) { FactoryBot.create(:work_package_status, is_default: true) } + let(:work_package_status) { create(:work_package_status, is_default: true) } def grant_current_user_permissions(user, permissions) - member = FactoryBot.build(:member, project: project, + member = build(:member, project: project, principal: user) - member.roles << FactoryBot.build(:role, permissions: permissions) + member.roles << build(:role, permissions: permissions) member.principal = user member.save! user.reload # in order to refresh the member/membership associations @@ -193,7 +193,7 @@ describe CostlogController, type: :controller do before do grant_current_user_permissions user, [:edit_cost_entries] - cost_entry.user = FactoryBot.create(:user) + cost_entry.user = create(:user) cost_entry.save(validate: false) end @@ -213,7 +213,7 @@ describe CostlogController, type: :controller do before do grant_current_user_permissions user, [:edit_own_cost_entries] - cost_entry.user = FactoryBot.create(:user) + cost_entry.user = create(:user) cost_entry.save(validate: false) end @@ -233,8 +233,8 @@ describe CostlogController, type: :controller do before do grant_current_user_permissions user, [:edit_cost_entries] - cost_entry.project = FactoryBot.create(:project_with_types) - cost_entry.work_package = FactoryBot.create(:work_package, project: cost_entry.project, + cost_entry.project = create(:project_with_types) + cost_entry.work_package = create(:work_package, project: cost_entry.project, type: cost_entry.project.types.first, author: user) cost_entry.save! @@ -276,7 +276,7 @@ describe CostlogController, type: :controller do let(:expected_cost_type) { cost_type } let(:expected_units) { units } - let(:user2) { FactoryBot.create(:user) } + let(:user2) { create(:user) } let(:date) { '2012-04-03'.to_date } let(:overridden_costs) { 500.00 } let(:units) { 5.0 } @@ -362,7 +362,7 @@ describe CostlogController, type: :controller do let(:expected_cost_type) { nil } before do - FactoryBot.create(:cost_type, default: true) + create(:cost_type, default: true) grant_current_user_permissions user, [:log_costs] params['cost_entry']['cost_type_id'] = 1 @@ -377,7 +377,7 @@ describe CostlogController, type: :controller do let(:expected_cost_type) { nil } before do - FactoryBot.create(:cost_type, default: true) + create(:cost_type, default: true) grant_current_user_permissions user, [:log_costs] params['cost_entry'].delete('cost_type_id') @@ -437,9 +437,9 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to create cost_entries WHEN the id of an work_package not included in the provided project is provided" do - let(:project2) { FactoryBot.create(:project_with_types) } + let(:project2) { create(:project_with_types) } let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, type: project2.types.first, author: user) end @@ -549,14 +549,14 @@ describe CostlogController, type: :controller do overridden_costs spent_on" do let(:expected_work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, type: project.types.first, author: user) end - let(:expected_user) { FactoryBot.create(:user) } + let(:expected_user) { create(:user) } let(:expected_spent_on) { cost_entry.spent_on + 4.days } let(:expected_units) { cost_entry.units + 20 } - let(:expected_cost_type) { FactoryBot.create(:cost_type) } + let(:expected_cost_type) { create(:cost_type) } let(:expected_overridden_costs) { cost_entry.overridden_costs + 300 } before do @@ -599,7 +599,7 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to update cost_entries WHEN updating the user WHEN the new user isn't a member of the project" do - let(:user2) { FactoryBot.create(:user) } + let(:user2) { create(:user) } let(:expected_user) { user2 } before do @@ -614,9 +614,9 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to update cost_entries WHEN updating the work_package WHEN the new work_package isn't an work_package of the current project" do - let(:project2) { FactoryBot.create(:project_with_types) } + let(:project2) { create(:project_with_types) } let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, type: project2.types.first) end let(:expected_work_package) { work_package2 } @@ -647,7 +647,7 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to update cost_entries WHEN updating the cost_type WHEN the new cost_type is deleted" do - let(:expected_cost_type) { FactoryBot.create(:cost_type, deleted_at: Date.today) } + let(:expected_cost_type) { create(:cost_type, deleted_at: Date.today) } before do grant_current_user_permissions user, [:edit_cost_entries] @@ -675,7 +675,7 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to update own cost_entries and not all WHEN updating own cost entry WHEN updating the user" do - let(:user3) { FactoryBot.create(:user) } + let(:user3) { create(:user) } before do grant_current_user_permissions user, [:edit_own_cost_entries] @@ -689,7 +689,7 @@ describe CostlogController, type: :controller do describe "WHEN the user is allowed to update own cost_entries and not all WHEN updating foreign cost_entry WHEN updating something" do - let(:user3) { FactoryBot.create(:user) } + let(:user3) { create(:user) } before do grant_current_user_permissions user3, [:edit_own_cost_entries] diff --git a/modules/costs/spec/controllers/hourly_rates_controller_spec.rb b/modules/costs/spec/controllers/hourly_rates_controller_spec.rb index 8452635f193..759bc334720 100644 --- a/modules/costs/spec/controllers/hourly_rates_controller_spec.rb +++ b/modules/costs/spec/controllers/hourly_rates_controller_spec.rb @@ -29,10 +29,10 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe HourlyRatesController do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:user) { FactoryBot.create(:user) } - let(:default_rate) { FactoryBot.create(:default_hourly_rate, user: user) } + let(:user) { create(:user) } + let(:default_rate) { create(:default_hourly_rate, user: user) } describe 'PUT update' do describe 'WHEN trying to update with an invalid rate value' do diff --git a/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb b/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb index d5e7a27b2ce..12b000c06ee 100644 --- a/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb +++ b/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe WorkPackages::BulkController, type: :controller do - let(:project) { FactoryBot.create(:project_with_types) } - let(:controller_role) { FactoryBot.build(:role, permissions: %i[view_work_packages edit_work_packages]) } - let(:user) { FactoryBot.create :user, member_in_project: project, member_through_role: controller_role } - let(:budget) { FactoryBot.create :budget, project: project } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project_with_types) } + let(:controller_role) { build(:role, permissions: %i[view_work_packages edit_work_packages]) } + let(:user) { create :user, member_in_project: project, member_through_role: controller_role } + let(:budget) { create :budget, project: project } + let(:work_package) { create(:work_package, project: project) } before do allow(User).to receive(:current).and_return user diff --git a/modules/costs/spec/factories/cost_entry_factory.rb b/modules/costs/spec/factories/cost_entry_factory.rb index da9a2e12a95..cf69e21b3c4 100644 --- a/modules/costs/spec/factories/cost_entry_factory.rb +++ b/modules/costs/spec/factories/cost_entry_factory.rb @@ -44,7 +44,7 @@ FactoryBot.define do .new(user: User.system, contract_class: EmptyContract) .call(principal: ce.user, project: ce.project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end end end diff --git a/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb b/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb index 5502b6cc524..d9af04e0490 100644 --- a/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb +++ b/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb @@ -29,14 +29,14 @@ require_relative '../../spec_helper' describe 'Work Package cost fields', type: :feature, js: true do - shared_let(:type_task) { FactoryBot.create(:type_task) } - shared_let(:status) { FactoryBot.create(:status, is_default: true) } - shared_let(:priority) { FactoryBot.create(:priority, is_default: true) } + shared_let(:type_task) { create(:type_task) } + shared_let(:status) { create(:status, is_default: true) } + shared_let(:priority) { create(:priority, is_default: true) } shared_let(:project) do - FactoryBot.create(:project, types: [type_task]) + create(:project, types: [type_task]) end shared_let(:role) do - FactoryBot.create :role, permissions: %i[view_work_packages + create :role, permissions: %i[view_work_packages delete_work_packages log_costs view_cost_rates @@ -44,23 +44,23 @@ describe 'Work Package cost fields', type: :feature, js: true do view_cost_entries] end shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end shared_let(:cost_type1) do - type = FactoryBot.create :cost_type, name: 'A', unit: 'A single', unit_plural: 'A plural' - FactoryBot.create :cost_rate, cost_type: type, rate: 1.00 + type = create :cost_type, name: 'A', unit: 'A single', unit_plural: 'A plural' + create :cost_rate, cost_type: type, rate: 1.00 type end shared_let(:cost_type2) do - type = FactoryBot.create :cost_type, name: 'B', unit: 'B single', unit_plural: 'B plural' - FactoryBot.create :cost_rate, cost_type: type, rate: 2.00 + type = create :cost_type, name: 'B', unit: 'B single', unit_plural: 'B plural' + create :cost_rate, cost_type: type, rate: 2.00 type end - shared_let(:work_package) { FactoryBot.create :work_package, project: project, status: status, type: type_task } + shared_let(:work_package) { create :work_package, project: project, status: status, type: type_task } shared_let(:full_view) { ::Pages::FullWorkPackage.new(work_package, project) } before do @@ -165,7 +165,7 @@ describe 'Work Package cost fields', type: :feature, js: true do context 'with an additional placeholder user in the project' do let!(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, member_in_project: project, member_through_role: role end diff --git a/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb b/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb index 4f64ab2bc54..020f903b81a 100644 --- a/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb +++ b/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb @@ -29,30 +29,30 @@ require_relative '../../spec_helper' describe 'Create cost entry without rate permissions', type: :feature, js: true do - shared_let(:type_task) { FactoryBot.create(:type_task) } - shared_let(:status) { FactoryBot.create(:status, is_default: true) } - shared_let(:priority) { FactoryBot.create(:priority, is_default: true) } + shared_let(:type_task) { create(:type_task) } + shared_let(:status) { create(:status, is_default: true) } + shared_let(:priority) { create(:priority, is_default: true) } shared_let(:project) do - FactoryBot.create(:project, types: [type_task]) + create(:project, types: [type_task]) end shared_let(:role) do - FactoryBot.create :role, permissions: %i[view_work_packages + create :role, permissions: %i[view_work_packages log_costs view_cost_entries] end shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end shared_let(:cost_type) do - type = FactoryBot.create :cost_type, name: 'A', unit: 'A single', unit_plural: 'A plural' - FactoryBot.create :cost_rate, cost_type: type, rate: 1.00 + type = create :cost_type, name: 'A', unit: 'A single', unit_plural: 'A plural' + create :cost_rate, cost_type: type, rate: 1.00 type end - shared_let(:work_package) { FactoryBot.create :work_package, project: project, status: status, type: type_task } + shared_let(:work_package) { create :work_package, project: project, status: status, type: type_task } shared_let(:full_view) { ::Pages::FullWorkPackage.new(work_package, project) } before do diff --git a/modules/costs/spec/features/cost_types/create_cost_type_spec.rb b/modules/costs/spec/features/cost_types/create_cost_type_spec.rb index 5f4911d8d6c..1a040f6c5af 100644 --- a/modules/costs/spec/features/cost_types/create_cost_type_spec.rb +++ b/modules/costs/spec/features/cost_types/create_cost_type_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'creating a cost type', type: :feature, js: true do - let!(:user) { FactoryBot.create :admin } + let!(:user) { create :admin } let!(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, cost_type: type, rate: 1.00 + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 1.00 type end @@ -69,7 +69,7 @@ describe 'creating a cost type', type: :feature, js: true do end context 'with german locale' do - let(:user) { FactoryBot.create(:admin, language: :de) } + let(:user) { create(:admin, language: :de) } it 'creates the entry with german number separators' do visit "/cost_types/new" diff --git a/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb b/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb index 1f2503cb0ff..5678af0cef1 100644 --- a/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb +++ b/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'deleting a cost type', type: :feature, js: true do - let!(:user) { FactoryBot.create :admin } + let!(:user) { create :admin } let!(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, cost_type: type, rate: 1.00 + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 1.00 type end diff --git a/modules/costs/spec/features/costs_context_menu_spec.rb b/modules/costs/spec/features/costs_context_menu_spec.rb index fa02375b7d7..e4ea0501c1e 100644 --- a/modules/costs/spec/features/costs_context_menu_spec.rb +++ b/modules/costs/spec/features/costs_context_menu_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Work package table log unit costs', js: true do - let(:user) { FactoryBot.create(:admin) } - let(:work_package) { FactoryBot.create(:work_package) } + let(:user) { create(:admin) } + let(:work_package) { create(:work_package) } let(:wp_table) { ::Pages::WorkPackagesTable.new } let(:menu) { ::Components::WorkPackages::ContextMenu.new } diff --git a/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb b/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb index 897151ee3a8..1a36fa9ffde 100644 --- a/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb +++ b/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb @@ -31,32 +31,32 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'Deleting time entries', type: :feature, js: true do let(:project) { work_package.project } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages delete_work_packages edit_cost_entries view_cost_entries] end - let(:work_package) { FactoryBot.create :work_package } + let(:work_package) { create :work_package } let(:destroy_modal) { Components::WorkPackages::DestroyModal.new } let(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 7.00 type end let(:budget) do - FactoryBot.create(:budget, project: project) + create(:budget, project: project) end - let(:other_work_package) { FactoryBot.create :work_package, project: project, budget: budget } + let(:other_work_package) { create :work_package, project: project, budget: budget } let(:cost_entry) do - FactoryBot.create :cost_entry, + create :cost_entry, work_package: work_package, project: project, units: 2.00, diff --git a/modules/costs/spec/features/members_hourly_rates_spec.rb b/modules/costs/spec/features/members_hourly_rates_spec.rb index 1b81c80275e..0763a923283 100644 --- a/modules/costs/spec/features/members_hourly_rates_spec.rb +++ b/modules/costs/spec/features/members_hourly_rates_spec.rb @@ -29,9 +29,9 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'hourly rates on a member', type: :feature, js: true do - let(:project) { FactoryBot.build :project } + let(:project) { build :project } let(:user) do - FactoryBot.create :admin, + create :admin, member_in_project: project end let(:member) { Member.find_by(project: project, principal: user) } diff --git a/modules/costs/spec/features/time_entries_spec.rb b/modules/costs/spec/features/time_entries_spec.rb index 2ec68a4dbde..2428923d5ac 100644 --- a/modules/costs/spec/features/time_entries_spec.rb +++ b/modules/costs/spec/features/time_entries_spec.rb @@ -29,15 +29,15 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'Work Package table cost entries', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } - let(:parent) { FactoryBot.create :work_package, project: project } - let(:work_package) { FactoryBot.create :work_package, project: project, parent: parent } - let(:hourly_rate) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00 } + let(:parent) { create :work_package, project: project } + let(:work_package) { create :work_package, project: project, parent: parent } + let(:hourly_rate) { create :default_hourly_rate, user: user, rate: 1.00 } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: parent, project: project, @@ -45,7 +45,7 @@ describe 'Work Package table cost entries', type: :feature, js: true do end let!(:time_entry2) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, @@ -54,7 +54,7 @@ describe 'Work Package table cost entries', type: :feature, js: true do let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(id subject spent_hours) query.save! diff --git a/modules/costs/spec/features/time_entry/activity_spec.rb b/modules/costs/spec/features/time_entry/activity_spec.rb index addb7b76b50..b33bc2a349a 100644 --- a/modules/costs/spec/features/time_entry/activity_spec.rb +++ b/modules/costs/spec/features/time_entry/activity_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Time entry activity', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + shared_let(:admin) { create :admin } + let(:project) { create(:project) } before do login_as(admin) diff --git a/modules/costs/spec/features/users_hourly_rates_spec.rb b/modules/costs/spec/features/users_hourly_rates_spec.rb index 9eb91b75bef..ef15f5f6e3e 100644 --- a/modules/costs/spec/features/users_hourly_rates_spec.rb +++ b/modules/costs/spec/features/users_hourly_rates_spec.rb @@ -29,7 +29,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'hourly rates on user edit', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } def view_rates visit edit_user_path(user, tab: 'rates') @@ -50,7 +50,7 @@ describe 'hourly rates on user edit', type: :feature, js: true do end context 'with rates' do - let!(:rate) { FactoryBot.create(:default_hourly_rate, user: user) } + let!(:rate) { create(:default_hourly_rate, user: user) } before do view_rates diff --git a/modules/costs/spec/features/view_own_rates_spec.rb b/modules/costs/spec/features/view_own_rates_spec.rb index 5cc461f6ae3..1cbf2cf8f75 100644 --- a/modules/costs/spec/features/view_own_rates_spec.rb +++ b/modules/costs/spec/features/view_own_rates_spec.rb @@ -31,12 +31,12 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') describe 'Only see your own rates', type: :feature, js: true do let(:project) { work_package.project } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:role) do - FactoryBot.create :role, permissions: %i[view_own_hourly_rate + create :role, permissions: %i[view_own_hourly_rate view_work_packages view_work_packages view_own_time_entries @@ -44,49 +44,49 @@ describe 'Only see your own rates', type: :feature, js: true do view_cost_rates log_costs] end - let(:work_package) { FactoryBot.create :work_package } + let(:work_package) { create :work_package } let(:wp_page) { ::Pages::FullWorkPackage.new(work_package) } let(:hourly_rate) do - FactoryBot.create :default_hourly_rate, user: user, + create :default_hourly_rate, user: user, rate: 10.00 end let(:time_entry) do - FactoryBot.create :time_entry, user: user, + create :time_entry, user: user, work_package: work_package, project: project, hours: 1.00 end let(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, cost_type: type, + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 7.00 type end let(:cost_entry) do - FactoryBot.create :cost_entry, work_package: work_package, + create :cost_entry, work_package: work_package, project: project, units: 2.00, cost_type: cost_type, user: user end - let(:other_role) { FactoryBot.create :role, permissions: [] } + let(:other_role) { create :role, permissions: [] } let(:other_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: other_role end let(:other_hourly_rate) do - FactoryBot.create :default_hourly_rate, user: other_user, + create :default_hourly_rate, user: other_user, rate: 11.00 end let(:other_time_entry) do - FactoryBot.create :time_entry, user: other_user, + create :time_entry, user: other_user, hours: 3.00, project: project, work_package: work_package end let(:other_cost_entry) do - FactoryBot.create :cost_entry, work_package: work_package, + create :cost_entry, work_package: work_package, project: project, units: 5.00, user: other_user, diff --git a/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb index 67dd857f07b..3bd2ff57856 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::CostEntries::AggregatedCostEntryRepresenter do include API::V3::Utilities::PathHelper - let(:cost_entry) { FactoryBot.build_stubbed(:cost_entry) } + let(:cost_entry) { build_stubbed(:cost_entry) } let(:representer) { described_class.new(cost_entry.cost_type, cost_entry.units) } subject { representer.to_json } diff --git a/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb index c9be940cafa..25375f9b35c 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::CostEntries::CostEntryRepresenter do include API::V3::Utilities::PathHelper - let(:cost_entry) { FactoryBot.build_stubbed(:cost_entry) } + let(:cost_entry) { build_stubbed(:cost_entry) } let(:representer) { described_class.new(cost_entry, current_user: double('current_user')) } subject { representer.to_json } diff --git a/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb index 9ba63cff23b..df5d6985ca1 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe ::API::V3::CostEntries::WorkPackageCostsByTypeRepresenter do include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:cost_type_A) { FactoryBot.create(:cost_type) } - let(:cost_type_B) { FactoryBot.create(:cost_type) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } + let(:cost_type_A) { create(:cost_type) } + let(:cost_type_B) { create(:cost_type) } let(:cost_entries_A) do - FactoryBot.create_list(:cost_entry, + create_list(:cost_entry, 2, units: 1, work_package: work_package, @@ -44,7 +44,7 @@ describe ::API::V3::CostEntries::WorkPackageCostsByTypeRepresenter do cost_type: cost_type_A) end let(:cost_entries_B) do - FactoryBot.create_list(:cost_entry, + create_list(:cost_entry, 3, units: 2, work_package: work_package, @@ -52,9 +52,9 @@ describe ::API::V3::CostEntries::WorkPackageCostsByTypeRepresenter do cost_type: cost_type_B) end let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.build(:role, permissions: [:view_cost_entries]) } + let(:role) { build(:role, permissions: [:view_cost_entries]) } let(:representer) { described_class.new(work_package, current_user: current_user) } diff --git a/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb index 672ece47f67..b224d316eca 100644 --- a/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::CostTypes::CostTypeRepresenter do include API::V3::Utilities::PathHelper - let(:cost_type) { FactoryBot.build_stubbed(:cost_type) } + let(:cost_type) { build_stubbed(:cost_type) } let(:representer) { described_class.new(cost_type, current_user: double('current_user')) } subject { representer.to_json } diff --git a/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb b/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb index 8d3e4ec7354..d4e49e65832 100644 --- a/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb +++ b/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb @@ -39,9 +39,9 @@ describe API::V3::CostsApiUserPermissionCheck do include API::V3::CostsApiUserPermissionCheck end - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:work_package) { FactoryBot.build_stubbed(:work_package, project: project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:work_package) { build_stubbed(:work_package, project: project) } before do allow(subject) diff --git a/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb index 224e6305c07..842331d44b4 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe ::API::V3::TimeEntries::Schemas::TimeEntrySchemaRepresenter do include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:self_link) { '/a/self/link' } let(:embedded) { true } let(:new_record) { true } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:assigned_project) { nil } - let(:activity) { FactoryBot.build_stubbed(:time_entry_activity) } + let(:activity) { build_stubbed(:time_entry_activity) } let(:contract) do contract = double('contract', @@ -240,7 +240,7 @@ describe ::API::V3::TimeEntries::Schemas::TimeEntrySchemaRepresenter do end context 'custom value' do - let(:custom_field) { FactoryBot.build_stubbed(:time_entry_custom_field) } + let(:custom_field) { build_stubbed(:time_entry_custom_field) } before do allow(contract) diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb index 456807bfc61..3304ed59bea 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb @@ -32,9 +32,9 @@ describe ::API::V3::TimeEntries::TimeEntriesActivityRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:activity) do - FactoryBot.build_stubbed(:time_entry_activity) + build_stubbed(:time_entry_activity) end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.new(activity, current_user: user, embed_links: true) end @@ -50,8 +50,8 @@ describe ::API::V3::TimeEntries::TimeEntriesActivityRepresenter, 'rendering' do # returns the projects where it (and it's children) is active it_behaves_like 'has a link collection' do - let(:project1) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(::Project) diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb index fe8625c2104..59552bb1358 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb @@ -32,7 +32,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'parsing' do include ::API::V3::Utilities::PathHelper let(:time_entry) do - FactoryBot.build_stubbed(:time_entry, + build_stubbed(:time_entry, comments: 'blubs', spent_on: Date.today - 3.days, created_at: DateTime.now - 6.hours, @@ -41,22 +41,22 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'parsing' do project: project, user: user) end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } let(:work_package) { time_entry.work_package } - let(:work_package2) { FactoryBot.build_stubbed(:work_package) } - let(:activity) { FactoryBot.build_stubbed(:time_entry_activity) } - let(:activity2) { FactoryBot.build_stubbed(:time_entry_activity) } - let(:user) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:work_package2) { build_stubbed(:work_package) } + let(:activity) { build_stubbed(:time_entry_activity) } + let(:activity2) { build_stubbed(:time_entry_activity) } + let(:user) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } let(:representer) do described_class.create(time_entry, current_user: user, embed_links: true) end let(:user_custom_field) do - FactoryBot.build_stubbed(:time_entry_custom_field, field_format: 'user') + build_stubbed(:time_entry_custom_field, field_format: 'user') end let(:test_custom_field) do - FactoryBot.build_stubbed(:time_entry_custom_field, field_format: 'text') + build_stubbed(:time_entry_custom_field, field_format: 'text') end let(:hash) do diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb index 7eec9972562..44a05207146 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb @@ -32,7 +32,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:time_entry) do - FactoryBot.build_stubbed(:time_entry, + build_stubbed(:time_entry, comments: 'blubs', spent_on: Date.today, created_at: DateTime.now - 6.hours, @@ -42,10 +42,10 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do project: project, user: user) end - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:work_package) { time_entry.work_package } - let(:activity) { FactoryBot.build_stubbed(:time_entry_activity) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:activity) { build_stubbed(:time_entry_activity) } + let(:user) { build_stubbed(:user) } let(:current_user) { user } let(:hours) { 5 } let(:permissions) do @@ -106,7 +106,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do context 'custom value' do let(:custom_field) do - FactoryBot.build_stubbed(:time_entry_custom_field, field_format: 'user') + build_stubbed(:time_entry_custom_field, field_format: 'user') end let(:custom_value) do double('CustomValue', @@ -116,7 +116,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do typed_value: user) end let(:user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end before do @@ -194,7 +194,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do context 'when allowed to edit own and it is not own' do let(:permissions) { [:edit_own_time_entries] } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'has no link' do let(:link) { 'updateImmediately' } @@ -220,7 +220,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do end context 'with an empty comment' do - let(:time_entry) { FactoryBot.build_stubbed(:time_entry) } + let(:time_entry) { build_stubbed(:time_entry) } it_behaves_like 'formattable property', :comment do let(:value) { time_entry.comments } end @@ -253,7 +253,7 @@ describe ::API::V3::TimeEntries::TimeEntryRepresenter, 'rendering' do end context 'custom value' do - let(:custom_field) { FactoryBot.build_stubbed(:time_entry_custom_field) } + let(:custom_field) { build_stubbed(:time_entry_custom_field) } let(:custom_value) do CustomValue.new(custom_field: custom_field, value: '1234', diff --git a/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb b/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb index 3d2cdc24f71..fed8ca3c20c 100644 --- a/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb @@ -31,21 +31,21 @@ require 'spec_helper' describe ::API::V3::WorkPackages::WorkPackageRepresenter do include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, permissions: %i[view_time_entries + create(:role, permissions: %i[view_time_entries view_cost_entries view_cost_rates view_work_packages]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:cost_entry_1) do - FactoryBot.create(:cost_entry, + create(:cost_entry, work_package: work_package, project: project, units: 3, @@ -54,7 +54,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do comments: 'Entry 1') end let(:cost_entry_2) do - FactoryBot.create(:cost_entry, + create(:cost_entry, work_package: work_package, project: project, units: 3, @@ -64,7 +64,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id) end let(:representer) do @@ -105,7 +105,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'spentTime' do context 'time entry with single hour' do let(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: work_package.project, work_package: work_package, hours: 1.0) @@ -118,7 +118,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do context 'time entry with multiple hours' do let(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: work_package.project, work_package: work_package, hours: 42.5) @@ -139,18 +139,18 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do context 'only view_own_time_entries permission' do let(:own_time_entries_role) do - FactoryBot.create(:role, permissions: %i[view_own_time_entries + create(:role, permissions: %i[view_own_time_entries view_work_packages]) end let(:user2) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: own_time_entries_role) end let!(:own_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: work_package.project, work_package: work_package, hours: 2, @@ -158,7 +158,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end let!(:other_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: work_package.project, work_package: work_package, hours: 1, diff --git a/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb b/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb index ff54732aa77..d29b576c0f1 100644 --- a/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do - let(:custom_field) { FactoryBot.build(:custom_field) } - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:custom_field) { build(:custom_field) } + let(:work_package) { build_stubbed(:stubbed_work_package) } let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) .and_return(false) diff --git a/modules/costs/spec/lib/costs/query_currency_column_spec.rb b/modules/costs/spec/lib/costs/query_currency_column_spec.rb index 2ede7f4150d..7fcc85bc859 100644 --- a/modules/costs/spec/lib/costs/query_currency_column_spec.rb +++ b/modules/costs/spec/lib/costs/query_currency_column_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Costs::QueryCurrencyColumn, type: :model do let(:project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(p) .to receive(:costs_enabled?) .and_return(costs_enabled) diff --git a/modules/costs/spec/models/cost_entry_spec.rb b/modules/costs/spec/models/cost_entry_spec.rb index 29f226610cb..1bb52a282b7 100644 --- a/modules/costs/spec/models/cost_entry_spec.rb +++ b/modules/costs/spec/models/cost_entry_spec.rb @@ -31,24 +31,24 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe CostEntry, type: :model do include Cost::PluginSpecHelper - let(:project) { FactoryBot.create(:project_with_types) } - let(:project2) { FactoryBot.create(:project_with_types) } + let(:project) { create(:project_with_types) } + let(:project2) { create(:project_with_types) } let(:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, type: project.types.first, author: user) end let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, type: project2.types.first, author: user) end - let(:user) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:user) { create(:user) } + let(:user2) { create(:user) } let(:klass) { CostEntry } let(:cost_entry) do member - FactoryBot.build(:cost_entry, cost_type: cost_type, + build(:cost_entry, cost_type: cost_type, project: project, work_package: work_package, spent_on: date, @@ -58,7 +58,7 @@ describe CostEntry, type: :model do end let(:cost_entry2) do - FactoryBot.build(:cost_entry, cost_type: cost_type, + build(:cost_entry, cost_type: cost_type, project: project, work_package: work_package, spent_on: date, @@ -68,7 +68,7 @@ describe CostEntry, type: :model do end let(:cost_type) do - cost_type = FactoryBot.create(:cost_type) + cost_type = create(:cost_type) [first_rate, second_rate, third_rate].each do |rate| rate.cost_type = cost_type rate.save! @@ -77,23 +77,23 @@ describe CostEntry, type: :model do cost_type end let(:first_rate) do - FactoryBot.build(:cost_rate, valid_from: date - 6.days, + build(:cost_rate, valid_from: date - 6.days, rate: 10.0) end let(:second_rate) do - FactoryBot.build(:cost_rate, valid_from: date - 4.days, + build(:cost_rate, valid_from: date - 4.days, rate: 100.0) end let(:third_rate) do - FactoryBot.build(:cost_rate, valid_from: date - 2.days, + build(:cost_rate, valid_from: date - 2.days, rate: 1000.0) end let(:member) do - FactoryBot.create(:member, project: project, + create(:member, project: project, roles: [role], principal: user) end - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } let(:units) { 5.0 } let(:date) { Date.today } @@ -152,7 +152,7 @@ describe CostEntry, type: :model do describe 'instance' do describe '#costs' do let(:fourth_rate) do - FactoryBot.build(:cost_rate, valid_from: date - 1.days, + build(:cost_rate, valid_from: date - 1.days, rate: 10000.0, cost_type: cost_type) end diff --git a/modules/costs/spec/models/default_hourly_rate_spec.rb b/modules/costs/spec/models/default_hourly_rate_spec.rb index 94c05616ed2..e1211fcd965 100644 --- a/modules/costs/spec/models/default_hourly_rate_spec.rb +++ b/modules/costs/spec/models/default_hourly_rate_spec.rb @@ -29,10 +29,10 @@ require File.dirname(__FILE__) + '/../spec_helper' describe DefaultHourlyRate, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:user) { FactoryBot.create(:user) } + let(:project) { create(:project) } + let(:user) { create(:user) } let(:rate) do - FactoryBot.build(:default_hourly_rate, project: project, + build(:default_hourly_rate, project: project, user: user) end diff --git a/modules/costs/spec/models/hourly_rate_spec.rb b/modules/costs/spec/models/hourly_rate_spec.rb index 612c70ebcd1..45bae25700f 100644 --- a/modules/costs/spec/models/hourly_rate_spec.rb +++ b/modules/costs/spec/models/hourly_rate_spec.rb @@ -29,10 +29,10 @@ require File.dirname(__FILE__) + '/../spec_helper' describe HourlyRate, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:user) { FactoryBot.create(:user) } + let(:project) { create(:project) } + let(:user) { create(:user) } let(:rate) do - FactoryBot.build(:hourly_rate, project: project, + build(:hourly_rate, project: project, user: user) end diff --git a/modules/costs/spec/models/permitted_params_spec.rb b/modules/costs/spec/models/permitted_params_spec.rb index a153d7ecde2..f8d03228a24 100644 --- a/modules/costs/spec/models/permitted_params_spec.rb +++ b/modules/costs/spec/models/permitted_params_spec.rb @@ -29,7 +29,7 @@ require File.expand_path('../spec_helper', __dir__) describe PermittedParams, type: :model do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } shared_examples_for 'allows params' do let(:params_key) { defined?(hash_key) ? hash_key : attribute } diff --git a/modules/costs/spec/models/project/activity_spec.rb b/modules/costs/spec/models/project/activity_spec.rb index 0b0783db0d8..fd54a846f37 100644 --- a/modules/costs/spec/models/project/activity_spec.rb +++ b/modules/costs/spec/models/project/activity_spec.rb @@ -30,23 +30,23 @@ require 'spec_helper' describe Projects::Activity, type: :model do let(:project) do - FactoryBot.create(:project) + create(:project) end let(:initial_time) { Time.now } let(:budget) do - FactoryBot.create(:budget, + create(:budget, project: project) end let(:budget2) do - FactoryBot.create(:budget, + create(:budget, project: project) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end diff --git a/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb b/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb index e3321962762..d87af0efd46 100644 --- a/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb +++ b/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Projects::Scopes::ActivatedTimeActivity, type: :model do - let!(:activity) { FactoryBot.create(:time_entry_activity) } - let!(:project) { FactoryBot.create(:project) } - let!(:other_project) { FactoryBot.create(:project) } + let!(:activity) { create(:time_entry_activity) } + let!(:project) { create(:project) } + let!(:other_project) { create(:project) } describe '.activated_time_activity' do subject { Project.activated_time_activity(activity) } diff --git a/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb b/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb index fec8fed88cb..d5f5b73064b 100644 --- a/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb +++ b/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb @@ -31,22 +31,22 @@ require 'spec_helper' describe Projects::Scopes::VisibleWithActivatedTimeActivity, type: :model do - let!(:activity) { FactoryBot.create(:time_entry_activity) } - let!(:project) { FactoryBot.create(:project) } - let!(:other_project) { FactoryBot.create(:project) } + let!(:activity) { create(:time_entry_activity) } + let!(:project) { create(:project) } + let!(:other_project) { create(:project) } let(:project_permissions) { [:view_time_entries] } let(:other_project_permissions) { [:view_time_entries] } let(:current_user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, + create(:user).tap do |u| + create(:member, project: project, principal: u, - roles: [FactoryBot.create(:role, permissions: project_permissions)]) + roles: [create(:role, permissions: project_permissions)]) - FactoryBot.create(:member, + create(:member, project: other_project, principal: u, - roles: [FactoryBot.create(:role, permissions: other_project_permissions)]) + roles: [create(:role, permissions: other_project_permissions)]) end end diff --git a/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb index f22fdd9a9b6..a98727e63e4 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::TimeEntries::Filters::ActivityFilter, type: :model do - let(:time_entry_activity1) { FactoryBot.build_stubbed(:time_entry_activity) } - let(:time_entry_activity2) { FactoryBot.build_stubbed(:time_entry_activity) } + let(:time_entry_activity1) { build_stubbed(:time_entry_activity) } + let(:time_entry_activity2) { build_stubbed(:time_entry_activity) } let(:activities) { [time_entry_activity1, time_entry_activity2] } let(:plucked_allowed_values) do activities.map { |x| [x.name, x.id] } diff --git a/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb index f0372ed59c1..a606b8e412b 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::TimeEntries::Filters::ProjectFilter, type: :model do - let(:project1) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(Project) diff --git a/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb index 5e960547d90..a674580bdfd 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::TimeEntries::Filters::UserFilter, type: :model do - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } before do allow(Principal) diff --git a/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb index acafcb897ee..6b5d0c699c1 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::TimeEntries::Filters::WorkPackageFilter, type: :model do - let(:work_package1) { FactoryBot.build_stubbed(:work_package) } - let(:work_package2) { FactoryBot.build_stubbed(:work_package) } + let(:work_package1) { build_stubbed(:work_package) } + let(:work_package2) { build_stubbed(:work_package) } before do allow(WorkPackage) diff --git a/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb b/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb index defecaf8525..0f52ad26bbf 100644 --- a/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::TimeEntries::TimeEntryQuery, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:base_scope) { TimeEntry.visible(user).order(id: :desc) } let(:instance) { described_class.new } diff --git a/modules/costs/spec/models/rate_spec.rb b/modules/costs/spec/models/rate_spec.rb index b72d81f79ce..ce743ffe009 100644 --- a/modules/costs/spec/models/rate_spec.rb +++ b/modules/costs/spec/models/rate_spec.rb @@ -29,7 +29,7 @@ require File.dirname(__FILE__) + '/../spec_helper' describe Rate, type: :model do - let(:rate) { FactoryBot.build(:rate) } + let(:rate) { build(:rate) } describe '#valid?' do describe 'WHEN no rate is supplied' do diff --git a/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb b/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb index cd8e908d499..66135ffc136 100644 --- a/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb +++ b/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb @@ -31,25 +31,25 @@ require 'spec_helper' describe TimeEntries::Scopes::OfUserAndDay, type: :model do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:spent_on) { Date.today } let!(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, user: user, spent_on: spent_on) end let!(:other_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, user: user, spent_on: spent_on) end let!(:other_user_time_entry) do - FactoryBot.create(:time_entry, - user: FactoryBot.create(:user), + create(:time_entry, + user: create(:user), spent_on: spent_on) end let!(:other_date_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, user: user, spent_on: spent_on - 3.days) end diff --git a/modules/costs/spec/models/time_entries/scopes/visible_spec.rb b/modules/costs/spec/models/time_entries/scopes/visible_spec.rb index 356f811bda0..69fb09c9d82 100644 --- a/modules/costs/spec/models/time_entries/scopes/visible_spec.rb +++ b/modules/costs/spec/models/time_entries/scopes/visible_spec.rb @@ -31,39 +31,39 @@ require 'spec_helper' describe TimeEntries::Scopes::Visible, type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:permissions) { [:view_time_entries] } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: user2) end let(:user2) do - FactoryBot.create(:user) + create(:user) end let!(:own_project_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, hours: 2, user: user) end let!(:project_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, hours: 2, user: user2) end let!(:own_other_project_time_entry) do - FactoryBot.create(:time_entry, - project: FactoryBot.create(:project), + create(:time_entry, + project: create(:project), user: user) end diff --git a/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb b/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb index 8063b2a314a..011421e0260 100644 --- a/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb +++ b/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe TimeEntryActivities::Scopes::ActiveInProject, type: :model do - let!(:activity) { FactoryBot.create(:time_entry_activity) } - let!(:other_activity) { FactoryBot.create(:time_entry_activity) } - let(:project) { FactoryBot.create(:project) } - let(:other_project) { FactoryBot.create(:project) } + let!(:activity) { create(:time_entry_activity) } + let!(:other_activity) { create(:time_entry_activity) } + let(:project) { create(:project) } + let(:other_project) { create(:project) } describe '.active_in_project' do subject { TimeEntryActivity.active_in_project(project) } diff --git a/modules/costs/spec/models/time_entry_activity_spec.rb b/modules/costs/spec/models/time_entry_activity_spec.rb index 49be71957d7..f8f3c41f616 100644 --- a/modules/costs/spec/models/time_entry_activity_spec.rb +++ b/modules/costs/spec/models/time_entry_activity_spec.rb @@ -41,7 +41,7 @@ describe TimeEntryActivity, type: :model do describe '#objects_count' do it 'represents the count of time entries of that activity' do - expect { FactoryBot.create(:time_entry, activity: saved_activity) } + expect { create(:time_entry, activity: saved_activity) } .to change(saved_activity, :objects_count) .from(0) .to(1) diff --git a/modules/costs/spec/models/time_entry_spec.rb b/modules/costs/spec/models/time_entry_spec.rb index 51371b3abc3..2d53e04fa7a 100644 --- a/modules/costs/spec/models/time_entry_spec.rb +++ b/modules/costs/spec/models/time_entry_spec.rb @@ -31,31 +31,31 @@ require 'spec_helper' describe TimeEntry, type: :model do - let(:project) { FactoryBot.create(:project_with_types, public: false) } - let(:project2) { FactoryBot.create(:project_with_types, public: false) } + let(:project) { create(:project_with_types, public: false) } + let(:project2) { create(:project_with_types, public: false) } let(:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, type: project.types.first, author: user) end let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, type: project2.types.first, author: user2) end - let(:user) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:user) { create(:user) } + let(:user2) { create(:user) } let(:date) { Date.today } - let(:rate) { FactoryBot.build(:cost_rate) } - let!(:hourly_one) { FactoryBot.create(:hourly_rate, valid_from: 2.days.ago, project: project, user: user) } - let!(:hourly_three) { FactoryBot.create(:hourly_rate, valid_from: 4.days.ago, project: project, user: user) } - let!(:hourly_five) { FactoryBot.create(:hourly_rate, valid_from: 6.days.ago, project: project, user: user) } - let!(:default_hourly_one) { FactoryBot.create(:default_hourly_rate, valid_from: 2.days.ago, project: project, user: user2) } - let!(:default_hourly_three) { FactoryBot.create(:default_hourly_rate, valid_from: 4.days.ago, project: project, user: user2) } - let!(:default_hourly_five) { FactoryBot.create(:default_hourly_rate, valid_from: 6.days.ago, project: project, user: user2) } + let(:rate) { build(:cost_rate) } + let!(:hourly_one) { create(:hourly_rate, valid_from: 2.days.ago, project: project, user: user) } + let!(:hourly_three) { create(:hourly_rate, valid_from: 4.days.ago, project: project, user: user) } + let!(:hourly_five) { create(:hourly_rate, valid_from: 6.days.ago, project: project, user: user) } + let!(:default_hourly_one) { create(:default_hourly_rate, valid_from: 2.days.ago, project: project, user: user2) } + let!(:default_hourly_three) { create(:default_hourly_rate, valid_from: 4.days.ago, project: project, user: user2) } + let!(:default_hourly_five) { create(:default_hourly_rate, valid_from: 6.days.ago, project: project, user: user2) } let(:hours) { 5.0 } let(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, spent_on: date, @@ -66,7 +66,7 @@ describe TimeEntry, type: :model do end let(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, spent_on: date, @@ -77,10 +77,10 @@ describe TimeEntry, type: :model do end def is_member(project, user, permissions) - FactoryBot.create(:member, + create(:member, project: project, user: user, - roles: [FactoryBot.create(:role, permissions: permissions)]) + roles: [create(:role, permissions: permissions)]) end describe '#hours' do @@ -380,7 +380,7 @@ describe TimeEntry, type: :model do before do is_member(project, user, [:view_own_time_entries]) - time_entry.user = FactoryBot.build :user + time_entry.user = build :user end it 'is visible' do diff --git a/modules/costs/spec/models/user_spec.rb b/modules/costs/spec/models/user_spec.rb index c4e4e79edad..6fb04c75495 100644 --- a/modules/costs/spec/models/user_spec.rb +++ b/modules/costs/spec/models/user_spec.rb @@ -31,14 +31,14 @@ require File.dirname(__FILE__) + '/../spec_helper' describe User, type: :model do include Cost::PluginSpecHelper let(:klass) { User } - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:valid_project) } - let(:project2) { FactoryBot.build(:valid_project) } + let(:user) { build(:user) } + let(:project) { build(:valid_project) } + let(:project2) { build(:valid_project) } let(:project_hourly_rate) do - FactoryBot.build(:hourly_rate, user: user, + build(:hourly_rate, user: user, project: project) end - let(:default_hourly_rate) { FactoryBot.build(:default_hourly_rate, user: user) } + let(:default_hourly_rate) { build(:default_hourly_rate, user: user) } describe '#allowed_to' do describe 'WITH querying for a non existent permission' do diff --git a/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb b/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb index 500656ef8b1..84a1f527a51 100644 --- a/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb +++ b/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb @@ -30,39 +30,39 @@ require 'spec_helper' describe WorkPackage, type: :model do let(:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, status: status) end let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, status: status) end - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:project2) { FactoryBot.create(:project, types: [type]) } - let(:role) { FactoryBot.create(:role) } - let(:role2) { FactoryBot.create(:role) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type]) } + let(:project2) { create(:project, types: [type]) } + let(:role) { create(:role) } + let(:role2) { create(:role) } let(:member) do - FactoryBot.create(:member, principal: user, + create(:member, principal: user, roles: [role]) end let(:member2) do - FactoryBot.create(:member, principal: user, + create(:member, principal: user, roles: [role2], project: work_package2.project) end - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority) } - let(:cost_type) { FactoryBot.create(:cost_type) } + let(:status) { create(:status) } + let(:priority) { create(:priority) } + let(:cost_type) { create(:cost_type) } let(:cost_entry) do - FactoryBot.create(:cost_entry, work_package: work_package, + create(:cost_entry, work_package: work_package, project: work_package.project, cost_type: cost_type) end let(:cost_entry2) do - FactoryBot.create(:cost_entry, work_package: work_package2, + create(:cost_entry, work_package: work_package2, project: work_package2.project, cost_type: cost_type) end diff --git a/modules/costs/spec/models/work_package_spec.rb b/modules/costs/spec/models/work_package_spec.rb index 4355efb0016..a192e2d37d6 100644 --- a/modules/costs/spec/models/work_package_spec.rb +++ b/modules/costs/spec/models/work_package_spec.rb @@ -29,23 +29,23 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe WorkPackage, type: :model do - let(:user) { FactoryBot.create(:admin) } - let(:role) { FactoryBot.create(:role) } + let(:user) { create(:admin) } + let(:role) { create(:role) } let(:project) do - FactoryBot.create(:project_with_types, members: { user => role }) + create(:project_with_types, members: { user => role }) end - let(:project2) { FactoryBot.create(:project_with_types, types: project.types) } + let(:project2) { create(:project_with_types, types: project.types) } let(:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, type: project.types.first, author: user) end let!(:cost_entry) do - FactoryBot.create(:cost_entry, work_package: work_package, project: project, units: 3, spent_on: Date.today, user: user, + create(:cost_entry, work_package: work_package, project: project, units: 3, spent_on: Date.today, user: user, comments: 'test entry') end - let!(:budget) { FactoryBot.create(:budget, project: project) } + let!(:budget) { create(:budget, project: project) } def move_to_project(work_package, project) WorkPackages::UpdateService diff --git a/modules/costs/spec/plugin_spec_helper.rb b/modules/costs/spec/plugin_spec_helper.rb index 69f7edef15a..c7d107b696d 100644 --- a/modules/costs/spec/plugin_spec_helper.rb +++ b/modules/costs/spec/plugin_spec_helper.rb @@ -29,9 +29,9 @@ module Cost module PluginSpecHelper def is_member(project, user, permissions = []) - role = ::FactoryBot.create(:role, permissions: permissions) + role = create(:role, permissions: permissions) - ::FactoryBot.create(:member, project: project, + create(:member, project: project, principal: user, roles: [role]) user.reload diff --git a/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb b/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb index 668b970227f..6fb4321ce03 100644 --- a/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb +++ b/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb @@ -38,7 +38,7 @@ describe "budget attachments" do let(:update_permission) { :edit_budgets } let(:budget) do - FactoryBot.create :budget, project: project + create :budget, project: project end end end diff --git a/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb b/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb index ded938af570..47569cbcb27 100644 --- a/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb @@ -34,18 +34,18 @@ describe 'API v3 Cost Entry resource' do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:work_package_permissions) { [:view_work_packages] } let(:cost_entry_permissions) { [:view_cost_entries] } let(:permissions) { work_package_permissions + cost_entry_permissions } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } subject(:response) { last_response } let(:cost_entry) do - FactoryBot.create(:cost_entry, + create(:cost_entry, project: project, work_package: work_package, user: current_user) diff --git a/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb b/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb index 8a9e90d10a1..f6227a6cd08 100644 --- a/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb @@ -34,14 +34,14 @@ describe 'API v3 Cost Entry resource' do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_cost_entries] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } subject(:response) { last_response } - let(:cost_entry) { FactoryBot.create(:cost_entry, project: project) } + let(:cost_entry) { create(:cost_entry, project: project) } before do login_as(current_user) @@ -79,7 +79,7 @@ describe 'API v3 Cost Entry resource' do end context 'cost entry is his own' do - let(:cost_entry) { FactoryBot.create(:cost_entry, project: project, user: current_user) } + let(:cost_entry) { create(:cost_entry, project: project, user: current_user) } it 'should return HTTP 200' do expect(response.status).to eql(200) @@ -91,7 +91,7 @@ describe 'API v3 Cost Entry resource' do let(:permissions) { [] } describe 'he can\'t even see own cost entries' do - let(:cost_entry) { FactoryBot.create(:cost_entry, project: project, user: current_user) } + let(:cost_entry) { create(:cost_entry, project: project, user: current_user) } it_behaves_like 'error response', 403, 'MissingPermission', diff --git a/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb b/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb index 2962e551994..c1f16f551bc 100644 --- a/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb @@ -34,13 +34,13 @@ describe 'API v3 Cost Type resource' do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: [:view_cost_entries]) } - let(:project) { FactoryBot.create(:project) } + let(:role) { create(:role, permissions: [:view_cost_entries]) } + let(:project) { create(:project) } subject(:response) { last_response } - let!(:cost_type) { FactoryBot.create(:cost_type) } + let!(:cost_type) { create(:cost_type) } before do allow(User).to receive(:current).and_return current_user @@ -59,7 +59,7 @@ describe 'API v3 Cost Type resource' do end context 'cost type deleted' do - let!(:cost_type) { FactoryBot.create(:cost_type, :deleted) } + let!(:cost_type) { create(:cost_type, :deleted) } it_behaves_like 'not found' end @@ -74,7 +74,7 @@ describe 'API v3 Cost Type resource' do end context 'user can\'t see cost entries' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } it_behaves_like 'error response', 403, diff --git a/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb index 9fd293a704c..7d2bf5df3a2 100644 --- a/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb @@ -34,53 +34,53 @@ describe 'API v3 time entries available projects resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:project_with_log_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [:log_time])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [:log_time])], project: p, user: current_user) end end let(:project_with_edit_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [:edit_time_entries])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [:edit_time_entries])], project: p, user: current_user) end end let(:project_with_edit_own_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [:edit_own_time_entries])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [:edit_own_time_entries])], project: p, user: current_user) end end let(:project_with_view_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [:view_time_entries])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [:view_time_entries])], project: p, user: current_user) end end let(:project_without_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [])], project: p, user: current_user) end end let(:project_without_membership) do - FactoryBot.create(:project) + create(:project) end subject(:response) { last_response } diff --git a/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb index 02d3d67677f..ca350640e20 100644 --- a/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb @@ -34,23 +34,23 @@ describe ::API::V3::TimeEntries::CreateFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:active_activity) { FactoryBot.create(:time_entry_activity) } + let(:project) { create(:project) } + let(:active_activity) { create(:time_entry_activity) } let(:in_project_inactive_activity) do - FactoryBot.create(:time_entry_activity).tap do |tea| + create(:time_entry_activity).tap do |tea| TimeEntryActivitiesProject.insert(project_id: project.id, activity_id: tea.id, active: false) end end - let(:custom_field) { FactoryBot.create(:time_entry_custom_field) } + let(:custom_field) { create(:time_entry_custom_field) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:work_package) do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end - let(:other_user) { FactoryBot.create(:user) } + let(:other_user) { create(:user) } let(:permissions) { %i[log_time view_work_packages] } let(:path) { api_v3_paths.create_time_entry_form } diff --git a/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb index aa3ff11b528..083823856d8 100644 --- a/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb @@ -33,9 +33,9 @@ describe 'API v3 Time entry schema resource', type: :request, content_type: :jso include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb index 0a72d50e0b7..b3dd7c5de68 100644 --- a/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb @@ -35,23 +35,23 @@ describe ::API::V3::TimeEntries::UpdateFormAPI, content_type: :json do include API::V3::Utilities::PathHelper let(:project) { time_entry.project } - let(:time_entry) { FactoryBot.create(:time_entry) } - let(:active_activity) { FactoryBot.create(:time_entry_activity) } + let(:time_entry) { create(:time_entry) } + let(:active_activity) { create(:time_entry_activity) } let(:in_project_inactive_activity) do - FactoryBot.create(:time_entry_activity).tap do |tea| + create(:time_entry_activity).tap do |tea| TimeEntryActivitiesProject.insert(project_id: project.id, activity_id: tea.id, active: false) end end - let(:custom_field) { FactoryBot.create(:time_entry_custom_field) } + let(:custom_field) { create(:time_entry_custom_field) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:work_package) do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end - let(:other_user) { FactoryBot.create(:user) } + let(:other_user) { create(:user) } let(:permissions) { %i[view_time_entries edit_time_entries view_work_packages] } let(:path) { api_v3_paths.time_entry_form(time_entry.id) } @@ -199,9 +199,9 @@ describe ::API::V3::TimeEntries::UpdateFormAPI, content_type: :json do let(:user) do user = time_entry.user - FactoryBot.create(:member, + create(:member, project: time_entry.project, - roles: [FactoryBot.create(:role, permissions: permissions)], + roles: [create(:role, permissions: permissions)], principal: user) user diff --git a/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb b/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb index bdb78ce9309..0098b21471b 100644 --- a/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb @@ -34,11 +34,11 @@ describe 'API v3 time_entry_activity resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:activity) { FactoryBot.create(:time_entry_activity) } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:activity) { create(:time_entry_activity) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_time_entries) } subject(:response) { last_response } diff --git a/modules/costs/spec/requests/api/time_entry_resource_spec.rb b/modules/costs/spec/requests/api/time_entry_resource_spec.rb index b444721bce6..46ead45f390 100644 --- a/modules/costs/spec/requests/api/time_entry_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entry_resource_spec.rb @@ -34,34 +34,34 @@ describe 'API v3 time_entry resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:time_entry) do - FactoryBot.create(:time_entry, project: project, work_package: work_package, user: current_user) + create(:time_entry, project: project, work_package: work_package, user: current_user) end let(:other_time_entry) do - FactoryBot.create(:time_entry, project: project, work_package: work_package, user: other_user) + create(:time_entry, project: project, work_package: work_package, user: other_user) end let(:other_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:invisible_time_entry) do - FactoryBot.create(:time_entry, project: other_project, work_package: other_work_package, user: other_user) + create(:time_entry, project: other_project, work_package: other_work_package, user: other_user) end let(:project) { work_package.project } - let(:work_package) { FactoryBot.create(:work_package) } - let(:other_work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } + let(:other_work_package) { create(:work_package) } let(:other_project) { other_work_package.project } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_time_entries view_work_packages) } - let(:custom_field) { FactoryBot.create(:time_entry_custom_field) } + let(:custom_field) { create(:time_entry_custom_field) } let(:custom_value) do CustomValue.create(custom_field: custom_field, value: '1234', customized: time_entry) end let(:activity) do - FactoryBot.create(:time_entry_activity) + create(:time_entry_activity) end subject(:response) { last_response } @@ -139,7 +139,7 @@ describe 'API v3 time_entry resource', type: :request do context 'filtering by user' do let(:invisible_time_entry) do - FactoryBot.create(:time_entry, project: other_project, work_package: other_work_package, user: other_user) + create(:time_entry, project: other_project, work_package: other_work_package, user: other_user) end before do @@ -172,11 +172,11 @@ describe 'API v3 time_entry resource', type: :request do context 'filtering by work package' do let(:unwanted_work_package) do - FactoryBot.create(:work_package, project: project, type: project.types.first) + create(:work_package, project: project, type: project.types.first) end let(:other_time_entry) do - FactoryBot.create(:time_entry, project: project, work_package: unwanted_work_package, user: current_user) + create(:time_entry, project: project, work_package: unwanted_work_package, user: current_user) end let(:path) do @@ -209,11 +209,11 @@ describe 'API v3 time_entry resource', type: :request do context 'filtering by project' do let(:other_time_entry) do - FactoryBot.create(:time_entry, project: other_project, work_package: other_work_package, user: current_user) + create(:time_entry, project: other_project, work_package: other_work_package, user: current_user) end before do - FactoryBot.create(:member, + create(:member, roles: [role], project: other_project, user: current_user) @@ -246,27 +246,27 @@ describe 'API v3 time_entry resource', type: :request do context 'filtering by global activity' do let(:activity) do - FactoryBot.create(:time_entry_activity) + create(:time_entry_activity) end let(:another_activity) do - FactoryBot.create(:time_entry_activity) + create(:time_entry_activity) end let!(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, user: current_user, activity: activity) end let!(:other_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: other_project, work_package: other_work_package, user: current_user, activity: activity) end let!(:another_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package, user: current_user, @@ -274,7 +274,7 @@ describe 'API v3 time_entry resource', type: :request do end before do - FactoryBot.create(:member, + create(:member, roles: [role], project: other_project, user: current_user) diff --git a/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb b/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb index dc2cad060bd..a7ddd4f676c 100644 --- a/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb +++ b/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe TimeEntries::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:activity) { FactoryBot.build_stubbed(:time_entry_activity, project: project) } - let!(:default_activity) { FactoryBot.build_stubbed(:time_entry_activity, project: project, is_default: true) } - let(:work_package) { FactoryBot.build_stubbed(:work_package) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:user) { build_stubbed(:user) } + let(:activity) { build_stubbed(:time_entry_activity, project: project) } + let!(:default_activity) { build_stubbed(:time_entry_activity, project: project, is_default: true) } + let(:work_package) { build_stubbed(:work_package) } + let(:project) { build_stubbed(:project) } let(:spent_on) { Date.today.to_s } let(:hours) { 5.0 } let(:comments) { 'some comment' } diff --git a/modules/dashboards/spec/contracts/grids/create_contract_spec.rb b/modules/dashboards/spec/contracts/grids/create_contract_spec.rb index ed91595a429..0827e5dd423 100644 --- a/modules/dashboards/spec/contracts/grids/create_contract_spec.rb +++ b/modules/dashboards/spec/contracts/grids/create_contract_spec.rb @@ -39,7 +39,7 @@ describe Grids::CreateContract do describe 'user_id' do context 'for a Grids::Dashboard' do - let(:grid) { FactoryBot.build_stubbed(:dashboard, default_values) } + let(:grid) { build_stubbed(:dashboard, default_values) } it_behaves_like 'is not writable' do let(:attribute) { :user_id } @@ -50,7 +50,7 @@ describe Grids::CreateContract do describe 'project_id' do context 'for a Grids::Dashboard' do - let(:grid) { FactoryBot.build_stubbed(:dashboard, default_values) } + let(:grid) { build_stubbed(:dashboard, default_values) } it_behaves_like 'is writable' do let(:attribute) { :project_id } diff --git a/modules/dashboards/spec/contracts/grids/shared_examples.rb b/modules/dashboards/spec/contracts/grids/shared_examples.rb index 7e5786cf91b..42237f694af 100644 --- a/modules/dashboards/spec/contracts/grids/shared_examples.rb +++ b/modules/dashboards/spec/contracts/grids/shared_examples.rb @@ -29,9 +29,9 @@ #++ shared_context 'grid contract' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(grid, user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:default_values) do { row_count: 6, @@ -41,7 +41,7 @@ shared_context 'grid contract' do } end let(:grid) do - FactoryBot.build_stubbed(:dashboard, default_values) + build_stubbed(:dashboard, default_values) end let(:mange_allowed) { true } let(:permissions) { %i[manage_dashboards save_queries manage_public_queries] } diff --git a/modules/dashboards/spec/factories/grid_factory.rb b/modules/dashboards/spec/factories/grid_factory.rb index c916384a7fa..debc664fefd 100644 --- a/modules/dashboards/spec/factories/grid_factory.rb +++ b/modules/dashboards/spec/factories/grid_factory.rb @@ -22,9 +22,9 @@ FactoryBot.define do column_count { 4 } callback(:after_build) do |dashboard| - query = FactoryBot.create(:query, project: dashboard.project, public: true) + query = create(:query, project: dashboard.project, public: true) - widget = FactoryBot.build(:grid_widget, + widget = build(:grid_widget, identifier: 'work_packages_table', start_row: 1, end_row: 7, @@ -45,7 +45,7 @@ FactoryBot.define do column_count { 4 } callback(:after_build) do |dashboard| - widget = FactoryBot.build(:grid_widget, + widget = build(:grid_widget, identifier: 'custom_text', start_row: 1, end_row: 7, diff --git a/modules/dashboards/spec/features/custom_text_spec.rb b/modules/dashboards/spec/features/custom_text_spec.rb index 85a85d0be33..95bc4bc427b 100644 --- a/modules/dashboards/spec/features/custom_text_spec.rb +++ b/modules/dashboards/spec/features/custom_text_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Project description widget on dashboard', type: :feature, js: true do - let!(:type) { FactoryBot.create :type_task, name: 'Task' } + let!(:type) { create :type_task, name: 'Task' } let!(:project) do - FactoryBot.create :project, types: [type] + create :project, types: [type] end let(:permissions) do @@ -44,11 +44,11 @@ describe 'Project description widget on dashboard', type: :feature, js: true do end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions) + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:dashboard_page) do Pages::Dashboard.new(project) @@ -157,7 +157,7 @@ describe 'Project description widget on dashboard', type: :feature, js: true do context 'for a user lacking edit permissions' do let!(:dashboard) do - FactoryBot.create(:dashboard_with_custom_text, project: project) + create(:dashboard_with_custom_text, project: project) end let(:permissions) do diff --git a/modules/dashboards/spec/features/docments_spec.rb b/modules/dashboards/spec/features/docments_spec.rb index 02235dbe224..34c6ede0024 100644 --- a/modules/dashboards/spec/features/docments_spec.rb +++ b/modules/dashboards/spec/features/docments_spec.rb @@ -31,27 +31,27 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Documents widget on dashboard', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:other_project) { FactoryBot.create :project } + let!(:project) { create :project } + let!(:other_project) { create :project } let!(:visible_document) do - FactoryBot.create :document, + create :document, project: project, description: 'blubs' end let!(:invisible_document) do - FactoryBot.create :document, + create :document, project: other_project end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_documents view_dashboards manage_dashboards]) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, roles: [role], user: u) - FactoryBot.create(:member, project: other_project, roles: [role], user: u) + create(:user).tap do |u| + create(:member, project: project, roles: [role], user: u) + create(:member, project: other_project, roles: [role], user: u) end end let(:dashboard) do diff --git a/modules/dashboards/spec/features/members_principals_spec.rb b/modules/dashboards/spec/features/members_principals_spec.rb index b3f1f0f3f06..e16414823f2 100644 --- a/modules/dashboards/spec/features/members_principals_spec.rb +++ b/modules/dashboards/spec/features/members_principals_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Dashboard page members', type: :feature, js: true, with_mail: false do - shared_let(:type) { FactoryBot.create :type } - shared_let(:project) { FactoryBot.create :project, types: [type], description: 'My **custom** description' } + shared_let(:type) { create :type } + shared_let(:project) { create :project, types: [type], description: 'My **custom** description' } shared_let(:permissions) do %i[manage_dashboards @@ -42,7 +42,7 @@ describe 'Dashboard page members', type: :feature, js: true, with_mail: false do end shared_let(:user) do - FactoryBot.create(:user, + create(:user, firstname: 'Foo', lastname: 'Bar', member_in_project: project, @@ -50,14 +50,14 @@ describe 'Dashboard page members', type: :feature, js: true, with_mail: false do end shared_let(:group) do - FactoryBot.create(:group, + create(:group, name: 'DEV Team', member_in_project: project, member_with_permissions: permissions) end shared_let(:placeholder) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, name: 'DEVELOPER PLACEHOLDER', member_in_project: project, member_with_permissions: permissions) diff --git a/modules/dashboards/spec/features/members_spec.rb b/modules/dashboards/spec/features/members_spec.rb index 77dc8382a22..bde8b1fa738 100644 --- a/modules/dashboards/spec/features/members_spec.rb +++ b/modules/dashboards/spec/features/members_spec.rb @@ -31,41 +31,41 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Members widget on dashboard', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:other_project) { FactoryBot.create :project } + let!(:project) { create :project } + let!(:other_project) { create :project } let!(:manager_user) do - FactoryBot.create :user, lastname: "Manager", member_in_project: project, member_through_role: role + create :user, lastname: "Manager", member_in_project: project, member_through_role: role end let!(:no_edit_member_user) do - FactoryBot.create :user, lastname: "No_Edit", member_in_project: project, member_through_role: no_edit_member_role + create :user, lastname: "No_Edit", member_in_project: project, member_through_role: no_edit_member_role end let!(:no_view_member_user) do - FactoryBot.create :user, lastname: "No_View", member_in_project: project, member_through_role: no_view_member_role + create :user, lastname: "No_View", member_in_project: project, member_through_role: no_view_member_role end let!(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, lastname: "Placeholder user", member_in_project: project, member_through_role: no_view_member_role end let!(:invisible_user) do - FactoryBot.create :user, lastname: "Invisible", member_in_project: other_project, member_through_role: role + create :user, lastname: "Invisible", member_in_project: other_project, member_through_role: role end let(:no_view_member_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[manage_dashboards view_dashboards]) end let(:no_edit_member_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[manage_dashboards view_dashboards view_members]) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[manage_dashboards view_dashboards manage_members diff --git a/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb b/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb index 4ed4013482d..3ce134ffc57 100644 --- a/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb +++ b/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb @@ -32,7 +32,7 @@ require_relative '../support/pages/dashboard' describe 'Modifying a dashboard which already has widgets for which permissions are lacking', type: :feature, js: true do let!(:project) do - FactoryBot.create :project + create :project end let(:permissions) do @@ -41,16 +41,16 @@ describe 'Modifying a dashboard which already has widgets for which permissions end let(:user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions) + create(:user, member_in_project: project, member_with_permissions: permissions) end let!(:dashboard) do - FactoryBot.create(:dashboard_with_table, project: project) + create(:dashboard_with_table, project: project) end let(:dashboard_page) do Pages::Dashboard.new(project) end let!(:news) do - FactoryBot.create :news, + create :news, project: project end diff --git a/modules/dashboards/spec/features/navigation_spec.rb b/modules/dashboards/spec/features/navigation_spec.rb index 6809d0aef21..85fe225fd89 100644 --- a/modules/dashboards/spec/features/navigation_spec.rb +++ b/modules/dashboards/spec/features/navigation_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Navigate to dashboard', type: :feature, js: true do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:permissions) { [:view_dashboards] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/dashboards/spec/features/news_spec.rb b/modules/dashboards/spec/features/news_spec.rb index 1c325d26e72..dba3931bd8a 100644 --- a/modules/dashboards/spec/features/news_spec.rb +++ b/modules/dashboards/spec/features/news_spec.rb @@ -31,27 +31,27 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'News widget on dashboard', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:other_project) { FactoryBot.create :project } + let!(:project) { create :project } + let!(:other_project) { create :project } let!(:visible_news) do - FactoryBot.create :news, + create :news, project: project, description: 'blubs' end let!(:invisible_news) do - FactoryBot.create :news, + create :news, project: other_project end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_news view_dashboards manage_dashboards]) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, roles: [role], user: u) - FactoryBot.create(:member, project: other_project, roles: [role], user: u) + create(:user).tap do |u| + create(:member, project: project, roles: [role], user: u) + create(:member, project: other_project, roles: [role], user: u) end end diff --git a/modules/dashboards/spec/features/project_description_spec.rb b/modules/dashboards/spec/features/project_description_spec.rb index 953855bb519..6264d6cecfc 100644 --- a/modules/dashboards/spec/features/project_description_spec.rb +++ b/modules/dashboards/spec/features/project_description_spec.rb @@ -33,7 +33,7 @@ require_relative '../support/pages/dashboard' describe 'Project description widget on dashboard', type: :feature, js: true do let(:project_description) { "Some text I like to write" } let!(:project) do - FactoryBot.create :project, description: project_description + create :project, description: project_description end let(:read_only_permissions) do @@ -48,11 +48,11 @@ describe 'Project description widget on dashboard', type: :feature, js: true do end let(:read_only_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: read_only_permissions) + create(:user, member_in_project: project, member_with_permissions: read_only_permissions) end let(:editing_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: editing_permissions) + create(:user, member_in_project: project, member_with_permissions: editing_permissions) end let(:dashboard_page) do @@ -118,13 +118,13 @@ describe 'Project description widget on dashboard', type: :feature, js: true do end context 'with editing and wp add permissions' do - let!(:type) { FactoryBot.create :type_task, name: 'Task' } + let!(:type) { create :type_task, name: 'Task' } let!(:project) do - FactoryBot.create :project, types: [type] + create :project, types: [type] end let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: editing_permissions + %i[add_work_packages]) + create(:user, member_in_project: project, member_with_permissions: editing_permissions + %i[add_work_packages]) end let(:editor) { ::Components::WysiwygEditor.new 'body' } diff --git a/modules/dashboards/spec/features/project_details_spec.rb b/modules/dashboards/spec/features/project_details_spec.rb index 0e81b3930dd..68acb44142e 100644 --- a/modules/dashboards/spec/features/project_details_spec.rb +++ b/modules/dashboards/spec/features/project_details_spec.rb @@ -31,19 +31,19 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Project details widget on dashboard', type: :feature, js: true do - let!(:version_cf) { FactoryBot.create(:version_project_custom_field) } - let!(:bool_cf) { FactoryBot.create(:bool_project_custom_field) } - let!(:user_cf) { FactoryBot.create(:user_project_custom_field) } - let!(:int_cf) { FactoryBot.create(:int_project_custom_field) } - let!(:float_cf) { FactoryBot.create(:float_project_custom_field) } - let!(:text_cf) { FactoryBot.create(:text_project_custom_field) } - let!(:string_cf) { FactoryBot.create(:string_project_custom_field) } - let!(:date_cf) { FactoryBot.create(:date_project_custom_field) } + let!(:version_cf) { create(:version_project_custom_field) } + let!(:bool_cf) { create(:bool_project_custom_field) } + let!(:user_cf) { create(:user_project_custom_field) } + let!(:int_cf) { create(:int_project_custom_field) } + let!(:float_cf) { create(:float_project_custom_field) } + let!(:text_cf) { create(:text_project_custom_field) } + let!(:string_cf) { create(:string_project_custom_field) } + let!(:date_cf) { create(:date_project_custom_field) } - let(:system_version) { FactoryBot.create(:version, sharing: 'system') } + let(:system_version) { create(:version, sharing: 'system') } let!(:project) do - FactoryBot.create(:project, members: { other_user => role }).tap do |p| + create(:project, members: { other_user => role }).tap do |p| p.send(:"custom_field_#{int_cf.id}=", 5) p.send(:"custom_field_#{bool_cf.id}=", true) p.send(:"custom_field_#{version_cf.id}=", system_version) @@ -69,21 +69,21 @@ describe 'Project details widget on dashboard', type: :feature, js: true do end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:read_only_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:editing_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: editing_permissions, firstname: 'Cool', lastname: 'Guy') end let(:other_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Other', lastname: 'User') end diff --git a/modules/dashboards/spec/features/project_status_spec.rb b/modules/dashboards/spec/features/project_status_spec.rb index 3f87df04e59..4d27d96d744 100644 --- a/modules/dashboards/spec/features/project_status_spec.rb +++ b/modules/dashboards/spec/features/project_status_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Project status widget on dashboard', type: :feature, js: true do - let!(:project) { FactoryBot.create :project, status: project_status } + let!(:project) { create :project, status: project_status } let!(:project_status) do - FactoryBot.create :project_status + create :project_status end let(:read_only_permissions) do @@ -47,13 +47,13 @@ describe 'Project status widget on dashboard', type: :feature, js: true do end let(:read_only_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: read_only_permissions) end let(:editing_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: editing_permissions) end diff --git a/modules/dashboards/spec/features/read_only_allowed_spec.rb b/modules/dashboards/spec/features/read_only_allowed_spec.rb index ef7714eda41..844013b52cf 100644 --- a/modules/dashboards/spec/features/read_only_allowed_spec.rb +++ b/modules/dashboards/spec/features/read_only_allowed_spec.rb @@ -31,17 +31,17 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Read only mode when user lacks edit permission on dashboard', type: :feature, js: true do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, responsible: user end let!(:dashboard) do - FactoryBot.create(:dashboard_with_table, project: project) + create(:dashboard_with_table, project: project) end let(:permissions) do @@ -53,12 +53,12 @@ describe 'Read only mode when user lacks edit permission on dashboard', type: :f end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, user: u, roles: [role]) + create(:user).tap do |u| + create(:member, project: project, user: u, roles: [role]) end end let(:dashboard_page) do diff --git a/modules/dashboards/spec/features/subprojects_spec.rb b/modules/dashboards/spec/features/subprojects_spec.rb index 315a59cd920..5ddc6729096 100644 --- a/modules/dashboards/spec/features/subprojects_spec.rb +++ b/modules/dashboards/spec/features/subprojects_spec.rb @@ -32,20 +32,20 @@ require_relative '../support/pages/dashboard' describe 'Subprojects widget on dashboard', type: :feature, js: true do let!(:project) do - FactoryBot.create(:project, parent: parent_project) + create(:project, parent: parent_project) end let!(:child_project) do - FactoryBot.create(:project, parent: project) + create(:project, parent: project) end let!(:invisible_child_project) do - FactoryBot.create(:project, parent: project) + create(:project, parent: project) end let!(:grandchild_project) do - FactoryBot.create(:project, parent: child_project) + create(:project, parent: child_project) end let!(:parent_project) do - FactoryBot.create(:project) + create(:project) end let(:permissions) do @@ -54,15 +54,15 @@ describe 'Subprojects widget on dashboard', type: :feature, js: true do end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, roles: [role], user: u) - FactoryBot.create(:member, project: child_project, roles: [role], user: u) - FactoryBot.create(:member, project: grandchild_project, roles: [role], user: u) - FactoryBot.create(:member, project: parent_project, roles: [role], user: u) + create(:user).tap do |u| + create(:member, project: project, roles: [role], user: u) + create(:member, project: child_project, roles: [role], user: u) + create(:member, project: grandchild_project, roles: [role], user: u) + create(:member, project: parent_project, roles: [role], user: u) end end let(:dashboard_page) do diff --git a/modules/dashboards/spec/features/time_entries_spec.rb b/modules/dashboards/spec/features/time_entries_spec.rb index 95b9deaeeba..e59b02d60ee 100644 --- a/modules/dashboards/spec/features/time_entries_spec.rb +++ b/modules/dashboards/spec/features/time_entries_spec.rb @@ -31,17 +31,17 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Time entries widget on dashboard', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user end let!(:visible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, user: user, @@ -50,7 +50,7 @@ describe 'Time entries widget on dashboard', type: :feature, js: true, with_mail comments: 'My comment' end let!(:other_visible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, user: other_user, @@ -59,25 +59,25 @@ describe 'Time entries widget on dashboard', type: :feature, js: true, with_mail comments: 'Another`s comment' end let!(:invisible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: other_project, user: user, hours: 4 end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_time_entries view_dashboards manage_dashboards]) end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, roles: [role], user: u) - FactoryBot.create(:member, project: other_project, roles: [role], user: u) + create(:user).tap do |u| + create(:member, project: project, roles: [role], user: u) + create(:member, project: other_project, roles: [role], user: u) end end diff --git a/modules/dashboards/spec/features/work_package_calendar_spec.rb b/modules/dashboards/spec/features/work_package_calendar_spec.rb index 3c1d119e514..e3716dc9bdb 100644 --- a/modules/dashboards/spec/features/work_package_calendar_spec.rb +++ b/modules/dashboards/spec/features/work_package_calendar_spec.rb @@ -34,13 +34,13 @@ describe 'Work package calendar widget on dashboard', type: :feature, with_mail: false, js: true do - let!(:type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:spanning_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Spanning work package', project: project, start_date: Date.today - 8.days, @@ -50,7 +50,7 @@ describe 'Work package calendar widget on dashboard', responsible: user end let!(:starting_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Starting work package', project: project, start_date: Date.today, @@ -60,7 +60,7 @@ describe 'Work package calendar widget on dashboard', responsible: user end let!(:ending_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Ending work package', project: project, start_date: Date.today - 8.days, @@ -70,7 +70,7 @@ describe 'Work package calendar widget on dashboard', responsible: user end let!(:outdated_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Outdated work package', project: project, start_date: Date.today - 9.days, @@ -80,7 +80,7 @@ describe 'Work package calendar widget on dashboard', responsible: user end let!(:other_project_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Other project work package', project: other_project, start_date: Date.today - 9.days, @@ -97,13 +97,13 @@ describe 'Work package calendar widget on dashboard', end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, user: u, roles: [role]) - FactoryBot.create(:member, project: other_project, user: u, roles: [role]) + create(:user).tap do |u| + create(:member, project: project, user: u, roles: [role]) + create(:member, project: other_project, user: u, roles: [role]) end end diff --git a/modules/dashboards/spec/features/work_package_graph_overview_spec.rb b/modules/dashboards/spec/features/work_package_graph_overview_spec.rb index e80ff0222b4..587dfdb8d61 100644 --- a/modules/dashboards/spec/features/work_package_graph_overview_spec.rb +++ b/modules/dashboards/spec/features/work_package_graph_overview_spec.rb @@ -34,13 +34,13 @@ describe 'Work package overview graph widget on dashboard', type: :feature, with_mail: false, js: true do - let!(:type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } - let!(:closed_status) { FactoryBot.create :closed_status } + let!(:type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:open_status) { create :default_status } + let!(:closed_status) { create :closed_status } let!(:open_work_package) do - FactoryBot.create :work_package, + create :work_package, subject: 'Spanning work package', project: project, status: open_status, @@ -49,7 +49,7 @@ describe 'Work package overview graph widget on dashboard', responsible: user end let!(:closed) do - FactoryBot.create :work_package, + create :work_package, subject: 'Starting work package', project: project, status: closed_status, @@ -65,12 +65,12 @@ describe 'Work package overview graph widget on dashboard', end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, user: u, roles: [role]) + create(:user).tap do |u| + create(:member, project: project, user: u, roles: [role]) end end diff --git a/modules/dashboards/spec/features/work_package_graph_spec.rb b/modules/dashboards/spec/features/work_package_graph_spec.rb index 63141c8f910..2a2e4daeffe 100644 --- a/modules/dashboards/spec/features/work_package_graph_spec.rb +++ b/modules/dashboards/spec/features/work_package_graph_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Arbitrary WorkPackage query graph widget dashboard', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:other_type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } - let!(:closed_status) { FactoryBot.create :status, is_closed: true } + let!(:type) { create :type } + let!(:other_type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } + let!(:open_status) { create :default_status } + let!(:closed_status) { create :status, is_closed: true } let!(:type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, @@ -47,7 +47,7 @@ describe 'Arbitrary WorkPackage query graph widget dashboard', type: :feature, j responsible: user end let!(:other_type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: other_type, author: user, @@ -55,7 +55,7 @@ describe 'Arbitrary WorkPackage query graph widget dashboard', type: :feature, j responsible: user end let!(:other_project_work_package) do - FactoryBot.create :work_package, + create :work_package, project: other_project, type: type, author: user, @@ -73,13 +73,13 @@ describe 'Arbitrary WorkPackage query graph widget dashboard', type: :feature, j end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, user: u, roles: [role]) - FactoryBot.create(:member, project: other_project, user: u, roles: [role]) + create(:user).tap do |u| + create(:member, project: project, user: u, roles: [role]) + create(:member, project: other_project, user: u, roles: [role]) end end let(:dashboard_page) do diff --git a/modules/dashboards/spec/features/work_package_table_spec.rb b/modules/dashboards/spec/features/work_package_table_spec.rb index 20a120670fc..f3bdfc13f90 100644 --- a/modules/dashboards/spec/features/work_package_table_spec.rb +++ b/modules/dashboards/spec/features/work_package_table_spec.rb @@ -31,28 +31,28 @@ require 'spec_helper' require_relative '../support/pages/dashboard' describe 'Arbitrary WorkPackage query table widget dashboard', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:other_type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:other_type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, responsible: user end let!(:other_type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: other_type, author: user, responsible: user end let!(:other_project_work_package) do - FactoryBot.create :work_package, + create :work_package, project: other_project, type: type, author: user, @@ -69,13 +69,13 @@ describe 'Arbitrary WorkPackage query table widget dashboard', type: :feature, j end let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, project: project, user: u, roles: [role]) - FactoryBot.create(:member, project: other_project, user: u, roles: [role]) + create(:user).tap do |u| + create(:member, project: project, user: u, roles: [role]) + create(:member, project: other_project, user: u, roles: [role]) end end let(:dashboard_page) do diff --git a/modules/dashboards/spec/lib/dashboards/grid_registration_spec.rb b/modules/dashboards/spec/lib/dashboards/grid_registration_spec.rb index c9fb14bad07..4a78cb16f62 100644 --- a/modules/dashboards/spec/lib/dashboards/grid_registration_spec.rb +++ b/modules/dashboards/spec/lib/dashboards/grid_registration_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' describe Dashboards::GridRegistration do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:grid) { FactoryBot.build_stubbed(:dashboard, project: project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:grid) { build_stubbed(:dashboard, project: project) } describe 'from_scope' do context 'with a relative URL root', with_config: { rails_relative_url_root: '/foobar' } do diff --git a/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb b/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb index cb01304d6e1..a60244d016b 100644 --- a/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb @@ -41,8 +41,8 @@ describe "grid attachments" do let(:read_permission) { :view_dashboards } let(:update_permission) { :manage_dashboards } - let(:grid) { FactoryBot.create(:dashboard, project: project) } + let(:grid) { create(:dashboard, project: project) } - let(:missing_permissions_user) { FactoryBot.create(:user) } + let(:missing_permissions_user) { create(:user) } end end diff --git a/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index b16604bbafe..884ec4e1c5f 100644 --- a/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -34,25 +34,25 @@ describe "POST /api/v3/grids/form for Dashboard Grids", type: :request, content_ include API::V3::Utilities::PathHelper shared_let(:project) do - FactoryBot.create(:project) + create(:project) end let(:current_user) { allowed_user } shared_let(:allowed_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_dashboards manage_dashboards save_queries manage_public_queries]) end shared_let(:no_save_query_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_dashboards manage_dashboards]) end shared_let(:prohibited_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: []) end diff --git a/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb index 4954ea371a9..eb234102bd7 100644 --- a/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -34,19 +34,19 @@ describe 'API v3 Grids resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:permissions) { %i[view_dashboards manage_dashboards] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:grid) do - FactoryBot.create(:dashboard, + create(:dashboard, project: project, widgets: widgets) end let(:widgets) do - [FactoryBot.create(:grid_widget, + [create(:grid_widget, identifier: 'custom_text', start_column: 1, end_column: 3, diff --git a/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb b/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb index 4d690a0e725..6539fc632f7 100644 --- a/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb +++ b/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb @@ -32,15 +32,15 @@ describe ::API::V3::Documents::DocumentRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:document) do - FactoryBot.build_stubbed(:document, + build_stubbed(:document, description: 'Some description') do |document| allow(document) .to receive(:project) .and_return(project) end end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(document, current_user: user, embed_links: true) end diff --git a/modules/documents/spec/application_helper_spec.rb b/modules/documents/spec/application_helper_spec.rb index 9277e6a9e83..f82bc8c9202 100644 --- a/modules/documents/spec/application_helper_spec.rb +++ b/modules/documents/spec/application_helper_spec.rb @@ -35,19 +35,19 @@ describe ApplicationHelper do include Rails.application.routes.url_helpers describe ".format_text" do - let(:project) { FactoryBot.create :valid_project } + let(:project) { create :valid_project } let(:identifier) { project.identifier } let(:role) do - FactoryBot.create(:role, permissions: %i[ + create(:role, permissions: %i[ view_work_packages edit_work_packages view_documents browse_repository view_changesets view_wiki_pages ]) end let(:project_member) do - FactoryBot.create :user, member_in_project: project, + create :user, member_in_project: project, member_through_role: role end let(:document) do - FactoryBot.create :document, + create :document, title: 'Test document', project: project end @@ -94,7 +94,7 @@ describe ApplicationHelper do end context 'Cross-Project Document Links' do - let(:the_other_project) { FactoryBot.create :valid_project } + let(:the_other_project) { create :valid_project } context "By name without project" do subject { format_text("document:\"#{document.title}\"", project: the_other_project) } diff --git a/modules/documents/spec/controllers/documents_controller_spec.rb b/modules/documents/spec/controllers/documents_controller_spec.rb index 291fb48ff06..658db8da0f7 100644 --- a/modules/documents/spec/controllers/documents_controller_spec.rb +++ b/modules/documents/spec/controllers/documents_controller_spec.rb @@ -31,17 +31,17 @@ require File.dirname(__FILE__) + '/../spec_helper' describe DocumentsController do render_views - let(:admin) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project, name: "Test Project") } - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: [:view_documents]) } + let(:admin) { create(:admin) } + let(:project) { create(:project, name: "Test Project") } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: [:view_documents]) } let(:default_category) do - FactoryBot.create(:document_category, project: project, name: "Default Category") + create(:document_category, project: project, name: "Default Category") end let(:document) do - FactoryBot.create(:document, title: "Sample Document", project: project, category: default_category) + create(:document, title: "Sample Document", project: project, category: default_category) end current_user { admin } @@ -98,7 +98,7 @@ describe DocumentsController do describe "create" do let(:document_attributes) do - FactoryBot.attributes_for(:document, + attributes_for(:document, title: "New Document", project_id: project.id, category_id: default_category.id) @@ -113,7 +113,7 @@ describe DocumentsController do post :create, params: { project_id: project.identifier, - document: FactoryBot.attributes_for( + document: attributes_for( :document, title: "New Document", project_id: project.id, @@ -130,16 +130,16 @@ describe DocumentsController do end describe "with attachments" do - let(:uncontainered) { FactoryBot.create :attachment, container: nil, author: admin } + let(:uncontainered) { create :attachment, container: nil, author: admin } before do notify_project = project - FactoryBot.create(:member, project: notify_project, user: user, roles: [role]) + create(:member, project: notify_project, user: user, roles: [role]) post :create, params: { project_id: notify_project.identifier, - document: FactoryBot.attributes_for(:document, + document: attributes_for(:document, title: "New Document", project_id: notify_project.id, category_id: default_category.id), diff --git a/modules/documents/spec/features/attachment_upload_spec.rb b/modules/documents/spec/features/attachment_upload_spec.rb index 98af8c41795..f0276b07130 100644 --- a/modules/documents/spec/features/attachment_upload_spec.rb +++ b/modules/documents/spec/features/attachment_upload_spec.rb @@ -35,20 +35,20 @@ describe 'Upload attachment to documents', journal_aggregation_time_minutes: 0, } do let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_documents manage_documents] end let!(:other_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_documents] end let!(:category) do - FactoryBot.create(:document_category) + create(:document_category) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:attachments) { ::Components::Attachments.new } let(:image_fixture) { ::UploadedFile.load_from('spec/fixtures/files/image.png') } let(:editor) { ::Components::WysiwygEditor.new } diff --git a/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb b/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb index 6c2b40c8b9c..72af7b280ed 100644 --- a/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb +++ b/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb @@ -39,11 +39,11 @@ describe OpenProject::TextFormatting, end shared_let(:project) do - FactoryBot.create :project, enabled_module_names: %w[documents] + create :project, enabled_module_names: %w[documents] end shared_let(:document) do - FactoryBot.create :document, project: project, title: 'My document' + create :document, project: project, title: 'My document' end subject do @@ -63,8 +63,8 @@ describe OpenProject::TextFormatting, end context 'when visible' do - let(:role) { FactoryBot.create :role, permissions: %i[view_documents view_project] } - let(:user) { FactoryBot.create :user, member_in_project: project, member_through_role: role } + let(:role) { create :role, permissions: %i[view_documents view_project] } + let(:user) { create :user, member_in_project: project, member_through_role: role } let(:expected) do <<~HTML @@ -88,7 +88,7 @@ describe OpenProject::TextFormatting, end context 'when not visible' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:expected) do <<~HTML diff --git a/modules/documents/spec/mailers/documents_mailer_spec.rb b/modules/documents/spec/mailers/documents_mailer_spec.rb index 2279a09e307..34bf74f2ded 100644 --- a/modules/documents/spec/mailers/documents_mailer_spec.rb +++ b/modules/documents/spec/mailers/documents_mailer_spec.rb @@ -29,11 +29,11 @@ require File.dirname(__FILE__) + '/../spec_helper' describe DocumentsMailer do let(:user) do - FactoryBot.create(:user, firstname: 'Test', lastname: "User", mail: 'test@test.com') + create(:user, firstname: 'Test', lastname: "User", mail: 'test@test.com') end - let(:project) { FactoryBot.create(:project, name: "TestProject") } + let(:project) { create(:project, name: "TestProject") } let(:document) do - FactoryBot.create(:document, project: project, description: "Test Description", title: "Test Title") + create(:document, project: project, description: "Test Description", title: "Test Title") end let(:mail) { DocumentsMailer.document_added(user, document) } diff --git a/modules/documents/spec/models/document_category_spec.rb b/modules/documents/spec/models/document_category_spec.rb index ebaf30d6ab9..1a932557f67 100644 --- a/modules/documents/spec/models/document_category_spec.rb +++ b/modules/documents/spec/models/document_category_spec.rb @@ -28,17 +28,17 @@ require File.dirname(__FILE__) + '/../spec_helper' describe DocumentCategory do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } it "should be an enumeration" do expect(DocumentCategory.ancestors).to include Enumeration end it "should order documents by the category they are created with" do - uncategorized = FactoryBot.create :document_category, name: "Uncategorized", project: project - user_documentation = FactoryBot.create :document_category, name: "User documentation" + uncategorized = create :document_category, name: "Uncategorized", project: project + user_documentation = create :document_category, name: "User documentation" - FactoryBot.create_list :document, 2, category: uncategorized, project: project + create_list :document, 2, category: uncategorized, project: project expect(DocumentCategory.find_by_name(uncategorized.name).objects_count).to eql 2 expect(DocumentCategory.find_by_name(user_documentation.name).objects_count).to eql 0 @@ -49,10 +49,10 @@ describe DocumentCategory do end it "should only allow one category to be the default-category" do - old_default = FactoryBot.create :document_category, name: "old default", project: project, is_default: true + old_default = create :document_category, name: "old default", project: project, is_default: true expect do - FactoryBot.create :document_category, name: "new default", project: project, is_default: true + create :document_category, name: "new default", project: project, is_default: true old_default.reload end.to change { old_default.is_default? }.from(true).to(false) end diff --git a/modules/documents/spec/models/document_spec.rb b/modules/documents/spec/models/document_spec.rb index 066a4ba47ef..2dc259370cc 100644 --- a/modules/documents/spec/models/document_spec.rb +++ b/modules/documents/spec/models/document_spec.rb @@ -28,10 +28,10 @@ require File.dirname(__FILE__) + '/../spec_helper' describe Document do - let(:documentation_category) { FactoryBot.create :document_category, name: 'User documentation' } - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create(:user) } - let(:admin) { FactoryBot.create(:admin) } + let(:documentation_category) { create :document_category, name: 'User documentation' } + let(:project) { create :project } + let(:user) { create(:user) } + let(:admin) { create(:admin) } let(:mail) do mock = Object.new @@ -55,7 +55,7 @@ describe Document do end it "should set a default-category, if none is given" do - default_category = FactoryBot.create :document_category, name: 'Technical documentation', is_default: true + default_category = create :document_category, name: 'Technical documentation', is_default: true document = Document.new(project: project, title: "New Document") expect(document.category).to eql default_category expect do @@ -69,7 +69,7 @@ describe Document do expect do Attachments::CreateService .new(user: admin) - .call(container: valid_document, file: FactoryBot.attributes_for(:attachment)[:file], filename: 'foo') + .call(container: valid_document, file: attributes_for(:attachment)[:file], filename: 'foo') expect(valid_document.attachments.size).to eql 1 end.to(change do @@ -79,7 +79,7 @@ describe Document do end it "without attachments, the updated-on-date is taken from the document's date" do - document = FactoryBot.create(:document, project: project) + document = create(:document, project: project) expect(document.attachments).to be_empty expect(document.created_at).to eql document.updated_at end @@ -88,7 +88,7 @@ describe Document do describe "acts as event" do let(:now) { Time.zone.now } let(:document) do - FactoryBot.build(:document, + build(:document, created_at: now) end diff --git a/modules/documents/spec/models/queries/documents/document_query_spec.rb b/modules/documents/spec/models/queries/documents/document_query_spec.rb index ca5bb51160c..84fb56f100f 100644 --- a/modules/documents/spec/models/queries/documents/document_query_spec.rb +++ b/modules/documents/spec/models/queries/documents/document_query_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Documents::DocumentQuery, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:base_scope) { Document.visible(user).order(id: :desc) } let(:instance) { described_class.new } diff --git a/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb b/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb index 10e80e3c330..40f20185ab6 100644 --- a/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb +++ b/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::Documents::Filters::ProjectFilter, type: :model do - let(:project1) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(Project) diff --git a/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb b/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb index 987e3ebbbdd..8f9ddd9b3ef 100644 --- a/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb +++ b/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb @@ -38,7 +38,7 @@ describe "document attachments" do let(:update_permission) { :manage_documents } let(:document) do - FactoryBot.create :document, project: project + create :document, project: project end end end diff --git a/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb b/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb index f2ff19f18b3..c958460eb25 100644 --- a/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb +++ b/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb @@ -34,13 +34,13 @@ describe 'API v3 documents resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:document) { FactoryBot.create(:document, project: project) } - let(:invisible_document) { FactoryBot.create(:document, project: other_project) } - let(:project) { FactoryBot.create(:project) } - let(:other_project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:document) { create(:document, project: project) } + let(:invisible_document) { create(:document, project: other_project) } + let(:project) { create(:project) } + let(:other_project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_documents) } subject(:response) { last_response } diff --git a/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb b/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb index 51ce092b390..26d503c0de2 100644 --- a/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb +++ b/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb @@ -37,13 +37,13 @@ describe Notifications::CreateFromModelService, 'document', with_settings: { jou include_context 'with CreateFromJournalJob context' - shared_let(:project) { FactoryBot.create(:project) } + shared_let(:project) { create(:project) } let(:permissions) { [:view_documents] } let(:send_notifications) { true } let(:resource) do - FactoryBot.create(:document, + create(:document, project: project) end let(:journal) { resource.journals.last } @@ -73,7 +73,7 @@ describe Notifications::CreateFromModelService, 'document', with_settings: { jou context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -83,7 +83,7 @@ describe Notifications::CreateFromModelService, 'document', with_settings: { jou context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -121,7 +121,7 @@ describe Notifications::CreateFromModelService, 'document', with_settings: { jou context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -131,7 +131,7 @@ describe Notifications::CreateFromModelService, 'document', with_settings: { jou context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end diff --git a/modules/documents/spec/services/notifications/mail_service_spec.rb b/modules/documents/spec/services/notifications/mail_service_spec.rb index 46b71e0ef55..1c9cfaf6a56 100644 --- a/modules/documents/spec/services/notifications/mail_service_spec.rb +++ b/modules/documents/spec/services/notifications/mail_service_spec.rb @@ -34,17 +34,17 @@ describe Notifications::MailService, type: :model do subject(:call) { instance.call } let(:recipient) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:actor) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:instance) { described_class.new(notification) } context 'with a document journal notification' do let(:journal) do - FactoryBot.build_stubbed(:journal, - journable: FactoryBot.build_stubbed(:document)).tap do |j| + build_stubbed(:journal, + journable: build_stubbed(:document)).tap do |j| allow(j) .to receive(:initial?) .and_return(initial_journal) @@ -52,7 +52,7 @@ describe Notifications::MailService, type: :model do end let(:read_ian) { false } let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, resource: journal.journable, recipient: recipient, diff --git a/modules/github_integration/spec/features/work_package_github_tab_spec.rb b/modules/github_integration/spec/features/work_package_github_tab_spec.rb index cb246b44929..d6ce2e1e292 100644 --- a/modules/github_integration/spec/features/work_package_github_tab_spec.rb +++ b/modules/github_integration/spec/features/work_package_github_tab_spec.rb @@ -31,21 +31,21 @@ require_relative '../support/pages/work_package_github_tab' describe 'Open the GitHub tab', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_work_packages add_work_package_notes show_github_content)) end - let(:project) { FactoryBot.create :project } - let(:work_package) { FactoryBot.create(:work_package, project: project, subject: 'A test work_package') } + let(:project) { create :project } + let(:work_package) { create(:work_package, project: project, subject: 'A test work_package') } let(:github_tab) { Pages::GitHubTab.new(work_package.id) } - let(:pull_request) { FactoryBot.create :github_pull_request, :open, work_packages: [work_package], title: 'A Test PR title' } - let(:check_run) { FactoryBot.create :github_check_run, github_pull_request: pull_request, name: 'a check run name' } + let(:pull_request) { create :github_pull_request, :open, work_packages: [work_package], title: 'A Test PR title' } + let(:check_run) { create :github_check_run, github_pull_request: pull_request, name: 'a check run name' } shared_examples_for "a github tab" do before do @@ -93,7 +93,7 @@ describe 'Open the GitHub tab', type: :feature, js: true do context 'when the user does not have the permissions to see the github tab' do let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i(view_work_packages add_work_package_notes)) end @@ -106,7 +106,7 @@ describe 'Open the GitHub tab', type: :feature, js: true do end context 'when the github integration is not enabled for the project' do - let(:project) { FactoryBot.create(:project, disable_modules: 'github') } + let(:project) { create(:project, disable_modules: 'github') } it 'does not show the github tab' do work_package_page.visit! diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb index 787663dccf1..8d3f9cb88b1 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb @@ -33,9 +33,9 @@ describe ::API::V3::GithubPullRequests::GithubCheckRunRepresenter do subject(:generated) { representer.to_json } - let(:check_run) { FactoryBot.build_stubbed(:github_check_run) } + let(:check_run) { build_stubbed(:github_check_run) } let(:representer) { described_class.create(check_run, current_user: user) } - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } it { is_expected.to include_json('GithubCheckRun'.to_json).at_path('_type') } diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb index ae57539aecc..9cccd9fd9a5 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::GithubPullRequests::GithubPullRequestRepresenter do subject(:generated) { representer.to_json } let(:github_pull_request) do - FactoryBot.build_stubbed(:github_pull_request, + build_stubbed(:github_pull_request, state: 'open', labels: labels, github_user: github_user, @@ -52,13 +52,13 @@ describe ::API::V3::GithubPullRequests::GithubPullRequestRepresenter do } ] end - let(:github_user) { FactoryBot.build_stubbed(:github_user) } - let(:merged_by) { FactoryBot.build_stubbed(:github_user) } + let(:github_user) { build_stubbed(:github_user) } + let(:merged_by) { build_stubbed(:github_user) } let(:latest_check_runs) { [check_run] } - let(:check_run) { FactoryBot.build_stubbed(:github_check_run) } + let(:check_run) { build_stubbed(:github_check_run) } let(:representer) { described_class.create(github_pull_request, current_user: user) } - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } it { is_expected.to include_json('GithubPullRequest'.to_json).at_path('_type') } diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb index d9a61b9fd86..6617013553d 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb @@ -33,10 +33,10 @@ describe ::API::V3::GithubPullRequests::GithubUserRepresenter do subject(:generated) { representer.to_json } - let(:github_user) { FactoryBot.build_stubbed(:github_user) } + let(:github_user) { build_stubbed(:github_user) } let(:representer) { described_class.create(github_user, current_user: user) } - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } it { is_expected.to include_json('GithubUser'.to_json).at_path('_type') } diff --git a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb index ccbf06e0bb0..40625a5a626 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb @@ -47,16 +47,16 @@ describe OpenProject::GithubIntegration::HookHandler do } end let(:host_name) { 'example.net' } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_work_packages add_work_package_notes]) end let(:project) do - FactoryBot.create(:project, members: { user => role }) + create(:project, members: { user => role }) end - let(:work_packages) { FactoryBot.create_list :work_package, 4, project: project } + let(:work_packages) { create_list :work_package, 4, project: project } let(:journal_counts_before) { work_packages.map { |wp| wp.journals.count } } let(:journal_counts_after) { work_packages.map { |wp| wp.journals.count } } @@ -265,13 +265,13 @@ describe OpenProject::GithubIntegration::HookHandler do end context 'when opened mentioning all work_packages with a user having access only to some' do - let(:project_without_permission) { FactoryBot.create(:project) } + let(:project_without_permission) { create(:project) } let(:work_packages) do [ - FactoryBot.create(:work_package, project: project), - FactoryBot.create(:work_package, project: project_without_permission), - FactoryBot.create(:work_package, project: project_without_permission), - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project), + create(:work_package, project: project_without_permission), + create(:work_package, project: project_without_permission), + create(:work_package, project: project) ] end @@ -566,7 +566,7 @@ describe OpenProject::GithubIntegration::HookHandler do context 'when receiving a webhook for a check_run event' do let(:event) { 'check_run' } # github_id comes from the fixture files - let(:github_pull_request) { FactoryBot.create(:github_pull_request, :open, github_id: 606508565) } + let(:github_pull_request) { create(:github_pull_request, :open, github_id: 606508565) } before { github_pull_request } diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb index 8c112f3d52b..45f04f81dab 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb @@ -77,7 +77,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::CheckRun do } ] end - let(:github_pull_request) { FactoryBot.create :github_pull_request, github_id: 123 } + let(:github_pull_request) { create :github_pull_request, github_id: 123 } before { github_pull_request } diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb index 53b855e3414..87bcfc2901f 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb @@ -126,9 +126,9 @@ describe OpenProject::GithubIntegration::NotificationHandler::Helper do end describe '#without_already_referenced' do - let(:work_packages) { FactoryBot.create_list(:work_package, 2) } + let(:work_packages) { create_list(:work_package, 2) } let(:referenced_work_packages) { [work_packages[0]] } - let(:github_pull_request) { FactoryBot.create(:github_pull_request, work_packages: referenced_work_packages) } + let(:github_pull_request) { create(:github_pull_request, work_packages: referenced_work_packages) } it 'returns only the not already referenced work packages' do expect(handler.without_already_referenced(work_packages, github_pull_request)).to match_array([work_packages[1]]) diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb index d91942d5a46..6db36b85762 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb @@ -63,8 +63,8 @@ describe OpenProject::GithubIntegration::NotificationHandler::IssueComment do let(:pr_html_url) { 'https://github.com/test_user/repo/pull/123' } let(:pr_number) { 123 } let(:repo_full_name) { 'test_user/repo' } - let(:github_system_user) { FactoryBot.create :admin } - let(:work_package) { FactoryBot.create :work_package } + let(:github_system_user) { create :admin } + let(:work_package) { create :work_package } before do allow(handler_instance) @@ -134,7 +134,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::IssueComment do end context 'when we already have a GithubPullRequest for the commented PR' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_html_url: pr_html_url) } + let(:github_pull_request) { create(:github_pull_request, github_html_url: pr_html_url) } let(:comment) do "**Referenced in PR:** [test_user](https://github.com/test_user) referenced this work package" \ " in Pull request 123 [PR or issue title](https://comment.url) on [test_user/repo](https://github.com/test_user/repo).\n" @@ -150,7 +150,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::IssueComment do context 'when we already have a GithubPullRequest with that work_package' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, github_html_url: pr_html_url, work_packages: [work_package]) + create(:github_pull_request, github_html_url: pr_html_url, work_packages: [work_package]) end before do @@ -193,7 +193,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::IssueComment do end context 'when we already have a GithubPullRequest for the commented PR' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_html_url: pr_html_url) } + let(:github_pull_request) { create(:github_pull_request, github_html_url: pr_html_url) } let(:comment) do "**Referenced in PR:** [test_user](https://github.com/test_user) referenced this work package" \ " in Pull request 123 [PR or issue title](https://comment.url) on [test_user/repo](https://github.com/test_user/repo).\n" @@ -209,7 +209,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::IssueComment do context 'when we already have a GithubPullRequest with that work_package' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, github_html_url: pr_html_url, work_packages: [work_package]) + create(:github_pull_request, github_html_url: pr_html_url, work_packages: [work_package]) end before do diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb index 15cebe49c1c..c858ccdb04d 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb @@ -32,7 +32,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do subject(:process) { handler_instance.process(payload) } let(:handler_instance) { described_class.new } - let(:github_system_user) { FactoryBot.create(:admin) } + let(:github_system_user) { create(:admin) } let(:upsert_service) { instance_double(OpenProject::GithubIntegration::Services::UpsertPullRequest) } let(:payload) do @@ -76,7 +76,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do } } end - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:pr_body) { "Mentioning OP##{work_package.id}" } let(:pr_merged) { false } let(:pr_draft) { false } @@ -148,7 +148,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do it_behaves_like 'calls the pull request upsert service' context 'when the work package is already known to the GithubPullRequest' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_id: 123, work_packages: [work_package]) } + let(:github_pull_request) { create(:github_pull_request, github_id: 123, work_packages: [work_package]) } before { github_pull_request } @@ -179,7 +179,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do it_behaves_like 'calls the pull request upsert service' context 'when a GithubPullRequest exists that is not linked to the mentioned work package yet' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_id: 123) } + let(:github_pull_request) { create(:github_pull_request, github_id: 123) } before { github_pull_request } @@ -192,7 +192,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do end context 'when the work package is already known to the GithubPullRequest' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_id: 123, work_packages: [work_package]) } + let(:github_pull_request) { create(:github_pull_request, github_id: 123, work_packages: [work_package]) } before { github_pull_request } @@ -205,8 +205,8 @@ describe OpenProject::GithubIntegration::NotificationHandler::PullRequest do end context 'when the a work package is already known to the GithubPullRequest but another work package is new' do - let(:github_pull_request) { FactoryBot.create(:github_pull_request, github_id: 123, work_packages: [work_package]) } - let(:other_work_package) { FactoryBot.create(:work_package) } + let(:github_pull_request) { create(:github_pull_request, github_id: 123, work_packages: [work_package]) } + let(:other_work_package) { create(:work_package) } let(:pr_body) { "Mentioning OP##{work_package.id} and OP##{other_work_package.id}" } before do diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb index 0ad1fe0f9e2..433507dc188 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb @@ -31,7 +31,7 @@ require File.expand_path('../../../../spec_helper', __dir__) describe OpenProject::GithubIntegration::Services::UpsertCheckRun do subject(:upsert) { described_class.new.call(params, pull_request: github_pull_request) } - let(:github_pull_request) { FactoryBot.create :github_pull_request } + let(:github_pull_request) { create :github_pull_request } let(:params) do { 'id' => 123, @@ -74,7 +74,7 @@ describe OpenProject::GithubIntegration::Services::UpsertCheckRun do end context 'when a check run with that id already exists' do - let(:check_run) { FactoryBot.create(:github_check_run, github_id: 123, status: 'queued') } + let(:check_run) { create(:github_check_run, github_id: 123, status: 'queued') } it 'updates the check run' do expect { upsert }.to change { check_run.reload.status }.from('queued').to('completed') diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb index ada755f3096..7a99b782b88 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb @@ -53,7 +53,7 @@ describe OpenProject::GithubIntegration::Services::UpsertGithubUser do context 'when a github user with that id already exists' do let(:github_user) do - FactoryBot.create(:github_user, github_id: 123, github_avatar_url: 'https://github.com/test_user/old_avatar.jpg') + create(:github_user, github_id: 123, github_avatar_url: 'https://github.com/test_user/old_avatar.jpg') end it 'updates the github user' do diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb index 64369276541..d461eaa6e7b 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb @@ -66,7 +66,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPartialPullRequest do } } end - let(:work_packages) { FactoryBot.create_list(:work_package, 1) } + let(:work_packages) { create_list(:work_package, 1) } it 'creates a new github pull request' do expect { upsert }.to change(GithubPullRequest, :count).by(1) @@ -86,7 +86,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPartialPullRequest do context 'when a github pull request with that html_url already exists' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_html_url: 'https://github.com/pulls/1') end @@ -97,7 +97,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPartialPullRequest do context 'when a github pull request with that html_url and work_package exists' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_html_url: 'https://github.com/pulls/1', work_packages: work_packages) end @@ -109,11 +109,11 @@ describe OpenProject::GithubIntegration::Services::UpsertPartialPullRequest do context 'when a github pull request with that html_url and work_package exists and a new work_package is referenced' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_html_url: 'https://github.com/pulls/1', work_packages: already_known_work_packages) end - let(:work_packages) { FactoryBot.create_list(:work_package, 2) } + let(:work_packages) { create_list(:work_package, 2) } let(:already_known_work_packages) { [work_packages[0]] } it 'adds the new work package' do @@ -126,14 +126,14 @@ describe OpenProject::GithubIntegration::Services::UpsertPartialPullRequest do context 'when an open github pull request with that html_url and work_package exists and a new work_package is referenced' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_html_url: 'https://github.com/pulls/1', repository: 'some_user/a_repository', state: 'open', github_id: 1, work_packages: already_known_work_packages) end - let(:work_packages) { FactoryBot.create_list(:work_package, 2) } + let(:work_packages) { create_list(:work_package, 2) } let(:already_known_work_packages) { [work_packages[0]] } it 'adds the new work package and updates attributes' do diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb index 4d9b2bba359..d5bf6f9b2f1 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb @@ -73,8 +73,8 @@ describe OpenProject::GithubIntegration::Services::UpsertPullRequest do 'avatar_url' => 'https://github.com/test_user/avatar.jpg' } end - let(:work_packages) { FactoryBot.create_list(:work_package, 1) } - let(:github_user) { FactoryBot.create(:github_user) } + let(:work_packages) { create_list(:work_package, 1) } + let(:github_user) { create(:github_user) } let(:upsert_github_user_service) { instance_double(OpenProject::GithubIntegration::Services::UpsertGithubUser) } before do @@ -113,7 +113,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPullRequest do context 'when a github pull request with that id already exists' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, github_id: 123, title: 'old title') + create(:github_pull_request, github_id: 123, title: 'old title') end it 'updates the github pull request' do @@ -123,7 +123,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPullRequest do context 'when a partial github pull request with that html_url already exists' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_id: nil, changed_files_count: nil, body: nil, @@ -153,7 +153,7 @@ describe OpenProject::GithubIntegration::Services::UpsertPullRequest do context 'when a github pull request with that id and work_package exists' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, github_id: 123, work_packages: work_packages) + create(:github_pull_request, github_id: 123, work_packages: work_packages) end it 'does not change the associated work packages' do @@ -163,10 +163,10 @@ describe OpenProject::GithubIntegration::Services::UpsertPullRequest do context 'when a github pull request with that id and work_package exists and a new work_package is referenced' do let(:github_pull_request) do - FactoryBot.create(:github_pull_request, github_id: 123, + create(:github_pull_request, github_id: 123, work_packages: already_known_work_packages) end - let(:work_packages) { FactoryBot.create_list(:work_package, 2) } + let(:work_packages) { create_list(:work_package, 2) } let(:already_known_work_packages) { [work_packages[0]] } it 'adds the new work package' do diff --git a/modules/github_integration/spec/models/github_pull_request_spec.rb b/modules/github_integration/spec/models/github_pull_request_spec.rb index 0e1b668153a..160b3c7da2b 100644 --- a/modules/github_integration/spec/models/github_pull_request_spec.rb +++ b/modules/github_integration/spec/models/github_pull_request_spec.rb @@ -66,7 +66,7 @@ describe GithubPullRequest do describe '.without_work_package' do subject { described_class.without_work_package } - let(:pull_request) { FactoryBot.create(:github_pull_request, work_packages: work_packages) } + let(:pull_request) { create(:github_pull_request, work_packages: work_packages) } let(:work_packages) { [] } before { pull_request } @@ -74,7 +74,7 @@ describe GithubPullRequest do it { is_expected.to match_array([pull_request]) } context 'when the pr is linked to a work_package' do - let(:work_packages) { FactoryBot.create_list(:work_package, 1) } + let(:work_packages) { create_list(:work_package, 1) } it { is_expected.to be_empty } end @@ -84,7 +84,7 @@ describe GithubPullRequest do let(:github_id) { 5 } let(:github_url) { 'https://github.com/opf/openproject/pull/123' } let(:pull_request) do - FactoryBot.create(:github_pull_request, + create(:github_pull_request, github_id: github_id, github_html_url: github_url) end @@ -169,35 +169,35 @@ describe GithubPullRequest do describe '#latest_check_runs' do subject { pull_request.reload.latest_check_runs } - let(:pull_request) { FactoryBot.create(:github_pull_request) } + let(:pull_request) { create(:github_pull_request) } it { is_expected.to be_empty } context 'when multiple check_runs from different apps with different names exist' do let(:latest_check_runs) do [ - FactoryBot.create( + create( :github_check_run, app_id: 123, name: 'test', started_at: 1.minute.ago, github_pull_request: pull_request ), - FactoryBot.create( + create( :github_check_run, app_id: 123, name: 'lint', started_at: 1.minute.ago, github_pull_request: pull_request ), - FactoryBot.create( + create( :github_check_run, app_id: 456, name: 'test', started_at: 1.minute.ago, github_pull_request: pull_request ), - FactoryBot.create( + create( :github_check_run, app_id: 789, name: 'test', @@ -208,21 +208,21 @@ describe GithubPullRequest do end let(:outdated_check_runs) do [ - FactoryBot.create( + create( :github_check_run, app_id: 123, name: 'test', started_at: 2.minutes.ago, github_pull_request: pull_request ), - FactoryBot.create( + create( :github_check_run, app_id: 123, name: 'test', started_at: 3.minutes.ago, github_pull_request: pull_request ), - FactoryBot.create( + create( :github_check_run, app_id: 123, name: 'lint', diff --git a/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb b/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb index 37df1307367..444e98f8407 100644 --- a/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb +++ b/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb @@ -32,11 +32,11 @@ require 'spec_helper' describe Cron::ClearOldPullRequestsJob, type: :job do let(:pull_request_without_work_package) do - FactoryBot.create(:github_pull_request, work_packages: []) + create(:github_pull_request, work_packages: []) end - let(:pull_request_with_work_package) { FactoryBot.create(:github_pull_request, work_packages: [work_package]) } - let(:work_package) { FactoryBot.create(:work_package) } - let(:check_run) { FactoryBot.create(:github_check_run, github_pull_request: pull_request_without_work_package) } + let(:pull_request_with_work_package) { create(:github_pull_request, work_packages: [work_package]) } + let(:work_package) { create(:work_package) } + let(:check_run) { create(:github_check_run, github_pull_request: pull_request_without_work_package) } let(:job) { described_class.new } diff --git a/modules/grids/spec/contracts/grids/create_contract_spec.rb b/modules/grids/spec/contracts/grids/create_contract_spec.rb index bb65bc77736..c3dd4d89f7d 100644 --- a/modules/grids/spec/contracts/grids/create_contract_spec.rb +++ b/modules/grids/spec/contracts/grids/create_contract_spec.rb @@ -38,7 +38,7 @@ describe Grids::CreateContract do it_behaves_like 'shared grid contract attributes' describe 'type' do - let(:grid) { FactoryBot.build_stubbed(:grid, default_values) } + let(:grid) { build_stubbed(:grid, default_values) } it_behaves_like 'is writable' do let(:attribute) { :type } @@ -47,7 +47,7 @@ describe Grids::CreateContract do end describe 'user_id' do - let(:grid) { FactoryBot.build_stubbed(:grid, default_values) } + let(:grid) { build_stubbed(:grid, default_values) } it_behaves_like 'is not writable' do let(:attribute) { :user_id } @@ -56,7 +56,7 @@ describe Grids::CreateContract do end describe 'project_id' do - let(:grid) { FactoryBot.build_stubbed(:grid, default_values) } + let(:grid) { build_stubbed(:grid, default_values) } it_behaves_like 'is not writable' do let(:attribute) { :project_id } diff --git a/modules/grids/spec/contracts/grids/delete_contract_spec.rb b/modules/grids/spec/contracts/grids/delete_contract_spec.rb index 3fa2fabae3a..fc542270c5e 100644 --- a/modules/grids/spec/contracts/grids/delete_contract_spec.rb +++ b/modules/grids/spec/contracts/grids/delete_contract_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Grids::DeleteContract do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:grid) do - FactoryBot.build_stubbed(:grid) + build_stubbed(:grid) end let(:instance) { described_class.new(grid, user) } diff --git a/modules/grids/spec/contracts/grids/shared_examples.rb b/modules/grids/spec/contracts/grids/shared_examples.rb index b0bf64d9a7e..2ee052fe71e 100644 --- a/modules/grids/spec/contracts/grids/shared_examples.rb +++ b/modules/grids/spec/contracts/grids/shared_examples.rb @@ -29,7 +29,7 @@ #++ shared_context 'grid contract' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(grid, user) } let(:widgets) { [] } let(:default_values) do @@ -40,7 +40,7 @@ shared_context 'grid contract' do } end let(:grid) do - FactoryBot.build_stubbed(:grid, default_values) + build_stubbed(:grid, default_values) end shared_examples_for 'validates positive integer' do @@ -117,7 +117,7 @@ shared_examples_for 'shared grid contract attributes' do describe 'valid grid subclasses' do context 'for the Grid superclass itself' do let(:grid) do - FactoryBot.build_stubbed(:grid, default_values) + build_stubbed(:grid, default_values) end before do @@ -196,7 +196,7 @@ shared_examples_for 'shared grid contract attributes' do context 'if there are existing widgets that are not allowed' do let(:widgets) do - [FactoryBot.build_stubbed(:grid_widget, identifier: 'widget2', start_row: 1, end_row: 3, start_column: 1, end_column: 3)] + [build_stubbed(:grid_widget, identifier: 'widget2', start_row: 1, end_row: 3, start_column: 1, end_column: 3)] end it 'is valid' do diff --git a/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb b/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb index 9a59e52436d..ee60c7c4303 100644 --- a/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Grids::GridPayloadRepresenter, 'parsing' do let(:object) do OpenStruct.new end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(object, current_user: user, embed_links: true) end diff --git a/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb b/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb index a784b064bcd..9b096c579be 100644 --- a/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb @@ -33,12 +33,12 @@ describe ::API::V3::Grids::GridRepresenter, 'rendering' do include API::V3::Utilities::PathHelper let(:grid) do - FactoryBot.build_stubbed( + build_stubbed( :grid, row_count: 4, column_count: 5, widgets: [ - FactoryBot.build_stubbed( + build_stubbed( :grid_widget, identifier: 'work_packages_assigned', start_row: 4, @@ -46,7 +46,7 @@ describe ::API::V3::Grids::GridRepresenter, 'rendering' do start_column: 1, end_column: 2 ), - FactoryBot.build_stubbed( + build_stubbed( :grid_widget, identifier: 'work_packages_created', start_row: 1, @@ -54,7 +54,7 @@ describe ::API::V3::Grids::GridRepresenter, 'rendering' do start_column: 1, end_column: 2 ), - FactoryBot.build_stubbed( + build_stubbed( :grid_widget, identifier: 'work_packages_watched', start_row: 2, @@ -67,7 +67,7 @@ describe ::API::V3::Grids::GridRepresenter, 'rendering' do end let(:embed_links) { true } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:representer) { described_class.new(grid, current_user: current_user, embed_links: embed_links) } let(:writable) { true } diff --git a/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb b/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb index 05e858dedc5..c06c2e95a56 100644 --- a/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Grids::Schemas::GridSchemaRepresenter do include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:self_link) { '/a/self/link' } let(:embedded) { true } diff --git a/modules/grids/spec/models/grids/shared_model.rb b/modules/grids/spec/models/grids/shared_model.rb index f4a853956f5..c5a532b30d1 100644 --- a/modules/grids/spec/models/grids/shared_model.rb +++ b/modules/grids/spec/models/grids/shared_model.rb @@ -77,6 +77,6 @@ shared_examples_for 'grid attributes' do it_behaves_like 'acts_as_attachable included' do let(:model_instance) { instance } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } end end diff --git a/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index c3c553152c4..72dfde47388 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -34,7 +34,7 @@ describe "POST /api/v3/grids/form", type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:path) { api_v3_paths.create_grid_form } diff --git a/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb index 8dd390e1156..cda43d760fb 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -34,7 +34,7 @@ describe 'API v3 Grids resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end before do diff --git a/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb index 938295ba7ab..a0c47bfa56d 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb @@ -34,7 +34,7 @@ describe 'API v3 Grids schema resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:path) { api_v3_paths.grid_schema } diff --git a/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 03770e2d93d..090d86977f3 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -34,7 +34,7 @@ describe "PATCH /api/v3/grids/:id/form", type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:params) { {} } diff --git a/modules/grids/spec/services/grids/set_attributes_service_spec.rb b/modules/grids/spec/services/grids/set_attributes_service_spec.rb index 1315b267a30..5c3388ee62f 100644 --- a/modules/grids/spec/services/grids/set_attributes_service_spec.rb +++ b/modules/grids/spec/services/grids/set_attributes_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Grids::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -58,7 +58,7 @@ describe Grids::SetAttributesService, type: :model do let(:call_attributes) { {} } let(:grid_class) { Grids::Grid } let(:grid) do - FactoryBot.build_stubbed(grid_class.name.demodulize.underscore.to_sym, widgets: []) + build_stubbed(grid_class.name.demodulize.underscore.to_sym, widgets: []) end describe 'call' do @@ -97,7 +97,7 @@ describe Grids::SetAttributesService, type: :model do context 'with additional widgets' do let(:widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -142,7 +142,7 @@ describe Grids::SetAttributesService, type: :model do context 'with the grid being a new record' do let(:existing_widgets) do [ - FactoryBot.build(:grid_widget, + build(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -152,7 +152,7 @@ describe Grids::SetAttributesService, type: :model do end let(:grid) do - FactoryBot.build( + build( :grid, widgets: existing_widgets ) @@ -176,7 +176,7 @@ describe Grids::SetAttributesService, type: :model do context 'with empty widget params' do let(:existing_widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -185,7 +185,7 @@ describe Grids::SetAttributesService, type: :model do ] end let(:grid) do - FactoryBot.build_stubbed( + build_stubbed( grid_class.name.demodulize.underscore.to_sym, widgets: existing_widgets ) @@ -222,7 +222,7 @@ describe Grids::SetAttributesService, type: :model do context 'with the grid being a new record' do let(:existing_widgets) do [ - FactoryBot.build(:grid_widget, + build(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -232,7 +232,7 @@ describe Grids::SetAttributesService, type: :model do end let(:grid) do - FactoryBot.build( + build( :grid, widgets: existing_widgets ) @@ -256,7 +256,7 @@ describe Grids::SetAttributesService, type: :model do context 'without widget params' do let(:existing_widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -265,7 +265,7 @@ describe Grids::SetAttributesService, type: :model do ] end let(:grid) do - FactoryBot.build_stubbed( + build_stubbed( grid_class.name.demodulize.underscore.to_sym, widgets: existing_widgets ) @@ -298,7 +298,7 @@ describe Grids::SetAttributesService, type: :model do context 'with the grid being a new record' do let(:existing_widgets) do [ - FactoryBot.build(:grid_widget, + build(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, @@ -308,7 +308,7 @@ describe Grids::SetAttributesService, type: :model do end let(:grid) do - FactoryBot.build( + build( :grid, widgets: existing_widgets ) @@ -332,7 +332,7 @@ describe Grids::SetAttributesService, type: :model do context 'with updates to an existing widget' do let(:widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, id: existing_widgets[0].id, identifier: 'work_packages_assigned', start_row: 3, @@ -343,7 +343,7 @@ describe Grids::SetAttributesService, type: :model do end let(:existing_widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 2, end_row: 5, @@ -352,7 +352,7 @@ describe Grids::SetAttributesService, type: :model do ] end let(:grid) do - FactoryBot.build_stubbed( + build_stubbed( grid_class.name.demodulize.underscore.to_sym, widgets: existing_widgets ) @@ -378,25 +378,25 @@ describe Grids::SetAttributesService, type: :model do context 'with additions and updates to existing widgets' do let(:widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 3, end_row: 5, start_column: 1, end_column: 3), - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_watched', start_row: 1, end_row: 2, start_column: 1, end_column: 2), - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_calendar', start_row: 2, end_row: 4, start_column: 1, end_column: 2), - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_calendar', start_row: 1, end_row: 2, @@ -406,19 +406,19 @@ describe Grids::SetAttributesService, type: :model do end let(:existing_widgets) do [ - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 2, end_row: 5, start_column: 1, end_column: 3), - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_assigned', start_row: 1, end_row: 2, start_column: 3, end_column: 4), - FactoryBot.build_stubbed(:grid_widget, + build_stubbed(:grid_widget, identifier: 'work_packages_calendar', start_row: 1, end_row: 2, @@ -427,7 +427,7 @@ describe Grids::SetAttributesService, type: :model do ] end let(:grid) do - FactoryBot.build_stubbed( + build_stubbed( grid_class.name.demodulize.underscore.to_sym, widgets: existing_widgets ) diff --git a/modules/grids/spec/services/grids/update_service_spec.rb b/modules/grids/spec/services/grids/update_service_spec.rb index 00d0f93cdbc..dac23c37ab6 100644 --- a/modules/grids/spec/services/grids/update_service_spec.rb +++ b/modules/grids/spec/services/grids/update_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Grids::UpdateService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do double('contract_class', "<=": true) end @@ -55,7 +55,7 @@ describe Grids::UpdateService, type: :model do errors: set_attributes_errors end let!(:grid) do - grid = FactoryBot.build_stubbed(grid_class.name.demodulize.underscore.to_sym) + grid = build_stubbed(grid_class.name.demodulize.underscore.to_sym) allow(grid) .to receive(:save) @@ -150,7 +150,7 @@ describe Grids::UpdateService, type: :model do end context 'with parameters only for widgets' do - let(:call_attributes) { { widgets: [FactoryBot.build_stubbed(:grid_widget)] } } + let(:call_attributes) { { widgets: [build_stubbed(:grid_widget)] } } before do allow(set_attributes_service) diff --git a/modules/job_status/spec/features/job_status_spec.rb b/modules/job_status/spec/features/job_status_spec.rb index 68581d74c4b..e4455ae7f9a 100644 --- a/modules/job_status/spec/features/job_status_spec.rb +++ b/modules/job_status/spec/features/job_status_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Job status', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as admin @@ -43,7 +43,7 @@ describe 'Job status', type: :feature, js: true do end describe 'with a status that has an additional errors payload' do - let!(:status) { FactoryBot.create(:delayed_job_status, user: admin) } + let!(:status) { create(:delayed_job_status, user: admin) } before do status.update! payload: { errors: ['Some error', 'Another error'] } @@ -59,7 +59,7 @@ describe 'Job status', type: :feature, js: true do end describe 'with a status with error and redirect' do - let!(:status) { FactoryBot.create(:delayed_job_status, user: admin) } + let!(:status) { create(:delayed_job_status, user: admin) } before do status.update! payload: { redirect: home_url, errors: ['Some error'] } diff --git a/modules/ldap_groups/spec/controllers/synchronized_groups_controller_spec.rb b/modules/ldap_groups/spec/controllers/synchronized_groups_controller_spec.rb index f9d8acaf9af..463aef5eb8b 100644 --- a/modules/ldap_groups/spec/controllers/synchronized_groups_controller_spec.rb +++ b/modules/ldap_groups/spec/controllers/synchronized_groups_controller_spec.rb @@ -1,8 +1,8 @@ require_relative '../spec_helper' describe ::LdapGroups::SynchronizedGroupsController, with_ee: %i[ldap_groups], type: :controller do - let(:user) { FactoryBot.create :user } - let(:admin) { FactoryBot.create :admin } + let(:user) { create :user } + let(:admin) { create :admin } before do allow(User).to receive(:current).and_return(logged_in_user) @@ -55,7 +55,7 @@ describe ::LdapGroups::SynchronizedGroupsController, with_ee: %i[ldap_groups], t end context 'when entry exists' do - let!(:group) { FactoryBot.build_stubbed :ldap_synchronized_group } + let!(:group) { build_stubbed :ldap_synchronized_group } let(:id) { 'foo' } it 'renders the page' do @@ -165,7 +165,7 @@ describe ::LdapGroups::SynchronizedGroupsController, with_ee: %i[ldap_groups], t end context 'when entry exists' do - let!(:group) { FactoryBot.build_stubbed :ldap_synchronized_group } + let!(:group) { build_stubbed :ldap_synchronized_group } let(:id) { 'foo' } it 'renders the page' do @@ -206,7 +206,7 @@ describe ::LdapGroups::SynchronizedGroupsController, with_ee: %i[ldap_groups], t end context 'when entry exists' do - let!(:group) { FactoryBot.build_stubbed :ldap_synchronized_group } + let!(:group) { build_stubbed :ldap_synchronized_group } let(:id) { 'foo' } before do diff --git a/modules/ldap_groups/spec/features/administration_spec.rb b/modules/ldap_groups/spec/features/administration_spec.rb index ea745cf5981..9764bea7cf1 100644 --- a/modules/ldap_groups/spec/features/administration_spec.rb +++ b/modules/ldap_groups/spec/features/administration_spec.rb @@ -1,7 +1,7 @@ require_relative '../spec_helper' describe 'LDAP group sync administration spec', type: :feature, js: true do - let(:admin) { FactoryBot.create :admin } + let(:admin) { create :admin } before do login_as admin @@ -15,8 +15,8 @@ describe 'LDAP group sync administration spec', type: :feature, js: true do end context 'with EE', with_ee: %i[ldap_groups] do - let!(:group) { FactoryBot.create :group, lastname: 'foo' } - let!(:auth_source) { FactoryBot.create :ldap_auth_source, name: 'ldap' } + let!(:group) { create :group, lastname: 'foo' } + let!(:auth_source) { create :ldap_auth_source, name: 'ldap' } it 'allows synced group administration flow' do expect(page).to have_no_selector('.upsale-notification') diff --git a/modules/ldap_groups/spec/models/membership_spec.rb b/modules/ldap_groups/spec/models/membership_spec.rb index f86aac73a1a..9bade680670 100644 --- a/modules/ldap_groups/spec/models/membership_spec.rb +++ b/modules/ldap_groups/spec/models/membership_spec.rb @@ -2,9 +2,9 @@ require 'spec_helper' describe LdapGroups::Membership, type: :model do describe 'destroy' do - let(:synchronized_group) { FactoryBot.create :ldap_synchronized_group, group: group } - let(:group) { FactoryBot.create :group } - let(:user) { FactoryBot.create :user } + let(:synchronized_group) { create :ldap_synchronized_group, group: group } + let(:group) { create :group } + let(:user) { create :user } before do User.system.run_given do diff --git a/modules/ldap_groups/spec/models/synchronized_filter_spec.rb b/modules/ldap_groups/spec/models/synchronized_filter_spec.rb index 2563b7dfe99..698a82723e5 100644 --- a/modules/ldap_groups/spec/models/synchronized_filter_spec.rb +++ b/modules/ldap_groups/spec/models/synchronized_filter_spec.rb @@ -2,8 +2,8 @@ require 'spec_helper' describe LdapGroups::SynchronizedFilter, type: :model do describe '#used_base_dn' do - let(:auth_source) { FactoryBot.build :ldap_auth_source, base_dn: 'dc=example,dc=com' } - let(:filter) { FactoryBot.build :ldap_synchronized_filter, auth_source: auth_source } + let(:auth_source) { build :ldap_auth_source, base_dn: 'dc=example,dc=com' } + let(:filter) { build :ldap_synchronized_filter, auth_source: auth_source } it 'validates the end of the base dn matches the auth_source' do filter.base_dn = nil @@ -13,8 +13,8 @@ describe LdapGroups::SynchronizedFilter, type: :model do end describe '#base_dn' do - let(:auth_source) { FactoryBot.build :ldap_auth_source, base_dn: 'dc=example,dc=com' } - let(:filter) { FactoryBot.build :ldap_synchronized_filter, auth_source: auth_source } + let(:auth_source) { build :ldap_auth_source, base_dn: 'dc=example,dc=com' } + let(:filter) { build :ldap_synchronized_filter, auth_source: auth_source } it 'validates the end of the base dn matches the auth_source' do filter.base_dn = nil diff --git a/modules/ldap_groups/spec/models/synchronized_group_spec.rb b/modules/ldap_groups/spec/models/synchronized_group_spec.rb index e07141b4051..5f0bb635589 100644 --- a/modules/ldap_groups/spec/models/synchronized_group_spec.rb +++ b/modules/ldap_groups/spec/models/synchronized_group_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' describe LdapGroups::SynchronizedGroup, type: :model do describe 'validations' do - subject { FactoryBot.build :ldap_synchronized_group } + subject { build :ldap_synchronized_group } context 'correct attributes' do it 'saves the record' do @@ -23,12 +23,12 @@ describe LdapGroups::SynchronizedGroup, type: :model do describe 'manipulating members' do let(:users) { [user_1, user_2] } - let(:user_1) { FactoryBot.create :user } - let(:user_2) { FactoryBot.create :user } + let(:user_1) { create :user } + let(:user_2) { create :user } describe '.add_members!' do - let(:synchronized_group) { FactoryBot.create :ldap_synchronized_group, group: group } - let(:group) { FactoryBot.create :group } + let(:synchronized_group) { create :ldap_synchronized_group, group: group } + let(:group) { create :group } shared_examples 'it adds users to the synchronized group and the internal one' do let(:members) { raise "define me!" } @@ -66,13 +66,13 @@ describe LdapGroups::SynchronizedGroup, type: :model do describe '.remove_members!' do let(:synchronized_group) do - FactoryBot.create(:ldap_synchronized_group, group: group).tap do |sg| + create(:ldap_synchronized_group, group: group).tap do |sg| group.users.each do |user| sg.users.create user: user end end end - let(:group) { FactoryBot.create :group, members: users } + let(:group) { create :group, members: users } shared_examples 'it removes the users from the synchronized group and the internal one' do let(:members) { raise "define me!" } diff --git a/modules/ldap_groups/spec/services/synchronization_spec.rb b/modules/ldap_groups/spec/services/synchronization_spec.rb index 18533904d25..950d6b39f97 100644 --- a/modules/ldap_groups/spec/services/synchronization_spec.rb +++ b/modules/ldap_groups/spec/services/synchronization_spec.rb @@ -20,7 +20,7 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do # three users aa729, bb459, cc414 # two groups foo (aa729), bar(aa729, bb459, cc414) let(:auth_source) do - FactoryBot.create :ldap_auth_source, + create :ldap_auth_source, port: ParallelHelper.port_for_ldap.to_s, account: 'uid=admin,ou=system', account_password: 'secret', @@ -37,22 +37,22 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do let(:sync_users) { false } let(:ldap_filter) { nil } - let(:user_aa729) { FactoryBot.create :user, login: 'aa729', auth_source: auth_source } - let(:user_bb459) { FactoryBot.create :user, login: 'bb459', auth_source: auth_source } - let(:user_cc414) { FactoryBot.create :user, login: 'cc414', auth_source: auth_source } + let(:user_aa729) { create :user, login: 'aa729', auth_source: auth_source } + let(:user_bb459) { create :user, login: 'bb459', auth_source: auth_source } + let(:user_cc414) { create :user, login: 'cc414', auth_source: auth_source } - let(:group_foo) { FactoryBot.create :group, lastname: 'foo_internal' } - let(:group_bar) { FactoryBot.create :group, lastname: 'bar' } + let(:group_foo) { create :group, lastname: 'foo_internal' } + let(:group_bar) { create :group, lastname: 'bar' } let(:synced_foo) do - FactoryBot.create :ldap_synchronized_group, + create :ldap_synchronized_group, dn: 'cn=foo,ou=groups,dc=example,dc=com', group: group_foo, sync_users: sync_users, auth_source: auth_source end let(:synced_bar) do - FactoryBot.create :ldap_synchronized_group, + create :ldap_synchronized_group, dn: 'cn=bar,ou=groups,dc=example,dc=com', group: group_bar, sync_users: sync_users, @@ -285,7 +285,7 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do end context 'foo group exists' do - let(:group_foo) { FactoryBot.create :group, lastname: 'foo_internal', members: user_aa729 } + let(:group_foo) { create :group, lastname: 'foo_internal', members: user_aa729 } before do group_foo @@ -307,9 +307,9 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do describe 'removing memberships' do context 'with a user in a group thats not in ldap' do - let(:group_foo) { FactoryBot.create :group, lastname: 'foo_internal', members: [user_cc414, user_aa729] } - let(:manager) { FactoryBot.create :role, name: 'Manager' } - let(:project) { FactoryBot.create :project, name: 'Project 1', identifier: 'project1', members: { group_foo => [manager] } } + let(:group_foo) { create :group, lastname: 'foo_internal', members: [user_cc414, user_aa729] } + let(:manager) { create :role, name: 'Manager' } + let(:project) { create :project, name: 'Project 1', identifier: 'project1', members: { group_foo => [manager] } } before do project @@ -337,7 +337,7 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do end context 'with invalid connection' do - let(:auth_source) { FactoryBot.create :ldap_auth_source } + let(:auth_source) { create :ldap_auth_source } before do synced_foo @@ -351,11 +351,11 @@ describe LdapGroups::SynchronizeGroupsService, with_ee: %i[ldap_groups] do context 'with invalid base' do let(:synced_foo) do - FactoryBot.create :ldap_synchronized_group, dn: 'cn=foo,ou=invalid,dc=example,dc=com', group: group_foo, + create :ldap_synchronized_group, dn: 'cn=foo,ou=invalid,dc=example,dc=com', group: group_foo, auth_source: auth_source end let(:synced_bar) do - FactoryBot.create :ldap_synchronized_group, dn: 'cn=bar,ou=invalid,dc=example,dc=com', group: group_bar, + create :ldap_synchronized_group, dn: 'cn=bar,ou=invalid,dc=example,dc=com', group: group_bar, auth_source: auth_source end diff --git a/modules/ldap_groups/spec/services/synchronize_filter_spec.rb b/modules/ldap_groups/spec/services/synchronize_filter_spec.rb index 8ce7f249a5f..e952a13463e 100644 --- a/modules/ldap_groups/spec/services/synchronize_filter_spec.rb +++ b/modules/ldap_groups/spec/services/synchronize_filter_spec.rb @@ -16,7 +16,7 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do # three users aa729, bb459, cc414 # two groups foo (aa729), bar(aa729, bb459, cc414) let(:auth_source) do - FactoryBot.create :ldap_auth_source, + create :ldap_auth_source, port: ParallelHelper.port_for_ldap.to_s, account: 'uid=admin,ou=system', account_password: 'secret', @@ -24,11 +24,11 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do attr_login: 'uid' end - let(:group_foo) { FactoryBot.create :group, lastname: 'foo' } - let(:group_bar) { FactoryBot.create :group, lastname: 'bar' } + let(:group_foo) { create :group, lastname: 'foo' } + let(:group_bar) { create :group, lastname: 'bar' } let(:synced_foo) do - FactoryBot.create( + create( :ldap_synchronized_group, dn: 'cn=foo,ou=groups,dc=example,dc=com', group: group_foo, @@ -36,7 +36,7 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do ) end let(:synced_bar) do - FactoryBot.create( + create( :ldap_synchronized_group, dn: 'cn=bar,ou=groups,dc=example,dc=com', group: group_bar, @@ -44,7 +44,7 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do ) end - let(:filter_foo_bar) { FactoryBot.create :ldap_synchronized_filter, auth_source: auth_source } + let(:filter_foo_bar) { create :ldap_synchronized_filter, auth_source: auth_source } subject { described_class.new(filter_foo_bar).call } @@ -93,14 +93,14 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do describe 'when one group already exists with different settings' do let(:synced_foo) do - FactoryBot.create :ldap_synchronized_group, + create :ldap_synchronized_group, dn: 'cn=foo,ou=groups,dc=example,dc=com', group: group_foo, sync_users: false, auth_source: auth_source end let(:filter_foo_bar) do - FactoryBot.create :ldap_synchronized_filter, + create :ldap_synchronized_filter, sync_users: true, auth_source: auth_source end @@ -119,9 +119,9 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do end describe 'when it has a group that no longer exists in ldap' do - let!(:group_doesnotexist) { FactoryBot.create :group, lastname: 'doesnotexist' } + let!(:group_doesnotexist) { create :group, lastname: 'doesnotexist' } let!(:synced_doesnotexist) do - FactoryBot.create :ldap_synchronized_group, + create :ldap_synchronized_group, dn: 'cn=doesnotexist,ou=groups,dc=example,dc=com', group: group_doesnotexist, filter: filter_foo_bar, @@ -135,7 +135,7 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do end describe 'when filter has sync_users selected' do - let(:filter_foo_bar) { FactoryBot.create :ldap_synchronized_filter, auth_source: auth_source, sync_users: true } + let(:filter_foo_bar) { create :ldap_synchronized_filter, auth_source: auth_source, sync_users: true } it 'creates the groups with sync_users flag set' do expect { subject }.not_to raise_error @@ -153,7 +153,7 @@ describe LdapGroups::SynchronizeFilterService, with_ee: %i[ldap_groups] do describe 'when filter has its own base dn' do let(:filter_foo_bar) do - FactoryBot.create :ldap_synchronized_filter, + create :ldap_synchronized_filter, auth_source: auth_source, base_dn: 'ou=users,dc=example,dc=com' end diff --git a/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb b/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb index 874a33a19bf..bb067ac6abf 100644 --- a/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb +++ b/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb @@ -33,8 +33,8 @@ require 'contracts/shared/model_contract_shared_context' describe MeetingContents::UpdateContract do include_context 'ModelContract shared context' - let(:agenda) { FactoryBot.build_stubbed(:meeting_agenda) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:agenda) { build_stubbed(:meeting_agenda) } + let(:current_user) { build_stubbed(:user) } let(:contract) { described_class.new(agenda, current_user) } context 'when not editable' do diff --git a/modules/meeting/spec/controllers/meeting_contents_controller_spec.rb b/modules/meeting/spec/controllers/meeting_contents_controller_spec.rb index 452586fb41d..085d84326cd 100644 --- a/modules/meeting/spec/controllers/meeting_contents_controller_spec.rb +++ b/modules/meeting/spec/controllers/meeting_contents_controller_spec.rb @@ -29,19 +29,19 @@ require 'spec_helper' describe MeetingContentsController do - shared_let(:role) { FactoryBot.create(:role, permissions: [:view_meetings]) } - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:author) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - shared_let(:watcher1) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - shared_let(:watcher2) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } + shared_let(:role) { create(:role, permissions: [:view_meetings]) } + shared_let(:project) { create(:project) } + shared_let(:author) { create(:user, member_in_project: project, member_through_role: role) } + shared_let(:watcher1) { create(:user, member_in_project: project, member_through_role: role) } + shared_let(:watcher2) { create(:user, member_in_project: project, member_through_role: role) } shared_let(:meeting) do User.execute_as author do - FactoryBot.create(:meeting, author: author, project: project) + create(:meeting, author: author, project: project) end end shared_let(:meeting_agenda) do User.execute_as author do - FactoryBot.create(:meeting_agenda, meeting: meeting) + create(:meeting_agenda, meeting: meeting) end end diff --git a/modules/meeting/spec/controllers/meetings_controller_spec.rb b/modules/meeting/spec/controllers/meetings_controller_spec.rb index 907beca590a..22a834311b0 100644 --- a/modules/meeting/spec/controllers/meetings_controller_spec.rb +++ b/modules/meeting/spec/controllers/meetings_controller_spec.rb @@ -29,7 +29,7 @@ require File.dirname(__FILE__) + '/../spec_helper' describe MeetingsController, type: :controller do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } before do allow(Project).to receive(:find).and_return(project) @@ -41,9 +41,9 @@ describe MeetingsController, type: :controller do describe 'GET' do describe 'index' do before(:each) do - @ms = [FactoryBot.build_stubbed(:meeting), - FactoryBot.build_stubbed(:meeting), - FactoryBot.build_stubbed(:meeting)] + @ms = [build_stubbed(:meeting), + build_stubbed(:meeting), + build_stubbed(:meeting)] allow(@ms).to receive(:from_tomorrow).and_return(@ms) allow(project).to receive(:meetings).and_return(@ms) @@ -64,7 +64,7 @@ describe MeetingsController, type: :controller do describe 'show' do before(:each) do - @m = FactoryBot.build_stubbed(:meeting, project: project, agenda: nil) + @m = build_stubbed(:meeting, project: project, agenda: nil) allow(Meeting).to receive_message_chain(:includes, :find).and_return(@m) end describe 'html' do @@ -78,7 +78,7 @@ describe MeetingsController, type: :controller do describe 'new' do before(:each) do allow(Project).to receive(:find).and_return(project) - @m = FactoryBot.build_stubbed(:meeting) + @m = build_stubbed(:meeting) allow(Meeting).to receive(:new).and_return(@m) end describe 'html' do @@ -92,7 +92,7 @@ describe MeetingsController, type: :controller do describe 'edit' do before(:each) do - @m = FactoryBot.build_stubbed(:meeting, project: project) + @m = build_stubbed(:meeting, project: project) allow(Meeting).to receive_message_chain(:includes, :find).and_return(@m) end describe 'html' do diff --git a/modules/meeting/spec/features/meetings_activity_spec.rb b/modules/meeting/spec/features/meetings_activity_spec.rb index 21ee6ec6cd4..b3d6b66d80f 100644 --- a/modules/meeting/spec/features/meetings_activity_spec.rb +++ b/modules/meeting/spec/features/meetings_activity_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe 'Meetings', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings activity] } - let(:user) { FactoryBot.create(:admin) } + let(:project) { create :project, enabled_module_names: %w[meetings activity] } + let(:user) { create(:admin) } - let!(:meeting) { FactoryBot.create :meeting, project: project, title: 'Awesome meeting!' } - let!(:agenda) { FactoryBot.create :meeting_agenda, meeting: meeting, text: 'foo' } - let!(:minutes) { FactoryBot.create :meeting_minutes, meeting: meeting, text: 'minutes' } + let!(:meeting) { create :meeting, project: project, title: 'Awesome meeting!' } + let!(:agenda) { create :meeting_agenda, meeting: meeting, text: 'foo' } + let!(:minutes) { create :meeting_minutes, meeting: meeting, text: 'minutes' } before do login_as(user) diff --git a/modules/meeting/spec/features/meetings_attachments_spec.rb b/modules/meeting/spec/features/meetings_attachments_spec.rb index e090c1ef291..345c1c30d4f 100644 --- a/modules/meeting/spec/features/meetings_attachments_spec.rb +++ b/modules/meeting/spec/features/meetings_attachments_spec.rb @@ -3,21 +3,21 @@ require 'features/page_objects/notification' describe 'Add an attachment to a meeting (agenda)', js: true do let(:role) do - FactoryBot.create :role, permissions: %i[view_meetings edit_meetings create_meeting_agendas] + create :role, permissions: %i[view_meetings edit_meetings create_meeting_agendas] end let(:dev) do - FactoryBot.create :user, member_in_project: project, member_through_role: role + create :user, member_in_project: project, member_through_role: role end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:meeting) do - FactoryBot.create( + create( :meeting, project: project, title: "Versammlung", - agenda: FactoryBot.create(:meeting_agenda, text: "Versammlung") + agenda: create(:meeting_agenda, text: "Versammlung") ) end diff --git a/modules/meeting/spec/features/meetings_close_spec.rb b/modules/meeting/spec/features/meetings_close_spec.rb index d0c038605c8..b93a5b94d29 100644 --- a/modules/meeting/spec/features/meetings_close_spec.rb +++ b/modules/meeting/spec/features/meetings_close_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'Meetings close', type: :feature do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } + let(:project) { create :project, enabled_module_names: %w[meetings] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end - let!(:meeting) { FactoryBot.create :meeting, project: project, title: 'Own awesome meeting!', author: user } - let!(:meeting_agenda) { FactoryBot.create :meeting_agenda, meeting: meeting, text: "asdf" } + let!(:meeting) { create :meeting, project: project, title: 'Own awesome meeting!', author: user } + let!(:meeting_agenda) { create :meeting_agenda, meeting: meeting, text: "asdf" } before do login_as(user) diff --git a/modules/meeting/spec/features/meetings_copy_spec.rb b/modules/meeting/spec/features/meetings_copy_spec.rb index 262af4ea8c8..3a1148a8ccc 100644 --- a/modules/meeting/spec/features/meetings_copy_spec.rb +++ b/modules/meeting/spec/features/meetings_copy_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe 'Meetings copy', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } + let(:project) { create :project, enabled_module_names: %w[meetings] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions).tap do |u| u.pref[:time_zone] = 'UTC' @@ -40,7 +40,7 @@ describe 'Meetings copy', type: :feature, js: true do end end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -48,14 +48,14 @@ describe 'Meetings copy', type: :feature, js: true do let(:agenda_text) { "We will talk" } let!(:meeting) do - FactoryBot.create(:meeting, + create(:meeting, author: other_user, project: project, title: 'Awesome meeting!', location: 'Meeting room', duration: 1.5, start_time: DateTime.parse("2013-03-27 18:55:00")).tap do |m| - FactoryBot.create(:meeting_agenda, meeting: m, text: agenda_text) + create(:meeting_agenda, meeting: m, text: agenda_text) m.participants.build(user: other_user, attended: true) end end diff --git a/modules/meeting/spec/features/meetings_delete_spec.rb b/modules/meeting/spec/features/meetings_delete_spec.rb index 648c7e79a99..6f95884a6dc 100644 --- a/modules/meeting/spec/features/meetings_delete_spec.rb +++ b/modules/meeting/spec/features/meetings_delete_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'Meetings deletion', type: :feature do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } + let(:project) { create :project, enabled_module_names: %w[meetings] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end - let!(:meeting) { FactoryBot.create :meeting, project: project, title: 'Own awesome meeting!', author: user } - let!(:other_meeting) { FactoryBot.create :meeting, project: project, title: 'Other awesome meeting!', author: other_user } + let!(:meeting) { create :meeting, project: project, title: 'Own awesome meeting!', author: user } + let!(:other_meeting) { create :meeting, project: project, title: 'Other awesome meeting!', author: other_user } before do login_as(user) diff --git a/modules/meeting/spec/features/meetings_index_spec.rb b/modules/meeting/spec/features/meetings_index_spec.rb index 37923c8b195..a09a4640786 100644 --- a/modules/meeting/spec/features/meetings_index_spec.rb +++ b/modules/meeting/spec/features/meetings_index_spec.rb @@ -31,14 +31,14 @@ require 'spec_helper' require_relative '../support/pages/meetings/index' describe 'Meetings', type: :feature do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } - let(:other_project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create :project, enabled_module_names: %w[meetings] } + let(:other_project) { create :project, enabled_module_names: %w[meetings] } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_meetings) } let(:user) do - FactoryBot.create(:user) do |user| + create(:user) do |user| [project, other_project].each do |p| - FactoryBot.create(:member, + create(:member, project: p, principal: user, roles: [role]) @@ -47,16 +47,16 @@ describe 'Meetings', type: :feature do end let(:meeting) do - FactoryBot.create :meeting, project: project, title: 'Awesome meeting today!', start_time: Time.now + create :meeting, project: project, title: 'Awesome meeting today!', start_time: Time.now end let(:tomorrows_meeting) do - FactoryBot.create :meeting, project: project, title: 'Awesome meeting tomorrow!', start_time: Time.now + 1.day + create :meeting, project: project, title: 'Awesome meeting tomorrow!', start_time: Time.now + 1.day end let(:yesterdays_meeting) do - FactoryBot.create :meeting, project: project, title: 'Awesome meeting yesterday!', start_time: Time.now - 1.day + create :meeting, project: project, title: 'Awesome meeting yesterday!', start_time: Time.now - 1.day end let!(:other_project_meeting) do - FactoryBot.create :meeting, project: other_project, title: 'Awesome other project meeting!' + create :meeting, project: other_project, title: 'Awesome other project meeting!' end let(:meetings_page) { Pages::Meetings::Index.new(project) } diff --git a/modules/meeting/spec/features/meetings_locking_spec.rb b/modules/meeting/spec/features/meetings_locking_spec.rb index 5768d5e4ddc..43ff1d4378f 100644 --- a/modules/meeting/spec/features/meetings_locking_spec.rb +++ b/modules/meeting/spec/features/meetings_locking_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Meetings locking', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } - let(:user) { FactoryBot.create :admin } - let!(:meeting) { FactoryBot.create :meeting } - let!(:agenda) { FactoryBot.create :meeting_agenda, meeting: meeting } + let(:project) { create :project, enabled_module_names: %w[meetings] } + let(:user) { create :admin } + let!(:meeting) { create :meeting } + let!(:agenda) { create :meeting_agenda, meeting: meeting } before do login_as(user) diff --git a/modules/meeting/spec/features/meetings_new_spec.rb b/modules/meeting/spec/features/meetings_new_spec.rb index 0720873ea28..8f7a1c2a4ba 100644 --- a/modules/meeting/spec/features/meetings_new_spec.rb +++ b/modules/meeting/spec/features/meetings_new_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' require_relative '../support/pages/meetings/index' describe 'Meetings new', type: :feature do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } + let(:project) { create :project, enabled_module_names: %w[meetings] } let(:time_zone) { 'utc' } let(:user) do - FactoryBot.create(:user, + create(:user, lastname: 'First', member_in_project: project, member_with_permissions: permissions).tap do |u| @@ -44,13 +44,13 @@ describe 'Meetings new', type: :feature do end end let(:other_user) do - FactoryBot.create(:user, + create(:user, lastname: 'Second', member_in_project: project, member_with_permissions: permissions) end let(:admin) do - FactoryBot.create(:admin) + create(:admin) end let(:permissions) { %i[view_meetings create_meetings] } let(:current_user) { user } diff --git a/modules/meeting/spec/features/meetings_participants_spec.rb b/modules/meeting/spec/features/meetings_participants_spec.rb index 59980980b6c..dc34f371e8d 100644 --- a/modules/meeting/spec/features/meetings_participants_spec.rb +++ b/modules/meeting/spec/features/meetings_participants_spec.rb @@ -31,29 +31,29 @@ require 'spec_helper' require_relative '../support/pages/meetings/edit' describe 'Meetings participants', type: :feature do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } + let(:project) { create :project, enabled_module_names: %w[meetings] } let!(:user) do - FactoryBot.create(:user, + create(:user, firstname: 'Current', member_in_project: project, member_with_permissions: %i[view_meetings edit_meetings]) end let!(:viewer_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Viewer', member_in_project: project, member_with_permissions: %i[view_meetings]) end let!(:non_viewer_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Nonviewer', member_in_project: project, member_with_permissions: %i[]) end - let(:meeting) { FactoryBot.create(:meeting, project: project) } + let(:meeting) { create(:meeting, project: project) } let(:edit_page) { Pages::Meetings::Edit.new(meeting) } - let!(:meeting) { FactoryBot.create :meeting, project: project, title: 'Awesome meeting!' } + let!(:meeting) { create :meeting, project: project, title: 'Awesome meeting!' } before do login_as(user) @@ -84,7 +84,7 @@ describe 'Meetings participants', type: :feature do context 'with an invalid user reference' do let(:show_page) { Pages::Meetings::Show.new(meeting) } - let(:meeting_participant) { FactoryBot.create :meeting_participant, user: viewer_user, meeting: meeting } + let(:meeting_participant) { create :meeting_participant, user: viewer_user, meeting: meeting } before do meeting_participant.update_column(:user_id, 12341234) diff --git a/modules/meeting/spec/features/meetings_search_spec.rb b/modules/meeting/spec/features/meetings_search_spec.rb index 37267ee7636..2b319994f04 100644 --- a/modules/meeting/spec/features/meetings_search_spec.rb +++ b/modules/meeting/spec/features/meetings_search_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' describe 'Meeting search', type: :feature, js: true do include ::Components::NgSelectAutocompleteHelpers - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_meetings view_work_packages) } + let(:project) { create :project } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create :role, permissions: %i(view_meetings view_work_packages) } - let!(:meeting) { FactoryBot.create(:meeting, project: project) } + let!(:meeting) { create(:meeting, project: project) } before do login_as user diff --git a/modules/meeting/spec/features/meetings_show_spec.rb b/modules/meeting/spec/features/meetings_show_spec.rb index fc09700bc52..d99b2db5128 100644 --- a/modules/meeting/spec/features/meetings_show_spec.rb +++ b/modules/meeting/spec/features/meetings_show_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe 'Meetings', type: :feature, js: true do - let(:project) { FactoryBot.create :project, enabled_module_names: %w[meetings] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create :project, enabled_module_names: %w[meetings] } + let(:role) { create(:role, permissions: permissions) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let!(:meeting) { FactoryBot.create :meeting, project: project, title: 'Awesome meeting!' } + let!(:meeting) { create :meeting, project: project, title: 'Awesome meeting!' } before do login_as(user) @@ -56,8 +56,8 @@ describe 'Meetings', type: :feature, js: true do end context 'with an open agenda' do - let!(:agenda) { FactoryBot.create :meeting_agenda, meeting: meeting, text: 'foo' } - let(:agenda_update) { FactoryBot.create :meeting_agenda, meeting: meeting, text: 'bla' } + let!(:agenda) { create :meeting_agenda, meeting: meeting, text: 'foo' } + let(:agenda_update) { create :meeting_agenda, meeting: meeting, text: 'bla' } it 'shows the agenda' do visit meeting_path(meeting) @@ -106,7 +106,7 @@ describe 'Meetings', type: :feature, js: true do end context 'with a locked agenda' do - let!(:agenda) { FactoryBot.create :meeting_agenda, meeting: meeting, text: 'foo', locked: true } + let!(:agenda) { create :meeting_agenda, meeting: meeting, text: 'foo', locked: true } it 'shows the minutes when visiting' do visit meeting_path(meeting) diff --git a/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb b/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb index 5d56cb061f7..282b1e86c25 100644 --- a/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb +++ b/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb @@ -39,11 +39,11 @@ describe OpenProject::TextFormatting, end shared_let(:project) do - FactoryBot.create :project, enabled_module_names: %w[meetings] + create :project, enabled_module_names: %w[meetings] end shared_let(:meeting) do - FactoryBot.create :meeting, project: project, title: 'Monthly coordination' + create :meeting, project: project, title: 'Monthly coordination' end subject do @@ -65,8 +65,8 @@ describe OpenProject::TextFormatting, end context 'when visible' do - let(:role) { FactoryBot.create :role, permissions: %i[view_meetings view_project] } - let(:user) { FactoryBot.create :user, member_in_project: project, member_through_role: role } + let(:role) { create :role, permissions: %i[view_meetings view_project] } + let(:user) { create :user, member_in_project: project, member_through_role: role } let(:expected) do <<~HTML @@ -92,7 +92,7 @@ describe OpenProject::TextFormatting, end context 'when not visible' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:expected) do <<~HTML diff --git a/modules/meeting/spec/mailers/meeting_mailer_spec.rb b/modules/meeting/spec/mailers/meeting_mailer_spec.rb index 775c13bc8d6..8ba3cb3aced 100644 --- a/modules/meeting/spec/mailers/meeting_mailer_spec.rb +++ b/modules/meeting/spec/mailers/meeting_mailer_spec.rb @@ -29,24 +29,24 @@ require_relative '../spec_helper' describe MeetingMailer, type: :mailer do - shared_let(:role) { FactoryBot.create(:role, permissions: [:view_meetings]) } - shared_let(:project) { FactoryBot.create(:project, name: 'My project') } + shared_let(:role) { create(:role, permissions: [:view_meetings]) } + shared_let(:project) { create(:project, name: 'My project') } shared_let(:author) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role, preferences: { time_zone: 'Europe/Berlin' } end - shared_let(:watcher1) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - shared_let(:watcher2) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } + shared_let(:watcher1) { create(:user, member_in_project: project, member_through_role: role) } + shared_let(:watcher2) { create(:user, member_in_project: project, member_through_role: role) } let(:meeting) do - FactoryBot.create :meeting, + create :meeting, author: author, project: project end let(:meeting_agenda) do - FactoryBot.create(:meeting_agenda, meeting: meeting) + create(:meeting_agenda, meeting: meeting) end before do @@ -83,7 +83,7 @@ describe MeetingMailer, type: :mailer do end context 'with a recipient with another time zone' do - let!(:preference) { FactoryBot.create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } + let!(:preference) { create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } let(:mail) { described_class.content_for_review meeting_agenda, 'meeting_agenda', watcher1 } it 'renders the mail with the correcet locale' do @@ -98,7 +98,7 @@ describe MeetingMailer, type: :mailer do context 'when the meeting time results in another date' do let(:meeting) do - FactoryBot.create :meeting, + create :meeting, author: author, project: project, start_time: '2021-11-09T23:00:00 +0100'.to_datetime.utc @@ -117,7 +117,7 @@ describe MeetingMailer, type: :mailer do describe 'it renders november 10th for Tokyo zone' do let(:mail) { described_class.content_for_review meeting_agenda, 'meeting_agenda', watcher1 } - let!(:preference) { FactoryBot.create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } + let!(:preference) { create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } it 'renders the mail with the correct locale' do expect(mail.text_part.body).to include('11/10/2021 07:00 AM-08:00 AM (GMT+09:00) Asia/Tokyo') @@ -131,7 +131,7 @@ describe MeetingMailer, type: :mailer do describe 'icalendar' do let(:meeting) do - FactoryBot.create :meeting, + create :meeting, author: author, project: project, title: 'Important meeting', @@ -188,7 +188,7 @@ describe MeetingMailer, type: :mailer do end context 'with a recipient with another time zone' do - let!(:preference) { FactoryBot.create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } + let!(:preference) { create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } let(:mail) { described_class.content_for_review meeting_agenda, 'meeting_agenda', watcher1 } it 'renders the mail with the correct locale' do @@ -203,7 +203,7 @@ describe MeetingMailer, type: :mailer do context 'when the meeting time results in another date' do let(:meeting) do - FactoryBot.create :meeting, + create :meeting, author: author, project: project, start_time: '2021-11-09T23:00:00 +0100'.to_datetime.utc @@ -222,7 +222,7 @@ describe MeetingMailer, type: :mailer do describe 'it renders november 10th for Tokyo zone' do let(:mail) { described_class.icalendar_notification meeting_agenda, 'meeting_agenda', watcher1 } - let!(:preference) { FactoryBot.create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } + let!(:preference) { create(:user_preference, user: watcher1, time_zone: 'Asia/Tokyo') } it 'renders the mail with the correct locale' do expect(mail.text_part.body).to include('11/10/2021 07:00 AM-08:00 AM (GMT+09:00) Asia/Tokyo') diff --git a/modules/meeting/spec/models/meeting_agenda_spec.rb b/modules/meeting/spec/models/meeting_agenda_spec.rb index 80a34287bdc..420b7ca06e6 100644 --- a/modules/meeting/spec/models/meeting_agenda_spec.rb +++ b/modules/meeting/spec/models/meeting_agenda_spec.rb @@ -30,7 +30,7 @@ require File.dirname(__FILE__) + '/../spec_helper' describe 'MeetingAgenda', type: :model do before(:each) do - @a = FactoryBot.build :meeting_agenda, text: "Some content...\n\nMore content!\n\nExtraordinary content!!" + @a = build :meeting_agenda, text: "Some content...\n\nMore content!\n\nExtraordinary content!!" end # TODO: Test the right user and messages are set in the history diff --git a/modules/meeting/spec/models/meeting_minutes_spec.rb b/modules/meeting/spec/models/meeting_minutes_spec.rb index b9332d84f50..a28a32d68e1 100644 --- a/modules/meeting/spec/models/meeting_minutes_spec.rb +++ b/modules/meeting/spec/models/meeting_minutes_spec.rb @@ -30,13 +30,13 @@ require File.dirname(__FILE__) + '/../spec_helper' describe 'MeetingMinutes', type: :model do before do - @min = FactoryBot.build :meeting_minutes + @min = build :meeting_minutes end # meeting minutes are editable when the meeting agenda is locked describe '#editable?' do before(:each) do - @mee = FactoryBot.build :meeting + @mee = build :meeting @min.meeting = @mee end describe 'with no agenda present' do @@ -46,7 +46,7 @@ describe 'MeetingMinutes', type: :model do end describe 'with an agenda present' do before(:each) do - @a = FactoryBot.build :meeting_agenda + @a = build :meeting_agenda @mee.agenda = @a end it 'is not editable when the agenda is open' do diff --git a/modules/meeting/spec/models/meeting_spec.rb b/modules/meeting/spec/models/meeting_spec.rb index 6e4b7e96faa..c4a71e3302b 100644 --- a/modules/meeting/spec/models/meeting_spec.rb +++ b/modules/meeting/spec/models/meeting_spec.rb @@ -29,24 +29,24 @@ require File.dirname(__FILE__) + '/../spec_helper' describe Meeting, type: :model do - let(:project) { FactoryBot.create(:project, members: project_members) } - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } - let(:meeting) { FactoryBot.create(:meeting, project: project, author: user1) } + let(:project) { create(:project, members: project_members) } + let(:user1) { create(:user) } + let(:user2) { create(:user) } + let(:meeting) { create(:meeting, project: project, author: user1) } let(:agenda) do meeting.create_agenda text: 'Meeting Agenda text' meeting.reload_agenda # avoiding stale object errors end let(:project_members) { {} } - let(:role) { FactoryBot.create(:role, permissions: [:view_meetings]) } + let(:role) { create(:role, permissions: [:view_meetings]) } it { is_expected.to belong_to :project } it { is_expected.to belong_to :author } it { is_expected.to validate_presence_of :title } before do - @m = FactoryBot.build :meeting, title: 'dingens' + @m = build :meeting, title: 'dingens' end describe 'to_s' do @@ -119,7 +119,7 @@ describe Meeting, type: :model do end describe 'WITH a user not having the view_meetings permission' do - let(:role2) { FactoryBot.create(:role, permissions: []) } + let(:role2) { create(:role, permissions: []) } let(:project_members) { { user1 => role, user2 => role2 } } it 'should not contain the user' do @@ -128,7 +128,7 @@ describe Meeting, type: :model do end describe 'WITH a user being locked but invited' do - let(:locked_user) { FactoryBot.create(:locked_user) } + let(:locked_user) { create(:locked_user) } before do meeting.participants_attributes = [{ 'user_id' => locked_user.id, 'invited' => 1 }] end diff --git a/modules/meeting/spec/models/permitted_params_spec.rb b/modules/meeting/spec/models/permitted_params_spec.rb index fc8953e9a37..9044de4f80e 100644 --- a/modules/meeting/spec/models/permitted_params_spec.rb +++ b/modules/meeting/spec/models/permitted_params_spec.rb @@ -29,7 +29,7 @@ require File.dirname(__FILE__) + '/../spec_helper' describe PermittedParams, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } describe '#search' do it 'permits its whitelisted params' do diff --git a/modules/meeting/spec/models/project/activity_spec.rb b/modules/meeting/spec/models/project/activity_spec.rb index b81604524e6..1b17a25359d 100644 --- a/modules/meeting/spec/models/project/activity_spec.rb +++ b/modules/meeting/spec/models/project/activity_spec.rb @@ -30,23 +30,23 @@ require 'spec_helper' describe Projects::Activity, type: :model do let(:project) do - FactoryBot.create(:project) + create(:project) end let(:initial_time) { Time.now } let(:meeting) do - FactoryBot.create(:meeting, + create(:meeting, project: project) end let(:meeting2) do - FactoryBot.create(:meeting, + create(:meeting, project: project) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end diff --git a/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb b/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb index bdbab5e5137..d5c7372b80e 100644 --- a/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb +++ b/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb @@ -37,7 +37,7 @@ describe "meeting agenda attachments" do let(:read_permission) { :view_meetings } let(:update_permission) { :edit_meetings } - let(:meeting_content) { FactoryBot.create :meeting_agenda, meeting: meeting } - let(:meeting) { FactoryBot.create :meeting, project: project } + let(:meeting_content) { create :meeting_agenda, meeting: meeting } + let(:meeting) { create :meeting, project: project } end end diff --git a/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb b/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb index fb75ac92d74..844a25402d3 100644 --- a/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb +++ b/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb @@ -37,7 +37,7 @@ describe "meeting minutes attachments" do let(:read_permission) { :view_meetings } let(:update_permission) { :edit_meetings } - let(:meeting_content) { FactoryBot.create :meeting_minutes, meeting: meeting } - let(:meeting) { FactoryBot.create :meeting, project: project } + let(:meeting_content) { create :meeting_minutes, meeting: meeting } + let(:meeting) { create :meeting, project: project } end end diff --git a/modules/my_page/spec/contracts/grids/create_contract_spec.rb b/modules/my_page/spec/contracts/grids/create_contract_spec.rb index 32306de47df..b479ecd7037 100644 --- a/modules/my_page/spec/contracts/grids/create_contract_spec.rb +++ b/modules/my_page/spec/contracts/grids/create_contract_spec.rb @@ -39,7 +39,7 @@ describe Grids::CreateContract do describe 'user_id' do context 'for a Grids::MyPage' do - let(:grid) { FactoryBot.build_stubbed(:my_page, default_values) } + let(:grid) { build_stubbed(:my_page, default_values) } it_behaves_like 'is writable' do let(:attribute) { :user_id } @@ -50,7 +50,7 @@ describe Grids::CreateContract do describe 'project_id' do context 'for a Grids::MyPage' do - let(:grid) { FactoryBot.build_stubbed(:my_page, default_values) } + let(:grid) { build_stubbed(:my_page, default_values) } it_behaves_like 'is not writable' do let(:attribute) { :project_id } diff --git a/modules/my_page/spec/contracts/grids/shared_examples.rb b/modules/my_page/spec/contracts/grids/shared_examples.rb index 413a0ce7b2d..b238fc54efd 100644 --- a/modules/my_page/spec/contracts/grids/shared_examples.rb +++ b/modules/my_page/spec/contracts/grids/shared_examples.rb @@ -29,7 +29,7 @@ #++ shared_context 'grid contract' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(grid, user) } let(:default_values) do { @@ -39,7 +39,7 @@ shared_context 'grid contract' do } end let(:grid) do - FactoryBot.build_stubbed(:my_page, default_values) + build_stubbed(:my_page, default_values) end end @@ -293,7 +293,7 @@ shared_examples_for 'shared grid contract attributes' do describe 'valid grid subclasses' do context 'for a registered subclass' do let(:grid) do - FactoryBot.build_stubbed(:my_page, default_values) + build_stubbed(:my_page, default_values) end it 'is valid' do @@ -304,7 +304,7 @@ shared_examples_for 'shared grid contract attributes' do context 'for the Grid superclass itself' do let(:grid) do - FactoryBot.build_stubbed(:grid, default_values) + build_stubbed(:grid, default_values) end before do diff --git a/modules/my_page/spec/features/my/accountable_spec.rb b/modules/my_page/spec/features/my/accountable_spec.rb index cf7c502e914..c9370dbb225 100644 --- a/modules/my_page/spec/features/my/accountable_spec.rb +++ b/modules/my_page/spec/features/my/accountable_spec.rb @@ -31,40 +31,40 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'Accountable widget on my page', type: :feature, js: true do - let!(:type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:accountable_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, responsible: user end let!(:accountable_by_other_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, responsible: other_user end let!(:accountable_but_invisible_work_package) do - FactoryBot.create :work_package, + create :work_package, project: other_project, type: type, author: user, responsible: user end let(:other_user) do - FactoryBot.create(:user) + create(:user) end - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages add_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages add_work_packages save_queries]) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/modules/my_page/spec/features/my/assigned_to_me_spec.rb b/modules/my_page/spec/features/my/assigned_to_me_spec.rb index 11529137861..b60ac4d6df7 100644 --- a/modules/my_page/spec/features/my/assigned_to_me_spec.rb +++ b/modules/my_page/spec/features/my/assigned_to_me_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'Assigned to me embedded query on my page', type: :feature, js: true do - let!(:type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:assigned_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, subject: 'Assigned to me', type: type, @@ -44,7 +44,7 @@ describe 'Assigned to me embedded query on my page', type: :feature, js: true do assigned_to: user end let!(:assigned_work_package_2) do - FactoryBot.create :work_package, + create :work_package, project: project, subject: 'My task 2', type: type, @@ -52,7 +52,7 @@ describe 'Assigned to me embedded query on my page', type: :feature, js: true do assigned_to: user end let!(:assigned_to_other_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, subject: 'Not assigned to me', type: type, @@ -60,13 +60,13 @@ describe 'Assigned to me embedded query on my page', type: :feature, js: true do assigned_to: other_user end let(:other_user) do - FactoryBot.create(:user) + create(:user) end - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages add_work_packages edit_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages add_work_packages edit_work_packages save_queries]) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -84,7 +84,7 @@ describe 'Assigned to me embedded query on my page', type: :feature, js: true do context 'with parent work package' do let!(:assigned_work_package_child) do - FactoryBot.create :work_package, + create :work_package, subject: 'Child', parent: assigned_work_package, project: project, 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 8936a74f74d..8da0ddd0e72 100644 --- a/modules/my_page/spec/features/my/custom_text_spec.rb +++ b/modules/my_page/spec/features/my/custom_text_spec.rb @@ -34,17 +34,17 @@ describe 'Custom text widget on my page', type: :feature, js: true do let(:permissions) do [] end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions) + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:other_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions) + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:my_page) do Pages::My::Page.new diff --git a/modules/my_page/spec/features/my/documents_spec.rb b/modules/my_page/spec/features/my/documents_spec.rb index da222a0298e..a76b31853f7 100644 --- a/modules/my_page/spec/features/my/documents_spec.rb +++ b/modules/my_page/spec/features/my/documents_spec.rb @@ -31,22 +31,22 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'My page documents widget', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:other_project) { FactoryBot.create :project } + let!(:project) { create :project } + let!(:other_project) { create :project } let!(:visible_document) do - FactoryBot.create :document, + create :document, project: project, description: 'blubs' end let!(:invisible_document) do - FactoryBot.create :document, + create :document, project: other_project end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_documents]) end diff --git a/modules/my_page/spec/features/my/my_page_spec.rb b/modules/my_page/spec/features/my/my_page_spec.rb index 1c6000fbf0b..84ff8132ecd 100644 --- a/modules/my_page/spec/features/my/my_page_spec.rb +++ b/modules/my_page/spec/features/my/my_page_spec.rb @@ -31,24 +31,24 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'My page', type: :feature, js: true do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:created_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user end let!(:assigned_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, assigned_to: user end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_work_packages add_work_packages save_queries]) end diff --git a/modules/my_page/spec/features/my/news_spec.rb b/modules/my_page/spec/features/my/news_spec.rb index 35e52890933..bc834b4eaf0 100644 --- a/modules/my_page/spec/features/my/news_spec.rb +++ b/modules/my_page/spec/features/my/news_spec.rb @@ -31,22 +31,22 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'My page news widget spec', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:other_project) { FactoryBot.create :project } + let!(:project) { create :project } + let!(:other_project) { create :project } let!(:visible_news) do - FactoryBot.create :news, + create :news, project: project, description: 'blubs' end let!(:invisible_news) do - FactoryBot.create :news, + create :news, project: other_project end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[]) end 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 1b16c36624b..b2385e0210e 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 @@ -31,24 +31,24 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'My page time entries current user widget spec', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:activity) { FactoryBot.create :time_entry_activity } - let!(:other_activity) { FactoryBot.create :time_entry_activity } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } + let!(:activity) { create :time_entry_activity } + let!(:other_activity) { create :time_entry_activity } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user end let!(:other_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user end let!(:visible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, activity: activity, @@ -58,7 +58,7 @@ describe 'My page time entries current user widget spec', type: :feature, js: tr comments: 'My comment' end let!(:other_visible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, activity: activity, @@ -68,7 +68,7 @@ describe 'My page time entries current user widget spec', type: :feature, js: tr comments: 'My other comment' end let!(:last_week_visible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, activity: activity, @@ -78,7 +78,7 @@ describe 'My page time entries current user widget spec', type: :feature, js: tr comments: 'My last week comment' end let!(:invisible_time_entry) do - FactoryBot.create :time_entry, + create :time_entry, work_package: work_package, project: project, activity: activity, @@ -86,13 +86,13 @@ describe 'My page time entries current user widget spec', type: :feature, js: tr hours: 4 end let!(:custom_field) do - FactoryBot.create :time_entry_custom_field, field_format: 'text' + create :time_entry_custom_field, field_format: 'text' end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_time_entries edit_time_entries view_work_packages log_time]) 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 dd9dcea5c34..910b7165cf3 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 @@ -31,21 +31,21 @@ require 'spec_helper' require_relative '../../support/pages/my/page' describe 'Arbitrary WorkPackage query table widget on my page', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:other_type) { FactoryBot.create :type } - let!(:priority) { FactoryBot.create :default_priority } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:other_project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:other_type) { create :type } + let!(:priority) { create :default_priority } + let!(:project) { create :project, types: [type] } + let!(:other_project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let!(:type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user, responsible: user end let!(:other_type_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: other_type, author: user, @@ -55,7 +55,7 @@ describe 'Arbitrary WorkPackage query table widget on my page', type: :feature, let(:permissions) { %i[view_work_packages add_work_packages save_queries] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/my_page/spec/models/grids/my_page_spec.rb b/modules/my_page/spec/models/grids/my_page_spec.rb index 2172e2b27f9..4983b1564d2 100644 --- a/modules/my_page/spec/models/grids/my_page_spec.rb +++ b/modules/my_page/spec/models/grids/my_page_spec.rb @@ -32,7 +32,7 @@ require_relative './shared_model' describe Grids::MyPage, type: :model do let(:instance) { described_class.new(row_count: 5, column_count: 5) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } it_behaves_like 'grid attributes' @@ -46,9 +46,9 @@ describe Grids::MyPage, type: :model do context 'altering widgets' do context 'when removing a work_packages_table widget' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:query) do - FactoryBot.create(:query, + create(:query, user: user) end diff --git a/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb b/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb index c78f76c4180..e5b46bf6e22 100644 --- a/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb +++ b/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb @@ -33,7 +33,7 @@ require 'spec_helper' describe Grids::Filters::ScopeFilter, type: :model do include_context 'filter tests' let(:values) { ['/my/page'] } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:model) { Grids::Grid } before do diff --git a/modules/my_page/spec/queries/grids/query_integration_spec.rb b/modules/my_page/spec/queries/grids/query_integration_spec.rb index aa5d25ecbda..7da5c60cfcd 100644 --- a/modules/my_page/spec/queries/grids/query_integration_spec.rb +++ b/modules/my_page/spec/queries/grids/query_integration_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe Grids::Query, type: :model do - let(:user) { FactoryBot.create(:user) } - let(:other_user) { FactoryBot.create(:user) } + let(:user) { create(:user) } + let(:other_user) { create(:user) } let!(:my_page_grid) do - FactoryBot.create(:my_page, user: user) + create(:my_page, user: user) end let!(:other_my_page_grid) do - FactoryBot.create(:my_page, user: other_user) + create(:my_page, user: other_user) end let(:instance) { described_class.new } 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 80911bbc4ae..bc04056f0b0 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 @@ -34,10 +34,10 @@ describe "POST /api/v3/grids/form", type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:project) do - FactoryBot.create(:project) + create(:project) end shared_let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[save_queries]) end diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb index 360fa07d1fe..1a6d393494a 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -34,14 +34,14 @@ describe 'API v3 Grids resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end - let(:my_page_grid) { FactoryBot.create(:my_page, user: current_user) } + let(:my_page_grid) { create(:my_page, user: current_user) } let(:other_user) do - FactoryBot.create(:user) + create(:user) end - let(:other_my_page_grid) { FactoryBot.create(:my_page, user: other_user) } + let(:other_my_page_grid) { create(:my_page, user: other_user) } before do login_as(current_user) diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 01da42a7dd9..955a159e9b8 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -34,11 +34,11 @@ describe "PATCH /api/v3/grids/:id/form", type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:grid) do - FactoryBot.create(:my_page, user: current_user) + create(:my_page, user: current_user) end let(:path) { api_v3_paths.grid_form(grid.id) } let(:params) { {} } @@ -161,8 +161,8 @@ describe "PATCH /api/v3/grids/:id/form", type: :request, content_type: :json do end context 'for another user\'s grid' do - let(:other_user) { FactoryBot.create(:user) } - let(:other_grid) { FactoryBot.create(:my_page, user: other_user) } + let(:other_user) { create(:user) } + let(:other_grid) { create(:my_page, user: other_user) } let(:path) { api_v3_paths.grid_form(other_grid.id) } diff --git a/modules/openid_connect/spec/controllers/providers_controller_spec.rb b/modules/openid_connect/spec/controllers/providers_controller_spec.rb index 231c7bfac14..75ec56a8f8e 100644 --- a/modules/openid_connect/spec/controllers/providers_controller_spec.rb +++ b/modules/openid_connect/spec/controllers/providers_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::OpenIDConnect::ProvidersController, type: :controller do - let(:user) { FactoryBot.build_stubbed :admin } + let(:user) { build_stubbed :admin } let(:ee) { true } let(:valid_params) do @@ -56,7 +56,7 @@ describe ::OpenIDConnect::ProvidersController, type: :controller do end context 'when not admin' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'renders 403' do get :index diff --git a/modules/overviews/spec/contracts/grids/create_contract_spec.rb b/modules/overviews/spec/contracts/grids/create_contract_spec.rb index 33de26cb2ce..439b791ea36 100644 --- a/modules/overviews/spec/contracts/grids/create_contract_spec.rb +++ b/modules/overviews/spec/contracts/grids/create_contract_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe Grids::CreateContract, 'for Grids::Overview' do let(:project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(Project) .to receive(:find) .with(p.identifier) @@ -41,7 +41,7 @@ describe Grids::CreateContract, 'for Grids::Overview' do end let(:permissions) { %i[manage_overview] } let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && permission_project == project diff --git a/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb b/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb index 43726c47a57..11ed7415a9e 100644 --- a/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb +++ b/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb @@ -33,7 +33,7 @@ describe Overviews::OverviewsController, type: :controller do %i(view_project) end let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) do |permission, permission_project, _global| permission_project == project && @@ -44,7 +44,7 @@ describe Overviews::OverviewsController, type: :controller do end end let(:project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(Project) .to receive(:find) .with(p.id.to_s) diff --git a/modules/overviews/spec/features/low_permissions_page_creation_spec.rb b/modules/overviews/spec/features/low_permissions_page_creation_spec.rb index 629bccffaaf..caefb5ef505 100644 --- a/modules/overviews/spec/features/low_permissions_page_creation_spec.rb +++ b/modules/overviews/spec/features/low_permissions_page_creation_spec.rb @@ -32,16 +32,16 @@ require_relative '../support/pages/overview' describe 'Overview page on the fly creation if user lacks :mange_overview permission', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } + let!(:open_status) { create :default_status } let(:permissions) do %i[view_work_packages] end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/overviews/spec/features/managing_overview_page_spec.rb b/modules/overviews/spec/features/managing_overview_page_spec.rb index 7c6c12ac759..e3570e399ea 100644 --- a/modules/overviews/spec/features/managing_overview_page_spec.rb +++ b/modules/overviews/spec/features/managing_overview_page_spec.rb @@ -31,17 +31,17 @@ require 'spec_helper' require_relative '../support/pages/overview' describe 'Overview page managing', type: :feature, js: true, with_mail: false do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type], description: 'My **custom** description' } - let!(:open_status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:project) { create :project, types: [type], description: 'My **custom** description' } + let!(:open_status) { create :default_status } let!(:created_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, author: user end let!(:assigned_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, assigned_to: user @@ -57,7 +57,7 @@ describe 'Overview page managing', type: :feature, js: true, with_mail: false do end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/overviews/spec/features/navigation_spec.rb b/modules/overviews/spec/features/navigation_spec.rb index 98f1a5ef840..b6f569149e9 100644 --- a/modules/overviews/spec/features/navigation_spec.rb +++ b/modules/overviews/spec/features/navigation_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Navigate to overview', type: :feature, js: true do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:permissions) { [] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/modules/overviews/spec/lib/overview/grid_registration_spec.rb b/modules/overviews/spec/lib/overview/grid_registration_spec.rb index 2197029fa1e..ed76a503bdb 100644 --- a/modules/overviews/spec/lib/overview/grid_registration_spec.rb +++ b/modules/overviews/spec/lib/overview/grid_registration_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' describe Overviews::GridRegistration do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:grid) { FactoryBot.build_stubbed(:overview, project: project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:grid) { build_stubbed(:overview, project: project) } describe 'writable?' do let(:allowed) { true } @@ -32,7 +32,7 @@ describe Overviews::GridRegistration do context 'if the user lacks the :manage_overview permission and it is a new record' do let(:allowed) { false } - let(:grid) { Grids::Overview.new **FactoryBot.attributes_for(:overview).merge(project: project) } + let(:grid) { Grids::Overview.new **attributes_for(:overview).merge(project: project) } it 'is truthy' do expect(described_class.writable?(grid, user)) diff --git a/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb index 538a8556dd9..da58693e52e 100644 --- a/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -34,19 +34,19 @@ describe 'API v3 Grids resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:permissions) { %i[] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:grid) do - FactoryBot.create(:overview, + create(:overview, project: project, widgets: widgets) end let(:widgets) do - [FactoryBot.create(:grid_widget, + [create(:grid_widget, identifier: 'custom_text', start_column: 1, end_column: 3, diff --git a/modules/overviews/spec/services/copy_service_integration_spec.rb b/modules/overviews/spec/services/copy_service_integration_spec.rb index cc494cab838..45fbe771a84 100644 --- a/modules/overviews/spec/services/copy_service_integration_spec.rb +++ b/modules/overviews/spec/services/copy_service_integration_spec.rb @@ -31,16 +31,16 @@ require 'spec_helper' describe Projects::CopyService, 'integration', type: :model do - shared_let(:source) { FactoryBot.create :project, enabled_module_names: %w[wiki work_package_tracking] } - shared_let(:source_category) { FactoryBot.create :category, project: source, name: 'Stock management' } - shared_let(:source_version) { FactoryBot.create :version, project: source, name: 'Version A' } + shared_let(:source) { create :project, enabled_module_names: %w[wiki work_package_tracking] } + shared_let(:source_category) { create :category, project: source, name: 'Stock management' } + shared_let(:source_version) { create :version, project: source, name: 'Version A' } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: source, member_through_role: role) end - let(:role) { FactoryBot.create :role, permissions: %i[copy_projects] } + let(:role) { create :role, permissions: %i[copy_projects] } let(:instance) do described_class.new(source: source, user: current_user) end @@ -67,7 +67,7 @@ describe Projects::CopyService, 'integration', type: :model do let(:original_overview) do widgets = widget_data.map do |layout, identifier, options| - FactoryBot.build( + build( :grid_widget, identifier: identifier, options: options, @@ -78,7 +78,7 @@ describe Projects::CopyService, 'integration', type: :model do ) end - FactoryBot.create :overview, project: source, widgets: widgets, column_count: 2, row_count: widgets.size / 2 + 1 + create :overview, project: source, widgets: widgets, column_count: 2, row_count: widgets.size / 2 + 1 end let(:overview) { Grids::Overview.find_by(project: project_copy) } @@ -131,7 +131,7 @@ describe Projects::CopyService, 'integration', type: :model do context 'with references' do describe 'to queries' do let!(:query) do - FactoryBot.create(:public_query, project: source).tap do |query| + create(:public_query, project: source).tap do |query| query.add_filter 'version_id', '=', [source_version.id.to_s] query.add_filter 'category_id', '=', [source_category.id.to_s] query.save! diff --git a/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb b/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb index 42191f6c4c4..8fc16a0ce56 100644 --- a/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb +++ b/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb @@ -33,10 +33,10 @@ describe ExportCardConfigurationsController, type: :controller do before do allow(@controller).to receive(:require_admin) { true } - @default_config = FactoryBot.create(:default_export_card_configuration) - @custom_config = FactoryBot.create(:export_card_configuration) - @active_config = FactoryBot.create(:active_export_card_configuration) - @inactive_config = FactoryBot.create(:inactive_export_card_configuration) + @default_config = create(:default_export_card_configuration) + @custom_config = create(:export_card_configuration) + @active_config = create(:active_export_card_configuration) + @inactive_config = create(:inactive_export_card_configuration) @params = {} @valid_rows_yaml = "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" @invalid_rows_yaml = "group1:\n invalid_property: true" diff --git a/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb b/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb index 18dd7c18a7b..30c755edf3d 100644 --- a/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb +++ b/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb @@ -28,11 +28,11 @@ require 'spec_helper' describe "export card configurations Admin", type: :feature, js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let!(:config1) { FactoryBot.create :export_card_configuration } - let!(:config_default) { FactoryBot.create :default_export_card_configuration } - let!(:config_active) { FactoryBot.create :active_export_card_configuration } + let!(:config1) { create :export_card_configuration } + let!(:config_default) { create :default_export_card_configuration } + let!(:config_active) { create :active_export_card_configuration } before do login_as user diff --git a/modules/pdf_export/spec/views/edit.html.erb_spec.rb b/modules/pdf_export/spec/views/edit.html.erb_spec.rb index 0361ab7ad21..19dd88fd851 100644 --- a/modules/pdf_export/spec/views/edit.html.erb_spec.rb +++ b/modules/pdf_export/spec/views/edit.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'export_card_configurations/edit', type: :view do - let(:config) { FactoryBot.build(:export_card_configuration) } + let(:config) { build(:export_card_configuration) } before do config.save diff --git a/modules/pdf_export/spec/views/index.html.erb_spec.rb b/modules/pdf_export/spec/views/index.html.erb_spec.rb index aeec352f214..904b7cd8fa7 100644 --- a/modules/pdf_export/spec/views/index.html.erb_spec.rb +++ b/modules/pdf_export/spec/views/index.html.erb_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'export_card_configurations/index', type: :view do - let(:config1) { FactoryBot.build(:export_card_configuration, name: "Config 1") } - let(:config2) { FactoryBot.build(:export_card_configuration, name: "Config 2") } + let(:config1) { build(:export_card_configuration, name: "Config 1") } + let(:config2) { build(:export_card_configuration, name: "Config 2") } before do config1.save diff --git a/modules/pdf_export/spec/views/new.html.erb_spec.rb b/modules/pdf_export/spec/views/new.html.erb_spec.rb index af6739c6653..6fed2521774 100644 --- a/modules/pdf_export/spec/views/new.html.erb_spec.rb +++ b/modules/pdf_export/spec/views/new.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'export_card_configurations/new', type: :view do - let(:config) { FactoryBot.build(:export_card_configuration) } + let(:config) { build(:export_card_configuration) } before do assign(:config, config) diff --git a/modules/recaptcha/spec/controllers/admin_controller_spec.rb b/modules/recaptcha/spec/controllers/admin_controller_spec.rb index 5a068f05b24..f906ba93a69 100644 --- a/modules/recaptcha/spec/controllers/admin_controller_spec.rb +++ b/modules/recaptcha/spec/controllers/admin_controller_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' describe ::Recaptcha::AdminController, type: :controller do - let(:user) { FactoryBot.build_stubbed :admin } + let(:user) { build_stubbed :admin } before do login_as user end describe 'as non admin' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'does not allow access' do get :show diff --git a/modules/recaptcha/spec/controllers/request_controller_spec.rb b/modules/recaptcha/spec/controllers/request_controller_spec.rb index da23794cb61..c6de6e3ff3a 100644 --- a/modules/recaptcha/spec/controllers/request_controller_spec.rb +++ b/modules/recaptcha/spec/controllers/request_controller_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe ::Recaptcha::RequestController, type: :controller do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } before do login_as user allow(Setting) @@ -29,7 +29,7 @@ describe ::Recaptcha::RequestController, type: :controller do end context 'if the user is an admin' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } it 'skips the verification' do expect(controller).not_to receive(:perform) diff --git a/modules/reporting/spec/controllers/cost_reports_controller_spec.rb b/modules/reporting/spec/controllers/cost_reports_controller_spec.rb index 7c535a8b32a..5ac7a129689 100644 --- a/modules/reporting/spec/controllers/cost_reports_controller_spec.rb +++ b/modules/reporting/spec/controllers/cost_reports_controller_spec.rb @@ -31,8 +31,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe CostReportsController, type: :controller do include OpenProject::Reporting::PluginSpecHelper - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:valid_project) } + let(:user) { build(:user) } + let(:project) { build(:valid_project) } describe "GET show" do before(:each) do diff --git a/modules/reporting/spec/controllers/custom_fields_controller_spec.rb b/modules/reporting/spec/controllers/custom_fields_controller_spec.rb index c1eb3c5bf63..5eb945de22d 100644 --- a/modules/reporting/spec/controllers/custom_fields_controller_spec.rb +++ b/modules/reporting/spec/controllers/custom_fields_controller_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe CustomFieldsController do - let!(:custom_field) { FactoryBot.create(:work_package_custom_field) } - let!(:custom_field_permanent) { FactoryBot.create(:work_package_custom_field) } + let!(:custom_field) { create(:work_package_custom_field) } + let!(:custom_field_permanent) { create(:work_package_custom_field) } let(:custom_field_name) { "CustomField#{custom_field.id}" } let(:custom_field_permanent_name) { "CustomField#{custom_field_permanent.id}" } - let(:cost_query) { FactoryBot.build(:cost_query) } + let(:cost_query) { build(:cost_query) } before do allow(@controller).to receive(:authorize) diff --git a/modules/reporting/spec/features/calculations_spec.rb b/modules/reporting/spec/features/calculations_spec.rb index 06abba76402..87297ce8745 100644 --- a/modules/reporting/spec/features/calculations_spec.rb +++ b/modules/reporting/spec/features/calculations_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' describe 'Cost report calculations', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } - let(:work_package) { FactoryBot.create :work_package, project: project } - let!(:hourly_rate1) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } - let!(:hourly_rate2) { FactoryBot.create :default_hourly_rate, user: user, rate: 5.00, valid_from: 2.years.ago } - let!(:hourly_rate3) { FactoryBot.create :default_hourly_rate, user: user, rate: 10.00, valid_from: 3.years.ago } + let(:work_package) { create :work_package, project: project } + let!(:hourly_rate1) { create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } + let!(:hourly_rate2) { create :default_hourly_rate, user: user, rate: 5.00, valid_from: 2.years.ago } + let!(:hourly_rate3) { create :default_hourly_rate, user: user, rate: 10.00, valid_from: 3.years.ago } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, spent_on: 6.months.ago, user: user, work_package: work_package, @@ -18,7 +18,7 @@ describe 'Cost report calculations', type: :feature, js: true do hours: 10 end let!(:time_entry2) do - FactoryBot.create :time_entry, + create :time_entry, spent_on: 18.months.ago, user: user, work_package: work_package, @@ -26,7 +26,7 @@ describe 'Cost report calculations', type: :feature, js: true do hours: 10 end let!(:time_entry3) do - FactoryBot.create :time_entry, + create :time_entry, spent_on: 30.months.ago, user: user, work_package: work_package, diff --git a/modules/reporting/spec/features/custom_fields_spec.rb b/modules/reporting/spec/features/custom_fields_spec.rb index 5ace24d57ce..360b22514da 100644 --- a/modules/reporting/spec/features/custom_fields_spec.rb +++ b/modules/reporting/spec/features/custom_fields_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'Custom fields reporting', type: :feature, js: true do - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type } + let(:project) { create :project, types: [type] } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, custom_values: initial_custom_values end let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, @@ -50,7 +50,7 @@ describe 'Custom fields reporting', type: :feature, js: true do end let!(:time_entry2) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, @@ -63,7 +63,7 @@ describe 'Custom fields reporting', type: :feature, js: true do context 'with multi value cf' do let!(:custom_field) do - FactoryBot.create(:list_wp_custom_field, + create(:list_wp_custom_field, name: "List CF", multi_value: true, types: [type], @@ -77,7 +77,7 @@ describe 'Custom fields reporting', type: :feature, js: true do # Have a second work package in the test that will have no values # as this caused problems with casting the nil value of the custom value to 0. let!(:work_package2) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type end @@ -147,7 +147,7 @@ describe 'Custom fields reporting', type: :feature, js: true do context 'with additional WP with invalid value' do let!(:custom_field_2) do - FactoryBot.create(:list_wp_custom_field, + create(:list_wp_custom_field, name: "Invalid List CF", multi_value: true, types: [type], @@ -156,13 +156,13 @@ describe 'Custom fields reporting', type: :feature, js: true do end let!(:work_package2) do - FactoryBot.create :work_package, + create :work_package, project: project, custom_values: { custom_field_2.id => custom_value_for(custom_field_2, 'A') } end let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package2, project: project, @@ -200,7 +200,7 @@ describe 'Custom fields reporting', type: :feature, js: true do context 'with text CF' do let(:custom_field) do - FactoryBot.create(:text_wp_custom_field, + create(:text_wp_custom_field, name: 'Text CF', types: [type], projects: [project]) diff --git a/modules/reporting/spec/features/filter_spec.rb b/modules/reporting/spec/features/filter_spec.rb index b17d510f4d3..577c6043516 100644 --- a/modules/reporting/spec/features/filter_spec.rb +++ b/modules/reporting/spec/features/filter_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Cost report calculations', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } before do login_as(user) diff --git a/modules/reporting/spec/features/group_by_spec.rb b/modules/reporting/spec/features/group_by_spec.rb index eaf7cb8b994..95c31bf2e8d 100644 --- a/modules/reporting/spec/features/group_by_spec.rb +++ b/modules/reporting/spec/features/group_by_spec.rb @@ -2,16 +2,16 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' describe 'Cost report calculations', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } - let(:work_package) { FactoryBot.create :work_package, project: project } - let!(:hourly_rate1) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } + let(:work_package) { create :work_package, project: project } + let!(:hourly_rate1) { create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } let(:report_page) { ::Pages::CostReportPage.new project } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, spent_on: 6.months.ago, user: user, work_package: work_package, diff --git a/modules/reporting/spec/features/me_value_spec.rb b/modules/reporting/spec/features/me_value_spec.rb index 4a3dcff7d10..ce62fb3e222 100644 --- a/modules/reporting/spec/features/me_value_spec.rb +++ b/modules/reporting/spec/features/me_value_spec.rb @@ -1,22 +1,22 @@ require 'spec_helper' describe 'Cost report showing my own times', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } - let(:user2) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } + let(:user2) { create :admin } - let(:work_package) { FactoryBot.create :work_package, project: project } - let!(:hourly_rate1) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } + let(:work_package) { create :work_package, project: project } + let!(:hourly_rate1) { create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, hours: 10 end let!(:time_entry2) do - FactoryBot.create :time_entry, + create :time_entry, user: user2, work_package: work_package, project: project, @@ -63,18 +63,18 @@ describe 'Cost report showing my own times', type: :feature, js: true do end describe 'assignee filter' do - let(:work_package) { FactoryBot.create :work_package, project: project, assigned_to: user } - let(:work_package2) { FactoryBot.create :work_package, project: project, assigned_to: user2 } + let(:work_package) { create :work_package, project: project, assigned_to: user } + let(:work_package2) { create :work_package, project: project, assigned_to: user2 } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, hours: 10 end let!(:time_entry2) do - FactoryBot.create :time_entry, + create :time_entry, user: user2, work_package: work_package2, project: project, diff --git a/modules/reporting/spec/features/menu_spec.rb b/modules/reporting/spec/features/menu_spec.rb index f8d5c7192f2..a88ffc2a93c 100644 --- a/modules/reporting/spec/features/menu_spec.rb +++ b/modules/reporting/spec/features/menu_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'project menu', type: :feature do - let(:current_user) { FactoryBot.create :admin } - let!(:project) { FactoryBot.create :valid_project, identifier: 'ponyo', name: 'Ponyo' } + let(:current_user) { create :admin } + let!(:project) { create :valid_project, identifier: 'ponyo', name: 'Ponyo' } before do allow(User).to receive(:current).and_return current_user diff --git a/modules/reporting/spec/features/my_time_spec.rb b/modules/reporting/spec/features/my_time_spec.rb index 0c0bf414e91..70b6e9b059d 100644 --- a/modules/reporting/spec/features/my_time_spec.rb +++ b/modules/reporting/spec/features/my_time_spec.rb @@ -1,15 +1,15 @@ require 'spec_helper' describe 'Cost report showing my own times', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } - let(:user2) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } + let(:user2) { create :admin } - let(:work_package) { FactoryBot.create :work_package, project: project } - let!(:hourly_rate1) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } + let(:work_package) { create :work_package, project: project } + let!(:hourly_rate1) { create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } let!(:time_entry1) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, diff --git a/modules/reporting/spec/features/permissions_spec.rb b/modules/reporting/spec/features/permissions_spec.rb index 0d04e539b18..46d71c145c3 100644 --- a/modules/reporting/spec/features/permissions_spec.rb +++ b/modules/reporting/spec/features/permissions_spec.rb @@ -2,44 +2,44 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' describe 'Cost report calculations', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:admin) { FactoryBot.create :admin } + let(:project) { create :project } + let(:admin) { create :admin } let!(:permissions) { %i(view_cost_entries view_own_cost_entries) } - let!(:role) { FactoryBot.create :role, permissions: permissions } + let!(:role) { create :role, permissions: permissions } let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end - let(:work_package) { FactoryBot.create :work_package, project: project } - let!(:hourly_rate_admin) { FactoryBot.create :default_hourly_rate, user: admin, rate: 1.00, valid_from: 1.year.ago } - let!(:hourly_rate_user) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } + let(:work_package) { create :work_package, project: project } + let!(:hourly_rate_admin) { create :default_hourly_rate, user: admin, rate: 1.00, valid_from: 1.year.ago } + let!(:hourly_rate_user) { create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago } let(:report_page) { ::Pages::CostReportPage.new project } let!(:time_entry_user) do - FactoryBot.create :time_entry, + create :time_entry, user: admin, work_package: work_package, project: project, hours: 10 end let!(:time_entry_admin) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, hours: 5 end let!(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, cost_type: type, rate: 7.00 + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 7.00 type end let!(:cost_entry_user) do - FactoryBot.create :cost_entry, + create :cost_entry, work_package: work_package, project: project, units: 3.00, diff --git a/modules/reporting/spec/features/project_context_spec.rb b/modules/reporting/spec/features/project_context_spec.rb index 265d38d0cc8..b858ca136e9 100644 --- a/modules/reporting/spec/features/project_context_spec.rb +++ b/modules/reporting/spec/features/project_context_spec.rb @@ -2,9 +2,9 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' describe 'Cost report project context', type: :feature, js: true do - let(:project1) { FactoryBot.create :project } - let(:project2) { FactoryBot.create :project } - let(:admin) { FactoryBot.create :admin } + let(:project1) { create :project } + let(:project2) { create :project } + let(:admin) { create :admin } let(:report_page) { ::Pages::CostReportPage.new project } diff --git a/modules/reporting/spec/features/saving_spec.rb b/modules/reporting/spec/features/saving_spec.rb index 6b58a712096..fff511f5d67 100644 --- a/modules/reporting/spec/features/saving_spec.rb +++ b/modules/reporting/spec/features/saving_spec.rb @@ -2,8 +2,8 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' describe 'Cost report saving', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:user) { create :admin } let(:report_page) { ::Pages::CostReportPage.new project } @@ -47,9 +47,9 @@ describe 'Cost report saving', type: :feature, js: true do end context 'as user without permissions' do - let(:role) { FactoryBot.create :role, permissions: %i(view_time_entries) } + let(:role) { create :role, permissions: %i(view_time_entries) } let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/modules/reporting/spec/features/subproject_spec.rb b/modules/reporting/spec/features/subproject_spec.rb index e27eef29997..d6d6ef43491 100644 --- a/modules/reporting/spec/features/subproject_spec.rb +++ b/modules/reporting/spec/features/subproject_spec.rb @@ -1,12 +1,12 @@ require 'spec_helper' describe 'Cost report in subproject', type: :feature, js: true do - let!(:project) { FactoryBot.create :project } - let!(:subproject) { FactoryBot.create :project, parent: project } + let!(:project) { create :project } + let!(:subproject) { create :project, parent: project } - let!(:role) { FactoryBot.create :role, permissions: %i(view_cost_entries view_own_cost_entries) } + let!(:role) { create :role, permissions: %i(view_cost_entries view_own_cost_entries) } let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: subproject, member_through_role: role end diff --git a/modules/reporting/spec/features/top_menu_item_spec.rb b/modules/reporting/spec/features/top_menu_item_spec.rb index 759eb29b541..eedba1175bd 100644 --- a/modules/reporting/spec/features/top_menu_item_spec.rb +++ b/modules/reporting/spec/features/top_menu_item_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'Top menu items', js: true do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:open_menu) { true } def has_menu_items?(*labels) @@ -61,8 +61,8 @@ feature 'Top menu items', js: true do before do |ex| allow(User).to receive(:current).and_return user - FactoryBot.create(:anonymous_role) - FactoryBot.create(:non_member) + create(:anonymous_role) + create(:non_member) if ex.metadata.key?(:allowed_to) allow(user).to receive(:allowed_to?).and_return(ex.metadata[:allowed_to]) @@ -78,7 +78,7 @@ feature 'Top menu items', js: true do let(:reporting_item) { I18n.t('cost_reports_title') } context 'as an admin' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } it 'displays reporting item' do has_menu_items?(reporting_item) diff --git a/modules/reporting/spec/features/update_cost_report_spec.rb b/modules/reporting/spec/features/update_cost_report_spec.rb index cbe9423b369..bf0f57abf84 100644 --- a/modules/reporting/spec/features/update_cost_report_spec.rb +++ b/modules/reporting/spec/features/update_cost_report_spec.rb @@ -30,17 +30,17 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') require_relative 'support/pages/cost_report_page' describe "updating a cost report's cost type", type: :feature, js: true do - let(:project) { FactoryBot.create :project_with_types, members: { user => FactoryBot.create(:role) } } + let(:project) { create :project_with_types, members: { user => create(:role) } } let(:user) do - FactoryBot.create(:admin) + create(:admin) end let(:cost_type) do - FactoryBot.create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' + create :cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps' end let!(:cost_entry) do - FactoryBot.create :cost_entry, user: user, project: project, cost_type: cost_type + create :cost_entry, user: user, project: project, cost_type: cost_type end let(:report_page) { ::Pages::CostReportPage.new project } diff --git a/modules/reporting/spec/features/update_entries_spec.rb b/modules/reporting/spec/features/update_entries_spec.rb index 391407c6365..72849968104 100644 --- a/modules/reporting/spec/features/update_entries_spec.rb +++ b/modules/reporting/spec/features/update_entries_spec.rb @@ -31,12 +31,12 @@ require_relative 'support/pages/cost_report_page' require_relative 'support/components/cost_reports_base_table' describe 'Updating entries within the cost report', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:user) { FactoryBot.create :admin } - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:project) { create :project } + let(:user) { create :admin } + let(:work_package) { create :work_package, project: project } let!(:time_entry_user) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package, project: project, @@ -44,13 +44,13 @@ describe 'Updating entries within the cost report', type: :feature, js: true do end let(:cost_type) do - type = FactoryBot.create :cost_type, name: 'My cool type' - FactoryBot.create :cost_rate, cost_type: type, rate: 7.00 + type = create :cost_type, name: 'My cool type' + create :cost_rate, cost_type: type, rate: 7.00 type end let!(:cost_entry_user) do - FactoryBot.create :cost_entry, + create :cost_entry, work_package: work_package, project: project, units: 3.00, @@ -118,9 +118,9 @@ describe 'Updating entries within the cost report', type: :feature, js: true do end context 'as user without permissions' do - let(:role) { FactoryBot.create :role, permissions: %i(view_time_entries) } + let(:role) { create :role, permissions: %i(view_time_entries) } let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/modules/reporting/spec/features/work_package_costlog_spec.rb b/modules/reporting/spec/features/work_package_costlog_spec.rb index 6305d756be8..3e40a933849 100644 --- a/modules/reporting/spec/features/work_package_costlog_spec.rb +++ b/modules/reporting/spec/features/work_package_costlog_spec.rb @@ -1,22 +1,22 @@ require 'spec_helper' describe 'Cost report showing my own times', type: :feature, js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages view_own_cost_entries] } let(:budget) do - FactoryBot.create(:budget, project: project) + create(:budget, project: project) end - let(:cost_type) { FactoryBot.create(:cost_type, name: 'Foobar', unit: 'Foobar', unit_plural: 'Foobars') } - let(:work_package) { FactoryBot.create :work_package, project: project, budget: budget } + let(:cost_type) { create(:cost_type, name: 'Foobar', unit: 'Foobar', unit_plural: 'Foobars') } + let(:work_package) { create :work_package, project: project, budget: budget } let(:wp_page) { Pages::FullWorkPackage.new work_package, project } let(:cost_entry) do - FactoryBot.build(:cost_entry, + build(:cost_entry, cost_type: cost_type, project: project, work_package: work_package, diff --git a/modules/reporting/spec/helpers/reporting_helper_spec.rb b/modules/reporting/spec/helpers/reporting_helper_spec.rb index d23941b75c8..70d7b8a894e 100644 --- a/modules/reporting/spec/helpers/reporting_helper_spec.rb +++ b/modules/reporting/spec/helpers/reporting_helper_spec.rb @@ -33,7 +33,7 @@ describe ReportingHelper, type: :helper do context 'for a custom field' do context 'for which a custom option exists (e.g. a list field)' do let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", possible_values: ["ham"] @@ -55,7 +55,7 @@ describe ReportingHelper, type: :helper do context 'for which no custom option exists (e.g. a float field)' do let(:custom_field) do - FactoryBot.create( + create( :float_wp_custom_field, name: "Estimate" ) diff --git a/modules/reporting/spec/models/cost_query/chaining_spec.rb b/modules/reporting/spec/models/cost_query/chaining_spec.rb index ff00df18897..9fd8f21ca72 100644 --- a/modules/reporting/spec/models/cost_query/chaining_spec.rb +++ b/modules/reporting/spec/models/cost_query/chaining_spec.rb @@ -29,7 +29,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe CostQuery, type: :model, reporting_query_helper: true do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } minimal_query diff --git a/modules/reporting/spec/models/cost_query/filter_spec.rb b/modules/reporting/spec/models/cost_query/filter_spec.rb index ddd6b15b77a..b20c789fd0e 100644 --- a/modules/reporting/spec/models/cost_query/filter_spec.rb +++ b/modules/reporting/spec/models/cost_query/filter_spec.rb @@ -32,16 +32,16 @@ require File.join(File.dirname(__FILE__), '..', '..', 'support', 'custom_field_f describe CostQuery, type: :model, reporting_query_helper: true do minimal_query - let!(:project) { FactoryBot.create(:project_with_types) } - let!(:user) { FactoryBot.create(:user, member_in_project: project) } + let!(:project) { create(:project_with_types) } + let!(:user) { create(:user, member_in_project: project) } def create_work_package_with_entry(entry_type, work_package_params = {}, entry_params = {}) work_package_params = { project: project }.merge!(work_package_params) - work_package = FactoryBot.create(:work_package, work_package_params) + work_package = create(:work_package, work_package_params) entry_params = { work_package: work_package, project: work_package_params[:project], user: user }.merge!(entry_params) - FactoryBot.create(entry_type, entry_params) + create(entry_type, entry_params) work_package end @@ -76,25 +76,25 @@ describe CostQuery, type: :model, reporting_query_helper: true do [CostQuery::Filter::ActivityId, 'activity', "activity_id", 1] ].each do |filter, object_name, field, expected_count| describe filter do - let!(:non_matching_entry) { FactoryBot.create(:cost_entry) } + let!(:non_matching_entry) { create(:cost_entry) } let!(:object) { send(object_name) } - let!(:author) { FactoryBot.create(:user, member_in_project: project) } + let!(:author) { create(:user, member_in_project: project) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: author) end - let!(:cost_type) { FactoryBot.create(:cost_type) } + let!(:cost_type) { create(:cost_type) } let!(:cost_entry) do - FactoryBot.create(:cost_entry, + create(:cost_entry, work_package: work_package, user: user, project: project, cost_type: cost_type) end - let!(:activity) { FactoryBot.create(:time_entry_activity) } + let!(:activity) { create(:time_entry_activity) } let!(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, user: user, project: project, @@ -132,24 +132,24 @@ describe CostQuery, type: :model, reporting_query_helper: true do # Test author attribute separately as it is not included in the result set describe CostQuery::Filter::AuthorId do - let!(:non_matching_entry) { FactoryBot.create(:cost_entry) } - let!(:author) { FactoryBot.create(:user, member_in_project: project) } + let!(:non_matching_entry) { create(:cost_entry) } + let!(:author) { create(:user, member_in_project: project) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: author) end - let!(:cost_type) { FactoryBot.create(:cost_type) } + let!(:cost_type) { create(:cost_type) } let!(:cost_entry) do - FactoryBot.create(:cost_entry, + create(:cost_entry, work_package: work_package, user: user, project: project, cost_type: cost_type) end - let!(:activity) { FactoryBot.create(:time_entry_activity) } + let!(:activity) { create(:time_entry_activity) } let!(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, user: user, project: project, @@ -205,7 +205,7 @@ describe CostQuery, type: :model, reporting_query_helper: true do it "filters user_id" do old_user = User.current # create non-matching entry - anonymous = FactoryBot.create(:anonymous) + anonymous = create(:anonymous) create_work_package_with_time_entry({}, { user: anonymous }) # create matching entry create_work_package_with_time_entry @@ -221,7 +221,7 @@ describe CostQuery, type: :model, reporting_query_helper: true do end def create_matching_object_with_time_entries(factory, work_package_field, entry_count) - object = FactoryBot.create(factory) + object = create(factory) create_work_packages_and_time_entries(entry_count, { work_package_field => object }) object end @@ -232,7 +232,7 @@ describe CostQuery, type: :model, reporting_query_helper: true do end it "filters status" do - matching_status = FactoryBot.create(:status, is_closed: true) + matching_status = create(:status, is_closed: true) create_work_packages_and_time_entries(3, status: matching_status) @query.filter :status_id, operator: 'c' expect(@query.result.count).to eq(3) @@ -264,14 +264,14 @@ describe CostQuery, type: :model, reporting_query_helper: true do end it "filters category" do - category = FactoryBot.create(:category, project: project) + category = create(:category, project: project) create_work_packages_and_time_entries(3, category: category) @query.filter :category_id, operator: '=', value: category.id expect(@query.result.count).to eq(3) end it "filters target version" do - matching_version = FactoryBot.create(:version, project: project) + matching_version = create(:version, project: project) create_work_packages_and_time_entries(3, version: matching_version) @query.filter :version_id, operator: '=', value: matching_version.id @@ -352,14 +352,14 @@ describe CostQuery, type: :model, reporting_query_helper: true do describe CostQuery::Filter::CustomFieldEntries do let!(:custom_field) do - cf = FactoryBot.create(:work_package_custom_field, + cf = create(:work_package_custom_field, name: 'My custom field') clear_cache cf end let(:custom_field2) do - FactoryBot.build(:work_package_custom_field, name: 'Database', + build(:work_package_custom_field, name: 'Database', field_format: "list", possible_values: ['value']) end @@ -437,18 +437,18 @@ describe CostQuery, type: :model, reporting_query_helper: true do end def create_searchable_fields_and_values - searchable_field = FactoryBot.create(:work_package_custom_field, + searchable_field = create(:work_package_custom_field, field_format: "text", name: "Searchable Field") 2.times do work_package = create_work_package_with_entry(:cost_entry) - FactoryBot.create(:work_package_custom_value, + create(:work_package_custom_value, custom_field: searchable_field, customized: work_package, value: "125") end work_package = create_work_package_with_entry(:cost_entry) - FactoryBot.create(:custom_value, + create(:custom_value, custom_field: searchable_field, value: "non-matching value") clear_cache diff --git a/modules/reporting/spec/models/cost_query/group_by_spec.rb b/modules/reporting/spec/models/cost_query/group_by_spec.rb index 7a3af93d012..b19589a6c47 100644 --- a/modules/reporting/spec/models/cost_query/group_by_spec.rb +++ b/modules/reporting/spec/models/cost_query/group_by_spec.rb @@ -30,20 +30,20 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') require File.join(File.dirname(__FILE__), '..', '..', 'support', 'custom_field_filter') describe CostQuery, type: :model, reporting_query_helper: true do - let!(:type) { FactoryBot.create(:type) } - let!(:project1) { FactoryBot.create(:project_with_types, types: [type]) } - let!(:work_package1) { FactoryBot.create(:work_package, project: project1, type: type) } + let!(:type) { create(:type) } + let!(:project1) { create(:project_with_types, types: [type]) } + let!(:work_package1) { create(:work_package, project: project1, type: type) } let!(:time_entry1) do - FactoryBot.create(:time_entry, work_package: work_package1, project: project1, spent_on: Date.new(2012, 1, 1)) + create(:time_entry, work_package: work_package1, project: project1, spent_on: Date.new(2012, 1, 1)) end let!(:time_entry2) do time_entry2 = time_entry1.dup time_entry2.save! time_entry2 end - let!(:budget1) { FactoryBot.create(:budget, project: project1) } + let!(:budget1) { create(:budget, project: project1) } let!(:cost_entry1) do - FactoryBot.create(:cost_entry, work_package: work_package1, project: project1, spent_on: Date.new(2013, 2, 3)) + create(:cost_entry, work_package: work_package1, project: project1, spent_on: Date.new(2013, 2, 3)) end let!(:cost_entry2) do cost_entry2 = cost_entry1.dup @@ -51,19 +51,19 @@ describe CostQuery, type: :model, reporting_query_helper: true do cost_entry2 end - let!(:project2) { FactoryBot.create(:project_with_types, types: [type]) } - let!(:work_package2) { FactoryBot.create(:work_package, project: project2, type: type) } + let!(:project2) { create(:project_with_types, types: [type]) } + let!(:work_package2) { create(:work_package, project: project2, type: type) } let!(:time_entry3) do - FactoryBot.create(:time_entry, work_package: work_package2, project: project2, spent_on: Date.new(2013, 2, 3)) + create(:time_entry, work_package: work_package2, project: project2, spent_on: Date.new(2013, 2, 3)) end let!(:time_entry4) do time_entry4 = time_entry3.dup time_entry4.save! time_entry4 end - let!(:budget2) { FactoryBot.create(:budget, project: project2) } + let!(:budget2) { create(:budget, project: project2) } let!(:cost_entry3) do - FactoryBot.create(:cost_entry, work_package: work_package2, project: project2, spent_on: Date.new(2012, 1, 1)) + create(:cost_entry, work_package: work_package2, project: project2, spent_on: Date.new(2012, 1, 1)) end let!(:cost_entry4) do cost_entry4 = cost_entry3.dup @@ -232,13 +232,13 @@ describe CostQuery, type: :model, reporting_query_helper: true do end describe CostQuery::GroupBy::CustomFieldEntries do - let!(:project) { FactoryBot.create(:project_with_types) } + let!(:project) { create(:project_with_types) } let!(:custom_field) do - FactoryBot.create(:work_package_custom_field) + create(:work_package_custom_field) end let(:custom_field2) do - FactoryBot.build(:work_package_custom_field) + build(:work_package_custom_field) end before do diff --git a/modules/reporting/spec/models/cost_query/integration_spec.rb b/modules/reporting/spec/models/cost_query/integration_spec.rb index 74a60faab31..9fc88cea0da 100644 --- a/modules/reporting/spec/models/cost_query/integration_spec.rb +++ b/modules/reporting/spec/models/cost_query/integration_spec.rb @@ -31,18 +31,18 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe CostQuery, type: :model, reporting_query_helper: true do minimal_query - let!(:project1) { FactoryBot.create(:project_with_types) } - let!(:work_package1) { FactoryBot.create(:work_package, project: project1) } - let!(:time_entry1) { FactoryBot.create(:time_entry, work_package: work_package1, project: project1) } - let!(:time_entry2) { FactoryBot.create(:time_entry, work_package: work_package1, project: project1) } + let!(:project1) { create(:project_with_types) } + let!(:work_package1) { create(:work_package, project: project1) } + let!(:time_entry1) { create(:time_entry, work_package: work_package1, project: project1) } + let!(:time_entry2) { create(:time_entry, work_package: work_package1, project: project1) } - let!(:project2) { FactoryBot.create(:project_with_types) } - let!(:work_package2) { FactoryBot.create(:work_package, project: project2) } - let!(:time_entry3) { FactoryBot.create(:time_entry, work_package: work_package2, project: project2) } - let!(:time_entry4) { FactoryBot.create(:time_entry, work_package: work_package2, project: project2) } + let!(:project2) { create(:project_with_types) } + let!(:work_package2) { create(:work_package, project: project2) } + let!(:time_entry3) { create(:time_entry, work_package: work_package2, project: project2) } + let!(:time_entry4) { create(:time_entry, work_package: work_package2, project: project2) } before do - FactoryBot.create(:admin) + create(:admin) end describe "the reporting system" do diff --git a/modules/reporting/spec/models/cost_query/operator_spec.rb b/modules/reporting/spec/models/cost_query/operator_spec.rb index cf954dfba37..f2476bd1431 100644 --- a/modules/reporting/spec/models/cost_query/operator_spec.rb +++ b/modules/reporting/spec/models/cost_query/operator_spec.rb @@ -31,8 +31,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe CostQuery, type: :model, reporting_query_helper: true do minimal_query - let!(:project1) { FactoryBot.create(:project, name: "project1", created_at: 5.minutes.ago) } - let!(:project2) { FactoryBot.create(:project, name: "project2", created_at: 6.minutes.ago) } + let!(:project1) { create(:project, name: "project1", created_at: 5.minutes.ago) } + let!(:project2) { create(:project, name: "project2", created_at: 6.minutes.ago) } describe CostQuery::Operator do def query(table, field, operator, *values) @@ -49,7 +49,7 @@ describe CostQuery, type: :model, reporting_query_helper: true do end def create_project(options = {}) - FactoryBot.create(:project, options) + create(:project, options) end it "does =" do @@ -121,66 +121,66 @@ describe CostQuery, type: :model, reporting_query_helper: true do # somehow this test doesn't work on sundays n = query('projects', 'created_at', 'w').size day_in_this_week = Time.now.at_beginning_of_week + 1.day - FactoryBot.create(:project, created_at: day_in_this_week) + create(:project, created_at: day_in_this_week) expect(query('projects', 'created_at', 'w').size).to eq(n + 1) - FactoryBot.create(:project, created_at: day_in_this_week + 7.days) - FactoryBot.create(:project, created_at: day_in_this_week - 7.days) + create(:project, created_at: day_in_this_week + 7.days) + create(:project, created_at: day_in_this_week - 7.days) expect(query('projects', 'created_at', 'w').size).to eq(n + 1) end it "does t (today)" do s = query('projects', 'created_at', 't').size - FactoryBot.create(:project, created_at: Date.yesterday) + create(:project, created_at: Date.yesterday) expect(query('projects', 'created_at', 't').size).to eq(s) - FactoryBot.create(:project, created_at: Time.now) + create(:project, created_at: Time.now) expect(query('projects', 'created_at', 't').size).to eq(s + 1) end it "does t+ (after the day which is n days in the furure)" do n = query('projects', 'created_at', '>t+', 1).size - FactoryBot.create(:project, created_at: Time.now) + create(:project, created_at: Time.now) expect(query('projects', 'created_at', '>t+', 1).size).to eq(n) - FactoryBot.create(:project, created_at: Date.tomorrow + 1) + create(:project, created_at: Date.tomorrow + 1) expect(query('projects', 'created_at', '>t+', 1).size).to eq(n + 1) end it "does >t- (after the day which is n days ago)" do n = query('projects', 'created_at', '>t-', 1).size - FactoryBot.create(:project, created_at: Date.today) + create(:project, created_at: Date.today) expect(query('projects', 'created_at', '>t-', 1).size).to eq(n + 1) - FactoryBot.create(:project, created_at: Date.yesterday - 1) + create(:project, created_at: Date.yesterday - 1) expect(query('projects', 'created_at', '>t-', 1).size).to eq(n + 1) end it "does t- (n days ago)" do n = query('projects', 'created_at', 't-', 1).size - FactoryBot.create(:project, created_at: Date.yesterday) + create(:project, created_at: Date.yesterday) expect(query('projects', 'created_at', 't-', 1).size).to eq(n + 1) - FactoryBot.create(:project, created_at: Date.yesterday - 2) + create(:project, created_at: Date.yesterday - 2) expect(query('projects', 'created_at', 't-', 1).size).to eq(n + 1) end it "does role }) end shared_let(:public_query) do - FactoryBot.create(:query, + create(:query, project: project, public: true) end diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb index dff1ed2d48a..5eaa488debd 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb @@ -5,7 +5,7 @@ describe ::TwoFactorAuthentication::AuthenticationController, with_2fa_ee: true, let(:valid_credentials) do { username: 'foobar', password: 'AAA1111!!!!' } end - let(:user) { FactoryBot.create(:user, login: 'foobar', password: 'AAA1111!!!!', password_confirmation: 'AAA1111!!!!') } + let(:user) { create(:user, login: 'foobar', password: 'AAA1111!!!!', password_confirmation: 'AAA1111!!!!') } before do # Assume the user has any memberships @@ -60,7 +60,7 @@ describe ::TwoFactorAuthentication::AuthenticationController, with_2fa_ee: true, end context 'with a non-default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: false, channel: :sms } + let!(:device) { create :two_factor_authentication_device_sms, user: user, default: false, channel: :sms } before do session[:authenticated_user_id] = user.id @@ -72,24 +72,24 @@ describe ::TwoFactorAuthentication::AuthenticationController, with_2fa_ee: true, end context 'with an invalid device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, channel: :totp } + let!(:device) { create :two_factor_authentication_device_totp, user: user, channel: :totp } it_behaves_like '2FA login request failure', I18n.t('two_factor_authentication.error_no_matching_strategy') end context 'with an active device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: :sms } + let!(:device) { create :two_factor_authentication_device_sms, user: user, channel: :sms } it_behaves_like '2FA SMS request success' end end describe 'with two active strategy', with_config: { '2fa' => { active_strategies: %i[developer totp] } } do context 'with a totp device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, channel: :totp } + let!(:device) { create :two_factor_authentication_device_totp, user: user, channel: :totp } it_behaves_like '2FA TOTP request success' end context 'with an sms device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: :sms } + let!(:device) { create :two_factor_authentication_device_sms, user: user, channel: :sms } it_behaves_like '2FA SMS request success' end end diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb index 2b7f83fc7c9..346d0d901c2 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb @@ -2,7 +2,7 @@ require_relative '../../../spec_helper' require_relative './../authentication_controller_shared_examples' describe ::TwoFactorAuthentication::ForcedRegistration::TwoFactorDevicesController, with_2fa_ee: true do - let(:user) { FactoryBot.create(:user, login: 'foobar') } + let(:user) { create(:user, login: 'foobar') } let(:logged_in_user) { User.anonymous } let(:active_strategies) { [] } let(:config) { {} } @@ -134,7 +134,7 @@ describe ::TwoFactorAuthentication::ForcedRegistration::TwoFactorDevicesControll describe 'and registered totp device' do let(:active_strategies) { [:totp] } - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, active: false, default: false } it 'renders the confirmation page' do get :confirm, params: { device_id: device.id } @@ -145,7 +145,7 @@ describe ::TwoFactorAuthentication::ForcedRegistration::TwoFactorDevicesControll end describe 'with registered device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: false, default: false } it 'renders the confirmation page' do get :confirm, params: { device_id: device.id } @@ -173,7 +173,7 @@ describe ::TwoFactorAuthentication::ForcedRegistration::TwoFactorDevicesControll describe 'and registered totp device' do let(:active_strategies) { [:totp] } - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, active: false, default: false } it 'renders a 400 on missing token' do post :confirm, params: { device_id: device.id } diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller.rb index 86e455cd3d4..0ce4e05f3b2 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller.rb @@ -2,7 +2,7 @@ require_relative '../../../spec_helper' require_relative './../authentication_controller_shared_examples' describe ::TwoFactorAuthentication::My::RememberCookieController do - let(:user) { FactoryBot.create(:user, login: 'foobar') } + let(:user) { create(:user, login: 'foobar') } let(:logged_in_user) { user } before do diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb index 9713512e304..eefe28a0c5e 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb @@ -2,8 +2,8 @@ require_relative '../../../spec_helper' require_relative './../authentication_controller_shared_examples' describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: true do - let(:user) { FactoryBot.create(:user, login: 'foobar') } - let(:other_user) { FactoryBot.create(:user) } + let(:user) { create(:user, login: 'foobar') } + let(:other_user) { create(:user) } let(:logged_in_user) { user } let(:active_strategies) { [] } let(:config) { {} } @@ -115,7 +115,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: describe 'and registered totp device' do let(:active_strategies) { [:totp] } - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, active: false, default: false } it 'renders the confirmation page' do get :confirm, params: { device_id: device.id } @@ -126,7 +126,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: end describe 'with registered device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: false, default: false } it 'renders the confirmation page' do get :confirm, params: { device_id: device.id } @@ -154,7 +154,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: describe 'and registered totp device' do let(:active_strategies) { [:totp] } - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, active: false, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, active: false, default: false } it 'renders a 400 on missing token' do post :confirm, params: { device_id: device.id } @@ -187,7 +187,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: end context 'with another default device present' do - let!(:default_device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:default_device) { create :two_factor_authentication_device_totp, user: user, default: true } it 'activates the device when entered correctly' do allow_any_instance_of(::TwoFactorAuthentication::TokenService) @@ -220,7 +220,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: end context 'with existing non-default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: false } it 'deletes it' do delete :destroy, params: { device_id: device.id } @@ -230,7 +230,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: end context 'with existing default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } it 'deletes it' do delete :destroy, params: { device_id: device.id } @@ -240,7 +240,7 @@ describe ::TwoFactorAuthentication::My::TwoFactorDevicesController, with_2fa_ee: end context 'with existing default device AND enforced' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } let(:config) { { enforced: true } } it 'cannot be deleted' do diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb index cca615bf1f5..4a40a735865 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb @@ -2,9 +2,9 @@ require_relative '../../../spec_helper' require_relative './../authentication_controller_shared_examples' describe ::TwoFactorAuthentication::Users::TwoFactorDevicesController, with_2fa_ee: true do - let(:admin) { FactoryBot.create :admin } - let(:user) { FactoryBot.create(:user, login: 'foobar') } - let(:other_user) { FactoryBot.create(:user) } + let(:admin) { create :admin } + let(:user) { create(:user, login: 'foobar') } + let(:other_user) { create(:user) } let(:logged_in_user) { admin } let(:active_strategies) { [:developer] } let(:config) { {} } @@ -123,7 +123,7 @@ describe ::TwoFactorAuthentication::Users::TwoFactorDevicesController, with_2fa_ end context 'with existing non-default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: false } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: false } it 'deletes it' do delete :destroy, params: { id: user.id, device_id: device.id } @@ -133,7 +133,7 @@ describe ::TwoFactorAuthentication::Users::TwoFactorDevicesController, with_2fa_ end context 'with existing default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } it 'deletes it' do delete :destroy, params: { id: user.id, device_id: device.id } @@ -143,7 +143,7 @@ describe ::TwoFactorAuthentication::Users::TwoFactorDevicesController, with_2fa_ end context 'with existing default device AND enforced' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } let(:config) { { enforced: true } } it 'cannot be deleted' do diff --git a/modules/two_factor_authentication/spec/features/account_activation_spec.rb b/modules/two_factor_authentication/spec/features/account_activation_spec.rb index 1c0e328092b..cceb6f28d43 100644 --- a/modules/two_factor_authentication/spec/features/account_activation_spec.rb +++ b/modules/two_factor_authentication/spec/features/account_activation_spec.rb @@ -7,7 +7,7 @@ describe 'activating an invited account', js: true, with_config: { '2fa': { active_strategies: [:developer] } } do let(:user) do - user = FactoryBot.build :user, first_login: true + user = build :user, first_login: true UserInvitation.invite_user! user user @@ -38,7 +38,7 @@ describe 'activating an invited account', end context 'when not enforced, but device present' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, default: true } it 'requests a OTP' do sms_token = nil diff --git a/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb index 75d8384938f..ac805cd96fd 100644 --- a/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb @@ -5,9 +5,9 @@ describe 'Admin 2FA management', with_2fa_ee: true, type: :feature, js: true do let(:dialog) { ::Components::PasswordConfirmationDialog.new } let(:user_password) { 'admin!' * 4 } - let(:other_user) { FactoryBot.create :user, login: 'bob' } + let(:other_user) { create :user, login: 'bob' } let(:admin) do - FactoryBot.create(:admin, + create(:admin, password: user_password, password_confirmation: user_password) end @@ -65,8 +65,8 @@ describe 'Admin 2FA management', with_2fa_ee: true, type: :feature, end context 'with multiple devices registered' do - let!(:device1) { FactoryBot.create :two_factor_authentication_device_sms, user: other_user } - let!(:device2) { FactoryBot.create :two_factor_authentication_device_totp, user: other_user, default: false } + let!(:device1) { create :two_factor_authentication_device_sms, user: other_user } + let!(:device2) { create :two_factor_authentication_device_totp, user: other_user, default: false } it 'allows to delete all' do visit edit_user_path(other_user, tab: :two_factor_authentication) diff --git a/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes.rb b/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes.rb index e8a90e25e9d..da90bc9658e 100644 --- a/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes.rb +++ b/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes.rb @@ -6,7 +6,7 @@ describe 'Generate 2FA backup codes', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) diff --git a/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb b/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb index baa6c8f832c..5d8cc2d5b59 100644 --- a/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb +++ b/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb @@ -6,12 +6,12 @@ describe 'Login with 2FA backup code', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) end - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: true } context 'user has no backup code' do it 'does not show the backup code link' do diff --git a/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb index e83372d7b85..3fe178ef2a9 100644 --- a/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb @@ -6,14 +6,14 @@ describe 'Login with enforced 2FA', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) end context 'with a default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: true } it 'requests a 2FA' do sms_token = nil diff --git a/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb index 7aea83bd27b..2fbe8b85ef2 100644 --- a/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb @@ -6,14 +6,14 @@ describe 'Login with 2FA device', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) end context 'with a default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: true } it 'requests a 2FA' do sms_token = nil diff --git a/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb index 84c9d597484..7adc01a7f7e 100644 --- a/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb @@ -6,14 +6,14 @@ describe 'Login with no required OTP', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) end context 'non-default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: false } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: false } it_behaves_like 'login without 2FA' end diff --git a/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb b/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb index 06a9163c800..cb6d0821148 100644 --- a/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb @@ -6,15 +6,15 @@ describe 'Login by switching 2FA device', with_2fa_ee: true, type: :feature, js: true do let(:user_password) { 'bob!' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) end context 'with two default device' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: true } - let!(:device2) { FactoryBot.create :two_factor_authentication_device_totp, user: user, active: true, default: false } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: true } + let!(:device2) { create :two_factor_authentication_device_totp, user: user, active: true, default: false } it 'requests a 2FA and allows switching' do first_login_step diff --git a/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb index 1d222b55c10..44760306f94 100644 --- a/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb @@ -7,7 +7,7 @@ describe 'My Account 2FA configuration', with_2fa_ee: true, let(:dialog) { ::Components::PasswordConfirmationDialog.new } let(:user_password) { 'boB!4' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) diff --git a/modules/two_factor_authentication/spec/features/password_change_spec.rb b/modules/two_factor_authentication/spec/features/password_change_spec.rb index b7a0d0610bd..5820a3a8542 100644 --- a/modules/two_factor_authentication/spec/features/password_change_spec.rb +++ b/modules/two_factor_authentication/spec/features/password_change_spec.rb @@ -6,7 +6,7 @@ describe 'Password change with OTP', with_2fa_ee: true, type: :feature, let(:user_password) { 'boB&' * 4 } let(:new_user_password) { '%obB' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) @@ -53,7 +53,7 @@ describe 'Password change with OTP', with_2fa_ee: true, type: :feature, end context 'when device present' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, default: true } it 'requires the password change after expired' do expect(user.current_password).not_to be_expired @@ -87,7 +87,7 @@ describe 'Password change with OTP', with_2fa_ee: true, type: :feature, context 'when force password change is set' do let(:user) do - FactoryBot.create(:user, + create(:user, force_password_change: true, first_login: true, login: 'bob', @@ -101,7 +101,7 @@ describe 'Password change with OTP', with_2fa_ee: true, type: :feature, end context 'when device present' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, default: true } it 'requires the password change' do handle_password_change diff --git a/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb b/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb index 641fed0a40f..685945163d9 100644 --- a/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb +++ b/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb @@ -10,9 +10,9 @@ describe 'Login with 2FA remember cookie', "user!user!" end let(:user) do - FactoryBot.create(:user, password: user_password, password_confirmation: user_password) + create(:user, password: user_password, password_confirmation: user_password) end - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, active: true, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, active: true, default: true } def login_with_cookie page.driver.browser.manage.delete_all_cookies diff --git a/modules/two_factor_authentication/spec/lib/token_strategies/message_bird_spec.rb b/modules/two_factor_authentication/spec/lib/token_strategies/message_bird_spec.rb index 696d320eef8..a4bbf15b38f 100644 --- a/modules/two_factor_authentication/spec/lib/token_strategies/message_bird_spec.rb +++ b/modules/two_factor_authentication/spec/lib/token_strategies/message_bird_spec.rb @@ -4,8 +4,8 @@ require 'messagebird' describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::MessageBird, with_2fa_ee: true do let(:channel) { :sms } let(:locale) { 'en' } - let(:user) { FactoryBot.create :user, language: locale } - let(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: channel } + let(:user) { create :user, language: locale } + let(:device) { create :two_factor_authentication_device_sms, user: user, channel: channel } let(:strategy) { described_class.new user: user, device: device, channel: channel } before do diff --git a/modules/two_factor_authentication/spec/models/devices/default_device_spec.rb b/modules/two_factor_authentication/spec/models/devices/default_device_spec.rb index 43f390e3c91..0433c4e57d4 100644 --- a/modules/two_factor_authentication/spec/models/devices/default_device_spec.rb +++ b/modules/two_factor_authentication/spec/models/devices/default_device_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' describe 'Default device', with_2fa_ee: true, type: :model do - let(:user) { FactoryBot.create :user } - let(:subject) { FactoryBot.build :two_factor_authentication_device_totp, user: user, default: true } - let(:other_otp) { FactoryBot.build :two_factor_authentication_device_totp, user: user, default: true } + let(:user) { create :user } + let(:subject) { build :two_factor_authentication_device_totp, user: user, default: true } + let(:other_otp) { build :two_factor_authentication_device_totp, user: user, default: true } it 'can be set if nothing else exists' do expect(subject.save).to eq true @@ -13,9 +13,9 @@ describe 'Default device', with_2fa_ee: true, type: :model do end context 'assuming another default exists' do - let(:other_otp) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } - let(:other_sms) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: false } - let(:subject) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: false } + let(:other_otp) { create :two_factor_authentication_device_totp, user: user, default: true } + let(:other_sms) { create :two_factor_authentication_device_sms, user: user, default: false } + let(:subject) { create :two_factor_authentication_device_totp, user: user, default: false } before do other_otp diff --git a/modules/two_factor_authentication/spec/models/devices/totp_spec.rb b/modules/two_factor_authentication/spec/models/devices/totp_spec.rb index d7575ea2856..0f60122d00f 100644 --- a/modules/two_factor_authentication/spec/models/devices/totp_spec.rb +++ b/modules/two_factor_authentication/spec/models/devices/totp_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'timecop' describe ::TwoFactorAuthentication::Device::Totp, with_2fa_ee: true, type: :model do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:channel) { :totp } subject { described_class.new identifier: 'foo', channel: channel, user: user, active: true } diff --git a/modules/two_factor_authentication/spec/models/login_token_spec.rb b/modules/two_factor_authentication/spec/models/login_token_spec.rb index 44ce4e44197..2219bb5c30d 100644 --- a/modules/two_factor_authentication/spec/models/login_token_spec.rb +++ b/modules/two_factor_authentication/spec/models/login_token_spec.rb @@ -2,7 +2,7 @@ require_relative '../spec_helper' describe TwoFactorAuthentication::LoginToken, with_2fa_ee: true do before(:each) do - @user = FactoryBot.build_stubbed(:user, login: "john", password: "doe") + @user = build_stubbed(:user, login: "john", password: "doe") allow(@user).to receive(:new_record?).and_return(false) allow(@user).to receive(:force_password_reset).and_return(false) allow(@user).to receive(:password_expired?).and_return(false) diff --git a/modules/two_factor_authentication/spec/models/user_spec.rb b/modules/two_factor_authentication/spec/models/user_spec.rb index 604cd310689..6baee71d01f 100644 --- a/modules/two_factor_authentication/spec/models/user_spec.rb +++ b/modules/two_factor_authentication/spec/models/user_spec.rb @@ -4,7 +4,7 @@ module OpenProject::TwoFactorAuthentication::Patches module UserSpec describe User, with_2fa_ee: true do def create_user(auth_source_id = nil) - @user = FactoryBot.build(:user) + @user = build(:user) @username = @user.login @password = @user.password @user.auth_source_id = auth_source_id diff --git a/modules/two_factor_authentication/spec/services/token_delivery/message_bird_spec.rb b/modules/two_factor_authentication/spec/services/token_delivery/message_bird_spec.rb index 1747d728b9a..45b9196e2d3 100644 --- a/modules/two_factor_authentication/spec/services/token_delivery/message_bird_spec.rb +++ b/modules/two_factor_authentication/spec/services/token_delivery/message_bird_spec.rb @@ -3,9 +3,9 @@ require 'messagebird' describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::MessageBird, with_2fa_ee: true do describe 'sending messages' do - let!(:user) { FactoryBot.create :user, language: locale } + let!(:user) { create :user, language: locale } let!(:locale) { 'en' } - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: channel } + let!(:device) { create :two_factor_authentication_device_sms, user: user, channel: channel } let(:service_url) { 'https://example.org/foobar' } let(:params) do diff --git a/modules/two_factor_authentication/spec/services/token_delivery/restdt_spec.rb b/modules/two_factor_authentication/spec/services/token_delivery/restdt_spec.rb index c7fe2e4c1cc..1c29f021139 100644 --- a/modules/two_factor_authentication/spec/services/token_delivery/restdt_spec.rb +++ b/modules/two_factor_authentication/spec/services/token_delivery/restdt_spec.rb @@ -2,8 +2,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::Restdt, with_2fa_ee: true do describe 'sending messages' do - let!(:user) { FactoryBot.create :user } - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: channel } + let!(:user) { create :user } + let!(:device) { create :two_factor_authentication_device_sms, user: user, channel: channel } let(:service_url) { 'https://example.org/foobar' } let(:params) do @@ -85,7 +85,7 @@ describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::Restdt, with_2fa end context 'with german locale' do - let(:user) { FactoryBot.create(:user, language: 'de') } + let(:user) { create(:user, language: 'de') } let(:expected_params) { { lang: 'de' } } it_behaves_like 'API response', true diff --git a/modules/two_factor_authentication/spec/services/token_delivery/sns_spec.rb b/modules/two_factor_authentication/spec/services/token_delivery/sns_spec.rb index 6862cfce4fe..1681942d1b5 100644 --- a/modules/two_factor_authentication/spec/services/token_delivery/sns_spec.rb +++ b/modules/two_factor_authentication/spec/services/token_delivery/sns_spec.rb @@ -3,8 +3,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::Sns, with_2fa_ee: true do describe 'sending messages' do let(:phone) { '+49 123456789' } - let!(:user) { FactoryBot.create :user } - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, channel: channel } + let!(:user) { create :user } + let!(:device) { create :two_factor_authentication_device_sms, user: user, channel: channel } let(:channel) { :sms } let(:params) do diff --git a/modules/two_factor_authentication/spec/services/token_delivery/totp_spec.rb b/modules/two_factor_authentication/spec/services/token_delivery/totp_spec.rb index 0a447ff718d..3763db73db2 100644 --- a/modules/two_factor_authentication/spec/services/token_delivery/totp_spec.rb +++ b/modules/two_factor_authentication/spec/services/token_delivery/totp_spec.rb @@ -2,8 +2,8 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe ::OpenProject::TwoFactorAuthentication::TokenStrategy::Totp, with_2fa_ee: true do describe 'sending messages' do - let!(:user) { FactoryBot.create :user } - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:user) { create :user } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } before do allow(OpenProject::Configuration) diff --git a/modules/two_factor_authentication/spec/services/token_service_spec.rb b/modules/two_factor_authentication/spec/services/token_service_spec.rb index a9137b2b27b..662b50380ef 100644 --- a/modules/two_factor_authentication/spec/services/token_service_spec.rb +++ b/modules/two_factor_authentication/spec/services/token_service_spec.rb @@ -2,7 +2,7 @@ require_relative '../spec_helper' describe ::TwoFactorAuthentication::TokenService, with_2fa_ee: true do describe 'sending messages' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:dev_strategy) { ::OpenProject::TwoFactorAuthentication::TokenStrategy::Developer } let(:configuration) do { @@ -72,7 +72,7 @@ describe ::TwoFactorAuthentication::TokenService, with_2fa_ee: true do end context 'and matching device exists' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_sms, user: user, default: true } it 'submits the request' do expect(subject.requires_token?).to be_truthy @@ -82,7 +82,7 @@ describe ::TwoFactorAuthentication::TokenService, with_2fa_ee: true do end context 'and non-matching device exists' do - let!(:device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } + let!(:device) { create :two_factor_authentication_device_totp, user: user, default: true } it 'submits the request' do expect(subject.requires_token?).to be_truthy @@ -94,8 +94,8 @@ describe ::TwoFactorAuthentication::TokenService, with_2fa_ee: true do context 'when developer and totp strategies are set' do let(:active_strategies) { %i[developer totp] } - let!(:totp_device) { FactoryBot.create :two_factor_authentication_device_totp, user: user, default: true } - let!(:sms_device) { FactoryBot.create :two_factor_authentication_device_sms, user: user, default: false } + let!(:totp_device) { create :two_factor_authentication_device_totp, user: user, default: true } + let!(:sms_device) { create :two_factor_authentication_device_sms, user: user, default: false } subject { described_class.new user: user, use_device: use_device } diff --git a/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb b/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb index cc3722b5af2..131d6d96010 100644 --- a/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb +++ b/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe ::Webhooks::Outgoing::AdminController, type: :controller do - let(:user) { FactoryBot.build_stubbed :admin } + let(:user) { build_stubbed :admin } before do login_as user end context 'when not admin' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'renders 403' do get :index diff --git a/modules/webhooks/spec/features/manage_webhooks_spec.rb b/modules/webhooks/spec/features/manage_webhooks_spec.rb index f0757858c18..8d1de0d8a2a 100644 --- a/modules/webhooks/spec/features/manage_webhooks_spec.rb +++ b/modules/webhooks/spec/features/manage_webhooks_spec.rb @@ -6,7 +6,7 @@ describe 'Manage webhooks through UI', type: :feature, js: true do end context 'as regular user' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } it 'forbids accessing the webhooks management view' do visit admin_outgoing_webhooks_path @@ -15,8 +15,8 @@ describe 'Manage webhooks through UI', type: :feature, js: true do end context 'as admin' do - let(:user) { FactoryBot.create :admin } - let!(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let!(:project) { create :project } it 'allows the management flow' do visit admin_outgoing_webhooks_path @@ -82,8 +82,8 @@ describe 'Manage webhooks through UI', type: :feature, js: true do end context 'with existing webhook' do - let!(:webhook) { FactoryBot.create :webhook, name: 'testing' } - let!(:log) { FactoryBot.create :webhook_log, response_headers: { test: :foo }, webhook: webhook } + let!(:webhook) { create :webhook, name: 'testing' } + let!(:log) { create :webhook_log, response_headers: { test: :foo }, webhook: webhook } it 'shows the delivery' do visit admin_outgoing_webhooks_path diff --git a/modules/webhooks/spec/models/webhook_spec.rb b/modules/webhooks/spec/models/webhook_spec.rb index bbb44b480d2..5b85c945e1c 100644 --- a/modules/webhooks/spec/models/webhook_spec.rb +++ b/modules/webhooks/spec/models/webhook_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe ::Webhooks::Webhook, type: :model do - subject { FactoryBot.build :webhook } + subject { build :webhook } describe 'attributes' do describe '#url' do @@ -42,7 +42,7 @@ describe ::Webhooks::Webhook, type: :model do end describe '#projects' do - let(:project1) { FactoryBot.create :project } + let(:project1) { create :project } before do subject.all_projects = false diff --git a/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb b/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb index 6137c1b5de2..b2c2260ca9f 100644 --- a/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe AttachmentWebhookJob, type: :job, webmock: true do - shared_let(:user) { FactoryBot.create :admin } + shared_let(:user) { create :admin } shared_let(:request_url) { "http://example.net/test/42" } - shared_let(:project) { FactoryBot.create :project, name: 'Foo Bar' } - shared_let(:container) { FactoryBot.create :work_package, project: project } - shared_let(:attachment) { FactoryBot.create :attachment, container: container } - shared_let(:webhook) { FactoryBot.create :webhook, all_projects: true, url: request_url, secret: nil } + shared_let(:project) { create :project, name: 'Foo Bar' } + shared_let(:container) { create :work_package, project: project } + shared_let(:attachment) { create :attachment, container: container } + shared_let(:webhook) { create :webhook, all_projects: true, url: request_url, secret: nil } let(:event) { "attachment:created" } let(:job) { described_class.perform_now(webhook.id, attachment, event) } let(:stubbed_url) { request_url } @@ -103,7 +103,7 @@ describe AttachmentWebhookJob, type: :job, webmock: true do end context 'with uncontainered' do - shared_let(:attachment) { FactoryBot.create :attachment, container: nil } + shared_let(:attachment) { create :attachment, container: nil } it 'does requests even if project nil' do allow(webhook) diff --git a/modules/webhooks/spec/workers/project_webhook_job_spec.rb b/modules/webhooks/spec/workers/project_webhook_job_spec.rb index b256b5b9a52..bfd3b7c4758 100644 --- a/modules/webhooks/spec/workers/project_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/project_webhook_job_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe ProjectWebhookJob, type: :job, webmock: true do - shared_let(:user) { FactoryBot.create :admin } + shared_let(:user) { create :admin } shared_let(:request_url) { "http://example.net/test/42" } - shared_let(:project) { FactoryBot.create :project, name: 'Foo Bar' } - shared_let(:webhook) { FactoryBot.create :webhook, all_projects: true, url: request_url, secret: nil } + shared_let(:project) { create :project, name: 'Foo Bar' } + shared_let(:webhook) { create :webhook, all_projects: true, url: request_url, secret: nil } shared_examples "a project webhook call" do let(:event) { "project:created" } diff --git a/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb b/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb index cc9fc2170d5..5a2541dcea7 100644 --- a/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe TimeEntryWebhookJob, type: :job, webmock: true do - shared_let(:user) { FactoryBot.create :admin } + shared_let(:user) { create :admin } shared_let(:request_url) { "http://example.net/test/42" } - shared_let(:time_entry) { FactoryBot.create :time_entry, hours: 10 } - shared_let(:webhook) { FactoryBot.create :webhook, all_projects: true, url: request_url, secret: nil } + shared_let(:time_entry) { create :time_entry, hours: 10 } + shared_let(:webhook) { create :webhook, all_projects: true, url: request_url, secret: nil } shared_examples "a time entry webhook call" do let(:event) { "time_entry:created" } diff --git a/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb b/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb index bdc34c08e1b..0c8b998cfc4 100644 --- a/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe WorkPackageWebhookJob, type: :model, webmock: true do - shared_let(:user) { FactoryBot.create :admin } + shared_let(:user) { create :admin } shared_let(:title) { "Some workpackage subject" } shared_let(:request_url) { "http://example.net/test/42" } - shared_let(:work_package) { FactoryBot.create :work_package, subject: title } - shared_let(:webhook) { FactoryBot.create :webhook, all_projects: true, url: request_url, secret: nil } + shared_let(:work_package) { create :work_package, subject: title } + shared_let(:webhook) { create :webhook, all_projects: true, url: request_url, secret: nil } shared_examples "a work package webhook call" do let(:event) { "work_package:created" } diff --git a/modules/xls_export/spec/lib/custom_field_xls_export_spec.rb b/modules/xls_export/spec/lib/custom_field_xls_export_spec.rb index 57e662768a5..17564860068 100644 --- a/modules/xls_export/spec/lib/custom_field_xls_export_spec.rb +++ b/modules/xls_export/spec/lib/custom_field_xls_export_spec.rb @@ -2,11 +2,11 @@ require 'spec_helper' require 'spreadsheet' describe "WorkPackageXlsExport Custom Fields" do - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type } + let(:project) { create :project, types: [type] } let!(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: true, @@ -17,7 +17,7 @@ describe "WorkPackageXlsExport Custom Fields" do end let(:work_package1) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.custom_field_values = { custom_field.id => custom_values_for('ham', 'onions') } @@ -26,7 +26,7 @@ describe "WorkPackageXlsExport Custom Fields" do end let(:work_package2) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.custom_field_values = { custom_field.id => custom_values_for('pineapple') } @@ -34,12 +34,12 @@ describe "WorkPackageXlsExport Custom Fields" do wp end - let(:work_package3) { FactoryBot.create :work_package, project: project, type: type } + let(:work_package3) { create :work_package, project: project, type: type } let(:work_packages) { [work_package1, work_package2, work_package3] } - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let!(:query) do - query = FactoryBot.build(:query, user: current_user, project: project) + query = build(:query, user: current_user, project: project) query.column_names = ['subject', "cf_#{custom_field.id}"] query.sort_criteria = [%w[id asc]] diff --git a/modules/xls_export/spec/models/xls_export/work_package/exporter/xls_integration_spec.rb b/modules/xls_export/spec/models/xls_export/work_package/exporter/xls_integration_spec.rb index 3aea9c210b5..4890e3f6d6c 100644 --- a/modules/xls_export/spec/models/xls_export/work_package/exporter/xls_integration_spec.rb +++ b/modules/xls_export/spec/models/xls_export/work_package/exporter/xls_integration_spec.rb @@ -2,13 +2,13 @@ require 'spec_helper' require 'spreadsheet' describe XlsExport::WorkPackage::Exporter::XLS do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let(:column_names) { %w[type id subject status assigned_to priority] } let(:query) do - query = FactoryBot.build(:query, user: current_user, project: project) + query = build(:query, user: current_user, project: project) query.filters.clear query.column_names = column_names @@ -39,19 +39,19 @@ describe XlsExport::WorkPackage::Exporter::XLS do context 'with relations' do let(:options) { { show_relations: true } } - let(:parent) { FactoryBot.create :work_package, project: project, subject: 'Parent' } + let(:parent) { create :work_package, project: project, subject: 'Parent' } let(:child_1) do - FactoryBot.create :work_package, parent: parent, project: project, subject: 'Child 1' + create :work_package, parent: parent, project: project, subject: 'Child 1' end let(:child_2) do - FactoryBot.create :work_package, parent: parent, project: project, subject: 'Child 2' + create :work_package, parent: parent, project: project, subject: 'Child 2' end - let(:single) { FactoryBot.create :work_package, project: project, subject: 'Single' } - let(:followed) { FactoryBot.create :work_package, project: project, subject: 'Followed' } + let(:single) { create :work_package, project: project, subject: 'Single' } + let(:followed) { create :work_package, project: project, subject: 'Followed' } let(:child_2_child) do - FactoryBot.create :work_package, parent: child_2, project: project, subject: "Child 2's child" + create :work_package, parent: child_2, project: project, subject: "Child 2's child" end let(:relation) do @@ -157,7 +157,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do end context 'with someone who may not see related work packages' do - let(:current_user) { FactoryBot.create :user } + let(:current_user) { create :user } it 'exports no information without visibility' do expect(sheet.rows.length).to eq(2) @@ -171,11 +171,11 @@ describe XlsExport::WorkPackage::Exporter::XLS do # a custom field called 'costs' to emulate it. let(:custom_field) do - FactoryBot.create(:float_wp_custom_field, + create(:float_wp_custom_field, name: 'unit costs') end let(:custom_value) do - FactoryBot.create(:custom_value, + create(:custom_value, custom_field: custom_field) end let(:type) do @@ -184,11 +184,11 @@ describe XlsExport::WorkPackage::Exporter::XLS do type end let(:project) do - FactoryBot.create(:project, + create(:project, work_package_custom_fields: [custom_field]) end let(:work_packages) do - wps = FactoryBot.create_list(:work_package, 4, + wps = create_list(:work_package, 4, project: project, type: type) wps[0].estimated_hours = 27.5 @@ -219,7 +219,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do end context 'with german locale' do - let(:current_user) { FactoryBot.create(:admin, language: :de) } + let(:current_user) { create(:admin, language: :de) } it 'should successfully export the work packages with a cost column localized' do I18n.with_locale :de do @@ -247,7 +247,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do let(:options) { { show_descriptions: true } } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, description: 'some arbitrary description', project: project, type: project.types.first) @@ -265,7 +265,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do context 'with underscore in subject' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'underscore_is included', project: project, type: project.types.first) @@ -292,7 +292,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do describe 'with user time zone' do let(:zone) { +2 } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: project.types.first) end @@ -319,7 +319,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do describe 'with derived estimated hours' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, derived_estimated_hours: 15.0, type: project.types.first) @@ -337,7 +337,7 @@ describe XlsExport::WorkPackage::Exporter::XLS do describe 'with derived estimated hours and estimated_hours set to zero' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, derived_estimated_hours: 15.0, estimated_hours: 0.0, diff --git a/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb b/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb index 180295f6d34..cc4ff4de3ef 100644 --- a/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb +++ b/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb @@ -35,17 +35,17 @@ describe WorkPackagesController, type: :controller do login_as current_user end - let(:project) { FactoryBot.create(:project, identifier: 'test_project', public: false) } - let(:stub_project) { FactoryBot.build_stubbed(:project, identifier: 'test_project', public: false) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { create(:project, identifier: 'test_project', public: false) } + let(:stub_project) { build_stubbed(:project, identifier: 'test_project', public: false) } + let(:type) { build_stubbed(:type) } let(:stub_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, id: 1337, type: type, project: stub_project) end - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } def self.requires_export_permission(&block) describe 'w/ the export permission @@ -98,7 +98,7 @@ describe WorkPackagesController, type: :controller do end describe 'index' do - let(:query) { FactoryBot.build_stubbed(:query).tap(&:add_default_filter) } + let(:query) { build_stubbed(:query).tap(&:add_default_filter) } let(:work_packages) { double('work packages').as_null_object } let(:results) { double('results').as_null_object } diff --git a/spec/contracts/attachments/create_contract_spec.rb b/spec/contracts/attachments/create_contract_spec.rb index 2f8aeadf298..2ed3826ace0 100644 --- a/spec/contracts/attachments/create_contract_spec.rb +++ b/spec/contracts/attachments/create_contract_spec.rb @@ -34,9 +34,9 @@ require 'contracts/shared/model_contract_shared_context' describe Attachments::CreateContract do include_context 'ModelContract shared context' - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } let(:model) do - FactoryBot.build :attachment, + build :attachment, container: container, content_type: content_type, file: file, @@ -72,7 +72,7 @@ describe Attachments::CreateContract do end context 'with a user that is not the author' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it_behaves_like 'contract is invalid', author: :invalid end @@ -82,7 +82,7 @@ describe Attachments::CreateContract do end context 'with a container' do - let(:container) { FactoryBot.build_stubbed :work_package } + let(:container) { build_stubbed :work_package } before do allow(container) diff --git a/spec/contracts/attribute_help_texts/base_contract_spec.rb b/spec/contracts/attribute_help_texts/base_contract_spec.rb index fe0a4661d2f..248b431112a 100644 --- a/spec/contracts/attribute_help_texts/base_contract_spec.rb +++ b/spec/contracts/attribute_help_texts/base_contract_spec.rb @@ -32,7 +32,7 @@ require 'contracts/shared/model_contract_shared_context' describe AttributeHelpTexts::BaseContract do include_context 'ModelContract shared context' - let(:model) { FactoryBot.build_stubbed :work_package_help_text } + let(:model) { build_stubbed :work_package_help_text } let(:contract) { described_class.new(model, current_user) } it_behaves_like 'contract is valid for active admins and invalid for regular users' diff --git a/spec/contracts/backups/create_contract_spec.rb b/spec/contracts/backups/create_contract_spec.rb index 455faccb197..2ca5e06bad7 100644 --- a/spec/contracts/backups/create_contract_spec.rb +++ b/spec/contracts/backups/create_contract_spec.rb @@ -34,14 +34,14 @@ require 'contracts/shared/model_contract_shared_context' describe Backups::CreateContract do let(:backup) { Backup.new } let(:contract) { described_class.new backup, current_user, options: { backup_token: backup_token.plain_value } } - let(:backup_token) { FactoryBot.create :backup_token, user: current_user } + let(:backup_token) { create :backup_token, user: current_user } include_context 'ModelContract shared context' it_behaves_like 'contract is valid for active admins and invalid for regular users' context 'with regular user who has the :create_backup permission' do - let(:current_user) { FactoryBot.create :user, global_permissions: [:create_backup] } + let(:current_user) { create :user, global_permissions: [:create_backup] } it_behaves_like 'contract is valid' end diff --git a/spec/contracts/custom_actions/cu_contract_spec.rb b/spec/contracts/custom_actions/cu_contract_spec.rb index 67dcb43a87e..083252a9ad8 100644 --- a/spec/contracts/custom_actions/cu_contract_spec.rb +++ b/spec/contracts/custom_actions/cu_contract_spec.rb @@ -34,9 +34,9 @@ require 'contracts/shared/model_contract_shared_context' describe CustomActions::CuContract do include_context 'ModelContract shared context' - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:action) do - FactoryBot.build_stubbed(:custom_action, actions: + build_stubbed(:custom_action, actions: [CustomActions::Actions::AssignedTo.new]) end let(:contract) { described_class.new(action) } diff --git a/spec/contracts/custom_fields/create_contract_spec.rb b/spec/contracts/custom_fields/create_contract_spec.rb index e8d37f99050..17be0854e29 100644 --- a/spec/contracts/custom_fields/create_contract_spec.rb +++ b/spec/contracts/custom_fields/create_contract_spec.rb @@ -34,7 +34,7 @@ require 'contracts/shared/model_contract_shared_context' describe CustomFields::CreateContract do include_context 'ModelContract shared context' - let(:cf) { FactoryBot.build :project_custom_field } + let(:cf) { build :project_custom_field } let(:contract) do described_class.new(cf, current_user, options: {}) end diff --git a/spec/contracts/custom_fields/update_contract_spec.rb b/spec/contracts/custom_fields/update_contract_spec.rb index 9f1ca6f8bc3..9c17a1a45d1 100644 --- a/spec/contracts/custom_fields/update_contract_spec.rb +++ b/spec/contracts/custom_fields/update_contract_spec.rb @@ -34,7 +34,7 @@ require 'contracts/shared/model_contract_shared_context' describe CustomFields::UpdateContract do include_context 'ModelContract shared context' - let(:cf) { FactoryBot.build :project_custom_field } + let(:cf) { build :project_custom_field } let(:contract) do described_class.new(cf, current_user) end diff --git a/spec/contracts/groups/create_contract_spec.rb b/spec/contracts/groups/create_contract_spec.rb index ee6402bd39a..f8fe80ca96f 100644 --- a/spec/contracts/groups/create_contract_spec.rb +++ b/spec/contracts/groups/create_contract_spec.rb @@ -44,7 +44,7 @@ describe Groups::CreateContract do let(:contract) { described_class.new(group, current_user) } describe 'validations' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } describe 'type' do context 'type and class mismatch' do diff --git a/spec/contracts/groups/shared_contract_examples.rb b/spec/contracts/groups/shared_contract_examples.rb index 85af0dc25e1..3787b760401 100644 --- a/spec/contracts/groups/shared_contract_examples.rb +++ b/spec/contracts/groups/shared_contract_examples.rb @@ -34,7 +34,7 @@ shared_examples_for 'group contract' do let(:group_name) { 'The group' } let(:group_users_user_ids) { [42, 43] } let(:group_users) do - group_users_user_ids.map { |id| FactoryBot.build_stubbed(:group_user, user_id: id) } + group_users_user_ids.map { |id| build_stubbed(:group_user, user_id: id) } end shared_context 'with real group users' do @@ -42,7 +42,7 @@ shared_examples_for 'group contract' do # so GroupUser validations checking for the existance of group and user don't fail before do group_users_user_ids.each do |id| - FactoryBot.create :user, id: id + create :user, id: id end end end @@ -52,7 +52,7 @@ shared_examples_for 'group contract' do end describe 'validations' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } context 'name' do context 'is valid' do @@ -84,8 +84,8 @@ shared_examples_for 'group contract' do context 'groups_users' do let(:group_users) do - [FactoryBot.build_stubbed(:group_user, user_id: 1), - FactoryBot.build_stubbed(:group_user, user_id: 1)] + [build_stubbed(:group_user, user_id: 1), + build_stubbed(:group_user, user_id: 1)] end it_behaves_like 'contract is invalid', group_users: :taken diff --git a/spec/contracts/groups/update_contract_spec.rb b/spec/contracts/groups/update_contract_spec.rb index 273fd57be9d..59a95bfed8c 100644 --- a/spec/contracts/groups/update_contract_spec.rb +++ b/spec/contracts/groups/update_contract_spec.rb @@ -37,7 +37,7 @@ describe Groups::UpdateContract do it_behaves_like 'group contract' do let(:group) do - FactoryBot.build_stubbed(:group, + build_stubbed(:group, name: group_name, group_users: group_users) end @@ -45,7 +45,7 @@ describe Groups::UpdateContract do let(:contract) { described_class.new(group, current_user) } describe 'validations' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } describe 'type' do before do diff --git a/spec/contracts/members/create_contract_spec.rb b/spec/contracts/members/create_contract_spec.rb index f77f95ed4a6..591feb1e9ba 100644 --- a/spec/contracts/members/create_contract_spec.rb +++ b/spec/contracts/members/create_contract_spec.rb @@ -50,13 +50,13 @@ describe Members::CreateContract do end context 'if the principal is a builtin user' do - let(:member_principal) { FactoryBot.build_stubbed(:anonymous) } + let(:member_principal) { build_stubbed(:anonymous) } it_behaves_like 'contract is invalid', principal: :unassignable end context 'if the principal is a locked user' do - let(:member_principal) { FactoryBot.build_stubbed(:locked_user) } + let(:member_principal) { build_stubbed(:locked_user) } it_behaves_like 'contract is invalid', principal: :unassignable end @@ -64,7 +64,7 @@ describe Members::CreateContract do describe '#assignable_projects' do context 'as a user without permission' do - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } it 'is empty' do expect(contract.assignable_projects).to be_empty @@ -72,10 +72,10 @@ describe Members::CreateContract do end context 'as a user with permission in one project' do - let!(:project1) { FactoryBot.create :project } - let!(:project2) { FactoryBot.create :project } + let!(:project1) { create :project } + let!(:project2) { create :project } let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: project1, member_with_permissions: %i[manage_members] end diff --git a/spec/contracts/members/shared_contract_examples.rb b/spec/contracts/members/shared_contract_examples.rb index c9dbfcbd332..2ce27c31e57 100644 --- a/spec/contracts/members/shared_contract_examples.rb +++ b/spec/contracts/members/shared_contract_examples.rb @@ -30,7 +30,7 @@ require 'spec_helper' shared_examples_for 'member contract' do let(:current_user) do - FactoryBot.build_stubbed(:user, admin: current_user_admin) do |user| + build_stubbed(:user, admin: current_user_admin) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && member_project == permission_project @@ -38,16 +38,16 @@ shared_examples_for 'member contract' do end end let(:member_project) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end let(:member_roles) do [role] end let(:member_principal) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:role) do - FactoryBot.build_stubbed(:role) + build_stubbed(:role) end let(:permissions) { [:manage_members] } let(:current_user_admin) { false } @@ -79,7 +79,7 @@ shared_examples_for 'member contract' do context 'if any role is not assignable (e.g. builtin)' do let(:member_roles) do - [FactoryBot.build_stubbed(:role), FactoryBot.build_stubbed(:anonymous_role)] + [build_stubbed(:role), build_stubbed(:anonymous_role)] end it 'is invalid' do @@ -98,7 +98,7 @@ shared_examples_for 'member contract' do context 'if the project is nil (global membership)' do let(:member_project) { nil } let(:role) do - FactoryBot.build_stubbed(:global_role) + build_stubbed(:global_role) end context 'if the user is no admin' do @@ -116,7 +116,7 @@ shared_examples_for 'member contract' do context 'if the role is not a global role' do let(:current_user_admin) { true } let(:role) do - FactoryBot.build_stubbed(:role) + build_stubbed(:role) end it 'is invalid' do diff --git a/spec/contracts/members/update_contract_spec.rb b/spec/contracts/members/update_contract_spec.rb index ce01a8a882b..1bdb3c5d199 100644 --- a/spec/contracts/members/update_contract_spec.rb +++ b/spec/contracts/members/update_contract_spec.rb @@ -36,7 +36,7 @@ describe Members::UpdateContract do it_behaves_like 'member contract' do let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, project: member_project, roles: member_roles, principal: member_principal) @@ -47,7 +47,7 @@ describe Members::UpdateContract do describe 'validation' do context 'if the principal is changed' do before do - member.principal = FactoryBot.build_stubbed(:user) + member.principal = build_stubbed(:user) end it_behaves_like 'contract is invalid', user_id: :error_readonly @@ -55,14 +55,14 @@ describe Members::UpdateContract do context 'if the project is changed' do before do - member.project = FactoryBot.build_stubbed(:project) + member.project = build_stubbed(:project) end it_behaves_like 'contract is invalid', project_id: :error_readonly end context 'if the principal is a locked user' do - let(:member_principal) { FactoryBot.build_stubbed(:locked_user) } + let(:member_principal) { build_stubbed(:locked_user) } it_behaves_like 'contract is valid' end diff --git a/spec/contracts/messages/shared_contract_examples.rb b/spec/contracts/messages/shared_contract_examples.rb index 027904bf6f4..ed66223213f 100644 --- a/spec/contracts/messages/shared_contract_examples.rb +++ b/spec/contracts/messages/shared_contract_examples.rb @@ -32,20 +32,20 @@ require 'spec_helper' shared_examples_for 'message contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && message_project == permission_project end end end - let(:reply_message) { FactoryBot.build_stubbed(:message) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:reply_message) { build_stubbed(:message) } + let(:other_user) { build_stubbed(:user) } let(:message_forum) do - FactoryBot.build_stubbed(:forum) + build_stubbed(:forum) end - let(:message_project) { FactoryBot.build_stubbed(:project) } - let(:message_parent) { FactoryBot.build_stubbed(:message) } + let(:message_project) { build_stubbed(:project) } + let(:message_parent) { build_stubbed(:message) } let(:message_subject) { "Subject" } let(:message_content) { "A content" } let(:message_author) { other_user } diff --git a/spec/contracts/messages/update_contract_spec.rb b/spec/contracts/messages/update_contract_spec.rb index 66cf386e78d..60ef0cc994c 100644 --- a/spec/contracts/messages/update_contract_spec.rb +++ b/spec/contracts/messages/update_contract_spec.rb @@ -34,7 +34,7 @@ require_relative './shared_contract_examples' describe Messages::UpdateContract do it_behaves_like 'message contract' do let(:message) do - FactoryBot.build_stubbed(:message).tap do |message| + build_stubbed(:message).tap do |message| message.forum = message_forum message.parent = message_parent message.subject = message_subject diff --git a/spec/contracts/notifications/create_contract_spec.rb b/spec/contracts/notifications/create_contract_spec.rb index d9eab6d3b04..66873f50c1f 100644 --- a/spec/contracts/notifications/create_contract_spec.rb +++ b/spec/contracts/notifications/create_contract_spec.rb @@ -33,13 +33,13 @@ describe Notifications::CreateContract do include_context 'ModelContract shared context' let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| end end - let(:notification_context) { FactoryBot.build_stubbed(:project) } - let(:notification_resource) { FactoryBot.build_stubbed(:journal) } - let(:notification_recipient) { FactoryBot.build_stubbed(:user) } + let(:notification_context) { build_stubbed(:project) } + let(:notification_resource) { build_stubbed(:journal) } + let(:notification_recipient) { build_stubbed(:user) } let(:notification_subject) { 'Some text' } let(:notification_reason) { :mentioned } let(:notification_read_ian) { false } diff --git a/spec/contracts/placeholder_users/create_contract_spec.rb b/spec/contracts/placeholder_users/create_contract_spec.rb index b4441644dde..84fcb781dfd 100644 --- a/spec/contracts/placeholder_users/create_contract_spec.rb +++ b/spec/contracts/placeholder_users/create_contract_spec.rb @@ -40,13 +40,13 @@ describe PlaceholderUsers::CreateContract do let(:contract) { described_class.new(placeholder_user, current_user) } context 'when user with global permission' do - let(:current_user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:current_user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'contract is invalid', base: :error_enterprise_only end context 'when user with admin permission' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'contract is invalid', base: :error_enterprise_only end diff --git a/spec/contracts/placeholder_users/delete_contract_spec.rb b/spec/contracts/placeholder_users/delete_contract_spec.rb index 8bc9038f9a3..f11699d8ce7 100644 --- a/spec/contracts/placeholder_users/delete_contract_spec.rb +++ b/spec/contracts/placeholder_users/delete_contract_spec.rb @@ -34,16 +34,16 @@ require 'contracts/shared/model_contract_shared_context' describe PlaceholderUsers::DeleteContract do include_context 'ModelContract shared context' - let(:placeholder_user) { FactoryBot.create(:placeholder_user) } - let(:role) { FactoryBot.create :existing_role, permissions: [:manage_members] } - let(:shared_project) { FactoryBot.create(:project, members: { placeholder_user => role, current_user => role }) } - let(:not_shared_project) { FactoryBot.create(:project, members: { placeholder_user => role }) } + let(:placeholder_user) { create(:placeholder_user) } + let(:role) { create :existing_role, permissions: [:manage_members] } + let(:shared_project) { create(:project, members: { placeholder_user => role, current_user => role }) } + let(:not_shared_project) { create(:project, members: { placeholder_user => role }) } let(:contract) { described_class.new(placeholder_user, current_user) } it_behaves_like 'contract is valid for active admins and invalid for regular users' context 'when user with global permission to manage_placeholders' do - let(:current_user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:current_user) { create(:user, global_permission: %i[manage_placeholder_user]) } before do shared_project diff --git a/spec/contracts/placeholder_users/shared_contract_examples.rb b/spec/contracts/placeholder_users/shared_contract_examples.rb index 4586dd0c414..740eb47109f 100644 --- a/spec/contracts/placeholder_users/shared_contract_examples.rb +++ b/spec/contracts/placeholder_users/shared_contract_examples.rb @@ -34,7 +34,7 @@ shared_examples_for 'placeholder user contract' do let(:placeholder_user_name) { 'UX Designer' } context 'when user with global permission' do - let(:current_user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:current_user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'contract is valid' end @@ -42,7 +42,7 @@ shared_examples_for 'placeholder user contract' do it_behaves_like 'contract is valid for active admins and invalid for regular users' describe 'validations' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } context 'name' do context 'is valid' do it_behaves_like 'contract is valid' diff --git a/spec/contracts/placeholder_users/update_contract_spec.rb b/spec/contracts/placeholder_users/update_contract_spec.rb index 0c6284f3cf5..6000fabf59b 100644 --- a/spec/contracts/placeholder_users/update_contract_spec.rb +++ b/spec/contracts/placeholder_users/update_contract_spec.rb @@ -35,7 +35,7 @@ describe PlaceholderUsers::UpdateContract do include_context 'ModelContract shared context' it_behaves_like 'placeholder user contract' do - let(:placeholder_user) { FactoryBot.build_stubbed(:placeholder_user, name: placeholder_user_name) } + let(:placeholder_user) { build_stubbed(:placeholder_user, name: placeholder_user_name) } let(:contract) { described_class.new(placeholder_user, current_user) } end end diff --git a/spec/contracts/projects/archive_contract_spec.rb b/spec/contracts/projects/archive_contract_spec.rb index df14a577cc1..e88a7760b5b 100644 --- a/spec/contracts/projects/archive_contract_spec.rb +++ b/spec/contracts/projects/archive_contract_spec.rb @@ -34,7 +34,7 @@ require 'contracts/shared/model_contract_shared_context' describe Projects::ArchiveContract do include_context 'ModelContract shared context' - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:contract) { described_class.new(project, current_user) } it_behaves_like 'contract is valid for active admins and invalid for regular users' diff --git a/spec/contracts/projects/base_contract_spec.rb b/spec/contracts/projects/base_contract_spec.rb index ca81ef47c20..3fd5de1b819 100644 --- a/spec/contracts/projects/base_contract_spec.rb +++ b/spec/contracts/projects/base_contract_spec.rb @@ -47,7 +47,7 @@ describe Projects::BaseContract do end context 'as admin' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } it 'validates the contract' do expect(subject).to eq true @@ -55,7 +55,7 @@ describe Projects::BaseContract do end context 'as regular user' do - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } it 'returns an error on validation' do expect(subject).to eq false diff --git a/spec/contracts/projects/delete_contract_spec.rb b/spec/contracts/projects/delete_contract_spec.rb index a492fe77193..e57f2d7785d 100644 --- a/spec/contracts/projects/delete_contract_spec.rb +++ b/spec/contracts/projects/delete_contract_spec.rb @@ -34,7 +34,7 @@ require 'contracts/shared/model_contract_shared_context' describe Projects::DeleteContract do include_context 'ModelContract shared context' - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:contract) { described_class.new(project, current_user) } it_behaves_like 'contract is valid for active admins and invalid for regular users' diff --git a/spec/contracts/projects/enabled_modules_contract_spec.rb b/spec/contracts/projects/enabled_modules_contract_spec.rb index 0b54fd2ecd7..266d37ba87a 100644 --- a/spec/contracts/projects/enabled_modules_contract_spec.rb +++ b/spec/contracts/projects/enabled_modules_contract_spec.rb @@ -34,11 +34,11 @@ require 'contracts/shared/model_contract_shared_context' describe Projects::EnabledModulesContract do include_context 'ModelContract shared context' - let(:project) { FactoryBot.build_stubbed(:project, enabled_module_names: enabled_modules) } + let(:project) { build_stubbed(:project, enabled_module_names: enabled_modules) } let(:contract) { described_class.new(project, current_user) } let(:ac_modules) { [{ name: :a_module, dependencies: %i[b_module] }] } let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:allowed_to?) do |requested_permission, requested_project| permissions.include?(requested_permission) && requested_project == project diff --git a/spec/contracts/projects/shared_contract_examples.rb b/spec/contracts/projects/shared_contract_examples.rb index cc75d13ae87..375b22d47ca 100644 --- a/spec/contracts/projects/shared_contract_examples.rb +++ b/spec/contracts/projects/shared_contract_examples.rb @@ -30,7 +30,7 @@ require 'spec_helper' shared_examples_for 'project contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let!(:allowed_to) do allow(current_user) @@ -43,9 +43,9 @@ shared_examples_for 'project contract' do let(:project_description) { 'Project description' } let(:project_active) { true } let(:project_public) { true } - let(:project_status) { FactoryBot.build_stubbed(:project_status) } + let(:project_status) { build_stubbed(:project_status) } let(:project_parent) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end let(:parent_assignable) { true } let!(:assignable_parents) do @@ -223,7 +223,7 @@ shared_examples_for 'project contract' do end context 'for a list custom field' do - let(:custom_field) { FactoryBot.build_stubbed(:list_project_custom_field) } + let(:custom_field) { build_stubbed(:list_project_custom_field) } it 'is the list of custom field values' do expect(subject.assignable_custom_field_values(custom_field)) @@ -232,7 +232,7 @@ shared_examples_for 'project contract' do end context 'for a version custom field' do - let(:custom_field) { FactoryBot.build_stubbed(:version_project_custom_field) } + let(:custom_field) { build_stubbed(:version_project_custom_field) } let(:versions) { double('versions') } before do @@ -249,8 +249,8 @@ shared_examples_for 'project contract' do end describe 'available_custom_fields' do - let(:visible_custom_field) { FactoryBot.build_stubbed(:int_project_custom_field, visible: true) } - let(:invisible_custom_field) { FactoryBot.build_stubbed(:int_project_custom_field, visible: false) } + let(:visible_custom_field) { build_stubbed(:int_project_custom_field, visible: true) } + let(:invisible_custom_field) { build_stubbed(:int_project_custom_field, visible: false) } before do allow(project) diff --git a/spec/contracts/projects/unarchive_contract_spec.rb b/spec/contracts/projects/unarchive_contract_spec.rb index 11170e9f479..bd54ec67768 100644 --- a/spec/contracts/projects/unarchive_contract_spec.rb +++ b/spec/contracts/projects/unarchive_contract_spec.rb @@ -34,7 +34,7 @@ require 'contracts/shared/model_contract_shared_context' describe Projects::UnarchiveContract do include_context 'ModelContract shared context' - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:contract) { described_class.new(project, current_user) } it_behaves_like 'contract is valid for active admins and invalid for regular users' diff --git a/spec/contracts/projects/update_contract_spec.rb b/spec/contracts/projects/update_contract_spec.rb index a37aad3f829..1d7065c5acb 100644 --- a/spec/contracts/projects/update_contract_spec.rb +++ b/spec/contracts/projects/update_contract_spec.rb @@ -32,7 +32,7 @@ require_relative './shared_contract_examples' describe Projects::UpdateContract do it_behaves_like 'project contract' do let(:project) do - FactoryBot.build_stubbed(:project, + build_stubbed(:project, active: project_active, public: project_public, status: project_status).tap do |p| diff --git a/spec/contracts/queries/update_contract_spec.rb b/spec/contracts/queries/update_contract_spec.rb index c22eccf95eb..d1befc62995 100644 --- a/spec/contracts/queries/update_contract_spec.rb +++ b/spec/contracts/queries/update_contract_spec.rb @@ -34,13 +34,13 @@ require 'contracts/shared/model_contract_shared_context' describe Queries::UpdateContract do include_context 'ModelContract shared context' - let(:project) { FactoryBot.build_stubbed :project } + let(:project) { build_stubbed :project } let(:query) do - FactoryBot.build_stubbed(:query, project: project, public: public, user: user) + build_stubbed(:query, project: project, public: public, user: user) end let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && project == permission_project @@ -74,7 +74,7 @@ describe Queries::UpdateContract do end context 'when user is someone else' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } let(:permissions) { %i(save_queries) } it_behaves_like 'contract user is unauthorized' diff --git a/spec/contracts/relations/create_contract_spec.rb b/spec/contracts/relations/create_contract_spec.rb index 51224475553..921ff2d2533 100644 --- a/spec/contracts/relations/create_contract_spec.rb +++ b/spec/contracts/relations/create_contract_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Relations::CreateContract do - let(:from) { FactoryBot.build_stubbed :work_package } - let(:to) { FactoryBot.build_stubbed :work_package } - let(:user) { FactoryBot.build_stubbed :admin } + let(:from) { build_stubbed :work_package } + let(:to) { build_stubbed :work_package } + let(:user) { build_stubbed :admin } let(:relation) do Relation.new from: from, to: to, relation_type: "follows", delay: 42 diff --git a/spec/contracts/roles/shared_contract_examples.rb b/spec/contracts/roles/shared_contract_examples.rb index 4628de7431c..f3668b18c39 100644 --- a/spec/contracts/roles/shared_contract_examples.rb +++ b/spec/contracts/roles/shared_contract_examples.rb @@ -30,7 +30,7 @@ require 'spec_helper' shared_examples_for 'roles contract' do let(:current_user) do - FactoryBot.build_stubbed(:admin) + build_stubbed(:admin) end let(:role_instance) { Role.new } let(:role_name) { 'A role name' } diff --git a/spec/contracts/roles/update_contract_spec.rb b/spec/contracts/roles/update_contract_spec.rb index 9e8a92c5776..e47b7000a7f 100644 --- a/spec/contracts/roles/update_contract_spec.rb +++ b/spec/contracts/roles/update_contract_spec.rb @@ -32,7 +32,7 @@ require_relative './shared_contract_examples' describe Roles::UpdateContract do it_behaves_like 'roles contract' do let(:role) do - FactoryBot.build_stubbed(:role, + build_stubbed(:role, name: 'Some name', assignable: !role_assignable).tap do |r| r.name = role_name @@ -42,7 +42,7 @@ describe Roles::UpdateContract do end let(:global_role) do - FactoryBot.build_stubbed(:global_role, + build_stubbed(:global_role, name: 'Some name').tap do |r| r.name = role_name r.permissions = role_permissions diff --git a/spec/contracts/shared/model_contract_shared_context.rb b/spec/contracts/shared/model_contract_shared_context.rb index 763fb66d965..5de060d61c5 100644 --- a/spec/contracts/shared/model_contract_shared_context.rb +++ b/spec/contracts/shared/model_contract_shared_context.rb @@ -33,21 +33,21 @@ shared_context 'ModelContract shared context' do shared_examples 'contract is valid for active admins and invalid for regular users' do context 'when admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } context 'when admin active' do it_behaves_like 'contract is valid' end context 'when admin not active' do - let(:current_user) { FactoryBot.build_stubbed(:admin, status: User.statuses[:locked]) } + let(:current_user) { build_stubbed(:admin, status: User.statuses[:locked]) } it_behaves_like 'contract user is unauthorized' end end context 'when not admin' do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'contract user is unauthorized' end diff --git a/spec/contracts/user_preferences/params_contract_spec.rb b/spec/contracts/user_preferences/params_contract_spec.rb index 0b1bec63c14..cabaf1408f6 100644 --- a/spec/contracts/user_preferences/params_contract_spec.rb +++ b/spec/contracts/user_preferences/params_contract_spec.rb @@ -34,10 +34,10 @@ require 'contracts/shared/model_contract_shared_context' describe UserPreferences::ParamsContract do include_context 'ModelContract shared context' - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:preference_user) { current_user } let(:user_preference) do - FactoryBot.build_stubbed(:user_preference, + build_stubbed(:user_preference, user: preference_user) end let(:params) do diff --git a/spec/contracts/user_preferences/update_contract_spec.rb b/spec/contracts/user_preferences/update_contract_spec.rb index 85b95698afc..85a1b2f7218 100644 --- a/spec/contracts/user_preferences/update_contract_spec.rb +++ b/spec/contracts/user_preferences/update_contract_spec.rb @@ -34,10 +34,10 @@ require 'contracts/shared/model_contract_shared_context' describe UserPreferences::UpdateContract do include_context 'ModelContract shared context' - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:preference_user) { current_user } let(:user_preference) do - FactoryBot.build_stubbed(:user_preference, + build_stubbed(:user_preference, user: preference_user, settings: settings&.with_indifferent_access) end @@ -59,14 +59,14 @@ describe UserPreferences::UpdateContract do describe 'validation' do context 'when current_user is admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } - let(:preference_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:admin) } + let(:preference_user) { build_stubbed(:user) } it_behaves_like 'contract is valid' end context 'when current_user has manage_user permission' do - let(:preference_user) { FactoryBot.build_stubbed(:user) } + let(:preference_user) { build_stubbed(:user) } before do allow(current_user).to receive(:allowed_to_globally?).with(:manage_user).and_return true @@ -94,7 +94,7 @@ describe UserPreferences::UpdateContract do end context 'when current_user is a regular user' do - let(:preference_user) { FactoryBot.build_stubbed(:user) } + let(:preference_user) { build_stubbed(:user) } it_behaves_like 'contract user is unauthorized' end diff --git a/spec/contracts/users/create_contract_spec.rb b/spec/contracts/users/create_contract_spec.rb index 15cf4d27875..b1f1aa38d9c 100644 --- a/spec/contracts/users/create_contract_spec.rb +++ b/spec/contracts/users/create_contract_spec.rb @@ -50,7 +50,7 @@ describe Users::CreateContract do end context 'when admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'contract is valid' diff --git a/spec/contracts/users/shared_contract_examples.rb b/spec/contracts/users/shared_contract_examples.rb index c5f81d7f5ae..86ca68dd51c 100644 --- a/spec/contracts/users/shared_contract_examples.rb +++ b/spec/contracts/users/shared_contract_examples.rb @@ -41,13 +41,13 @@ shared_examples_for 'user contract' do it_behaves_like 'contract is valid for active admins and invalid for regular users' context 'when admin' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } it_behaves_like 'contract is valid' end context 'when global user' do - let(:current_user) { FactoryBot.create :user, global_permission: :manage_user } + let(:current_user) { create :user, global_permission: :manage_user } describe 'cannot set the password' do before do @@ -58,7 +58,7 @@ shared_examples_for 'user contract' do end describe 'can set the auth_source' do - let!(:auth_source) { FactoryBot.create :auth_source } + let!(:auth_source) { create :auth_source } before do user.password = user.password_confirmation = nil @@ -78,7 +78,7 @@ shared_examples_for 'user contract' do end context 'when unauthorized user' do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'contract user is unauthorized' end diff --git a/spec/contracts/users/update_contract_spec.rb b/spec/contracts/users/update_contract_spec.rb index c170a988f23..89ecf9174f7 100644 --- a/spec/contracts/users/update_contract_spec.rb +++ b/spec/contracts/users/update_contract_spec.rb @@ -36,7 +36,7 @@ describe Users::UpdateContract do include_context 'ModelContract shared context' it_behaves_like 'user contract' do - let(:user) { FactoryBot.build_stubbed(:user, attributes) } + let(:user) { build_stubbed(:user, attributes) } let(:contract) { described_class.new(user, current_user) } let(:attributes) do { diff --git a/spec/contracts/versions/create_contract_spec.rb b/spec/contracts/versions/create_contract_spec.rb index 4b920044175..91ea39d5fc4 100644 --- a/spec/contracts/versions/create_contract_spec.rb +++ b/spec/contracts/versions/create_contract_spec.rb @@ -75,7 +75,7 @@ describe Versions::CreateContract do end context 'if the user is admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it 'is a list of values' do expect(subject.assignable_values(:sharing, current_user)) diff --git a/spec/contracts/versions/shared_contract_examples.rb b/spec/contracts/versions/shared_contract_examples.rb index 5093dd36f59..a29b0c54eac 100644 --- a/spec/contracts/versions/shared_contract_examples.rb +++ b/spec/contracts/versions/shared_contract_examples.rb @@ -30,7 +30,7 @@ require 'spec_helper' shared_examples_for 'version contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && version_project == permission_project || @@ -38,16 +38,16 @@ shared_examples_for 'version contract' do end end end - let(:root_project) { FactoryBot.build_stubbed(:project) } + let(:root_project) { build_stubbed(:project) } let(:version_project) do - FactoryBot.build_stubbed(:project, wiki: project_wiki).tap do |p| + build_stubbed(:project, wiki: project_wiki).tap do |p| allow(p) .to receive(:root) .and_return(root_project) end end let(:project_wiki) do - FactoryBot.build_stubbed(:wiki, pages: wiki_pages).tap do |wiki| + build_stubbed(:wiki, pages: wiki_pages).tap do |wiki| allow(wiki) .to receive(:find_page) .with(version_wiki_page_title) @@ -58,8 +58,8 @@ shared_examples_for 'version contract' do double('page found') end let(:wiki_pages) do - [FactoryBot.build_stubbed(:wiki_page), - FactoryBot.build_stubbed(:wiki_page)] + [build_stubbed(:wiki_page), + build_stubbed(:wiki_page)] end let(:version_name) { 'Version name' } let(:version_description) { 'Version description' } @@ -159,7 +159,7 @@ shared_examples_for 'version contract' do end context 'if sharing is system and the user an admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } before do version.sharing = 'system' diff --git a/spec/contracts/versions/update_contract_spec.rb b/spec/contracts/versions/update_contract_spec.rb index 77c0d361310..126db9cd82e 100644 --- a/spec/contracts/versions/update_contract_spec.rb +++ b/spec/contracts/versions/update_contract_spec.rb @@ -32,7 +32,7 @@ require_relative './shared_contract_examples' describe Versions::UpdateContract do it_behaves_like 'version contract' do let(:version) do - FactoryBot.build_stubbed(:version, + build_stubbed(:version, project: version_project, description: version_description, start_date: version_start_date, @@ -69,7 +69,7 @@ describe Versions::UpdateContract do end context 'if the user is admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it 'is a list of values' do expect(subject.assignable_values(:sharing, current_user)) diff --git a/spec/contracts/views/shared_contract_examples.rb b/spec/contracts/views/shared_contract_examples.rb index aca85a3fcd0..4ce26e7b3d8 100644 --- a/spec/contracts/views/shared_contract_examples.rb +++ b/spec/contracts/views/shared_contract_examples.rb @@ -33,7 +33,7 @@ shared_examples_for 'view contract' do |disabled_permission_checks| include_context 'ModelContract shared context' let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project, **_args| permissions.include?(permission) && query_project == permission_project @@ -41,7 +41,7 @@ shared_examples_for 'view contract' do |disabled_permission_checks| end end let(:view_query) do - FactoryBot.build_stubbed(:query, + build_stubbed(:query, user: query_user, public: query_public, project: query_project) @@ -50,7 +50,7 @@ shared_examples_for 'view contract' do |disabled_permission_checks| let(:query_public) { false } let(:query_user) { current_user } let(:query_visible) { true } - let(:query_project) { FactoryBot.build_stubbed(:project) } + let(:query_project) { build_stubbed(:project) } before do next unless view_query diff --git a/spec/contracts/wiki_pages/create_contract_spec.rb b/spec/contracts/wiki_pages/create_contract_spec.rb index c97980c0d06..5bdc20fa986 100644 --- a/spec/contracts/wiki_pages/create_contract_spec.rb +++ b/spec/contracts/wiki_pages/create_contract_spec.rb @@ -60,7 +60,7 @@ describe WikiPages::CreateContract do describe '#validation' do context 'if the author is different from the current user' do - let(:page_author) { FactoryBot.build_stubbed(:user) } + let(:page_author) { build_stubbed(:user) } it 'is invalid' do expect_valid(false, author: :not_current_user) diff --git a/spec/contracts/wiki_pages/shared_contract_examples.rb b/spec/contracts/wiki_pages/shared_contract_examples.rb index 9f1856c1b91..d00d89cbbb6 100644 --- a/spec/contracts/wiki_pages/shared_contract_examples.rb +++ b/spec/contracts/wiki_pages/shared_contract_examples.rb @@ -30,14 +30,14 @@ require 'spec_helper' shared_examples_for 'wiki page contract' do let(:current_user) do - FactoryBot.build_stubbed(:user) do |user| + build_stubbed(:user) do |user| allow(user) .to receive(:allowed_to?) do |permission, permission_project| permissions.include?(permission) && page_wiki.project == permission_project end end end - let(:page_wiki) { FactoryBot.build_stubbed(:wiki) } + let(:page_wiki) { build_stubbed(:wiki) } let(:page_author) { current_user } let(:page_title) { 'Wiki title' } let(:page_slug) { 'wiki slug' } @@ -94,13 +94,13 @@ shared_examples_for 'wiki page contract' do end context 'if the parent is in the same wiki' do - let(:page_parent) { FactoryBot.build_stubbed(:wiki_page, wiki: page_wiki) } + let(:page_parent) { build_stubbed(:wiki_page, wiki: page_wiki) } it_behaves_like 'is valid' end context 'if the parent is in a different wiki' do - let(:page_parent) { FactoryBot.build_stubbed(:wiki_page) } + let(:page_parent) { build_stubbed(:wiki_page) } it 'is invalid' do expect_valid(false, parent_title: :not_same_project) @@ -109,7 +109,7 @@ shared_examples_for 'wiki page contract' do context 'if the parent is a child of the page (circular dependency)' do it 'is invalid' do - page.parent = FactoryBot.build_stubbed(:wiki_page, wiki: page_wiki).tap do |parent| + page.parent = build_stubbed(:wiki_page, wiki: page_wiki).tap do |parent| # Using stubbing here to avoid infinite loops allow(parent) .to receive(:ancestors) diff --git a/spec/contracts/work_packages/base_contract_spec.rb b/spec/contracts/work_packages/base_contract_spec.rb index f735bc19f6b..8bf655d91de 100644 --- a/spec/contracts/work_packages/base_contract_spec.rb +++ b/spec/contracts/work_packages/base_contract_spec.rb @@ -30,15 +30,15 @@ require 'spec_helper' describe WorkPackages::BaseContract do let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, type: type, done_ratio: 50, estimated_hours: 6.0, project: project) end - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:member) do - u = FactoryBot.build_stubbed(:user) + u = build_stubbed(:user) allow(u) .to receive(:allowed_to?) @@ -53,7 +53,7 @@ describe WorkPackages::BaseContract do u end - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:current_user) { member } let!(:assignable_assignees_scope) do scope = double 'assignable assignees scope' @@ -186,7 +186,7 @@ describe WorkPackages::BaseContract do context 'work_package has a closed version and status' do before do - version = FactoryBot.build_stubbed(:version, status: 'closed') + version = build_stubbed(:version, status: 'closed') work_package.version = version allow(work_package.status) @@ -225,9 +225,9 @@ describe WorkPackages::BaseContract do end context 'transitions' do - let(:roles) { [FactoryBot.build_stubbed(:role)] } + let(:roles) { [build_stubbed(:role)] } let(:valid_transition_result) { true } - let(:new_status) { FactoryBot.build_stubbed(:status) } + let(:new_status) { build_stubbed(:status) } let(:from_id) { work_package.status_id } let(:to_id) { new_status.id } let(:status_change) { work_package.status = new_status } @@ -291,7 +291,7 @@ describe WorkPackages::BaseContract do let(:valid_transition_result) { false } let(:status_change) do work_package.status = new_status - work_package.type = FactoryBot.build_stubbed(:type) + work_package.type = build_stubbed(:type) end it 'is valid' do @@ -426,7 +426,7 @@ describe WorkPackages::BaseContract do before do work_package.schedule_manually = schedule_manually - work_package.parent = FactoryBot.build_stubbed(:work_package) + work_package.parent = build_stubbed(:work_package) allow(work_package) .to receive(:soonest_start) .and_return(Date.today + 4.days) @@ -501,8 +501,8 @@ describe WorkPackages::BaseContract do describe 'version' do subject(:contract) { described_class.new(work_package, current_user) } - let(:assignable_version) { FactoryBot.build_stubbed(:version) } - let(:invalid_version) { FactoryBot.build_stubbed(:version) } + let(:assignable_version) { build_stubbed(:version) } + let(:invalid_version) { build_stubbed(:version) } before do allow(work_package) @@ -533,7 +533,7 @@ describe WorkPackages::BaseContract do end context 'for a closed version' do - let(:assignable_version) { FactoryBot.build_stubbed(:version, status: 'closed') } + let(:assignable_version) { build_stubbed(:version, status: 'closed') } context 'when reopening a work package' do before do @@ -564,8 +564,8 @@ describe WorkPackages::BaseContract do end describe 'parent' do - let(:child) { FactoryBot.build_stubbed(:stubbed_work_package) } - let(:parent) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:child) { build_stubbed(:stubbed_work_package) } + let(:parent) { build_stubbed(:stubbed_work_package) } before do work_package.parent = parent @@ -639,7 +639,7 @@ describe WorkPackages::BaseContract do end describe 'changing the type' do - let(:other_type) { FactoryBot.build_stubbed(:type) } + let(:other_type) { build_stubbed(:type) } it 'is invalid' do work_package.type = other_type @@ -652,7 +652,7 @@ describe WorkPackages::BaseContract do end describe 'changing the project (and that one not having the type)' do - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } it 'is invalid' do work_package.project = other_project @@ -695,7 +695,7 @@ describe WorkPackages::BaseContract do end describe 'category' do - let(:category) { FactoryBot.build_stubbed(:category) } + let(:category) { build_stubbed(:category) } context "one of the project's categories" do before do @@ -759,8 +759,8 @@ describe WorkPackages::BaseContract do end describe 'priority' do - let (:active_priority) { FactoryBot.build_stubbed(:priority) } - let (:inactive_priority) { FactoryBot.build_stubbed(:priority, active: false) } + let (:active_priority) { build_stubbed(:priority) } + let (:inactive_priority) { build_stubbed(:priority, active: false) } context 'active priority' do before do @@ -817,14 +817,14 @@ describe WorkPackages::BaseContract do end describe '#assignable_statuses' do - let(:role) { FactoryBot.build_stubbed(:role) } - let(:type) { FactoryBot.build_stubbed(:type) } - let(:assignee_user) { FactoryBot.build_stubbed(:user) } - let(:author_user) { FactoryBot.build_stubbed(:user) } - let(:current_status) { FactoryBot.build_stubbed(:status) } - let(:version) { FactoryBot.build_stubbed(:version) } + let(:role) { build_stubbed(:role) } + let(:type) { build_stubbed(:type) } + let(:assignee_user) { build_stubbed(:user) } + let(:author_user) { build_stubbed(:user) } + let(:current_status) { build_stubbed(:status) } + let(:version) { build_stubbed(:version) } let(:work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, assigned_to: assignee_user, author: author_user, status: current_status, @@ -832,7 +832,7 @@ describe WorkPackages::BaseContract do type: type) end let!(:default_status) do - status = FactoryBot.build_stubbed(:status) + status = build_stubbed(:status) allow(Status) .to receive(:default) @@ -877,8 +877,8 @@ describe WorkPackages::BaseContract do end context 'if the current status is closed and the version is closed as well' do - let(:version) { FactoryBot.build_stubbed(:version, status: 'closed') } - let(:current_status) { FactoryBot.build_stubbed(:status, is_closed: true) } + let(:version) { build_stubbed(:version, status: 'closed') } + let(:current_status) { build_stubbed(:status, is_closed: true) } it 'only allows the current status' do expect(contract.assignable_statuses.to_sql) @@ -925,7 +925,7 @@ describe WorkPackages::BaseContract do end context 'with the status having changed' do - let(:new_status) { FactoryBot.build_stubbed(:status) } + let(:new_status) { build_stubbed(:status) } before do allow(work_package).to receive(:persisted?).and_return(true) @@ -992,8 +992,8 @@ describe WorkPackages::BaseContract do end describe '#assignable_priorities' do - let(:active_priority) { FactoryBot.build(:priority, active: true) } - let(:inactive_priority) { FactoryBot.build(:priority, active: false) } + let(:active_priority) { build(:priority, active: true) } + let(:inactive_priority) { build(:priority, active: false) } before do active_priority.save! diff --git a/spec/contracts/work_packages/create_contract_spec.rb b/spec/contracts/work_packages/create_contract_spec.rb index a6dc7d12b49..6fec56d1dc1 100644 --- a/spec/contracts/work_packages/create_contract_spec.rb +++ b/spec/contracts/work_packages/create_contract_spec.rb @@ -38,8 +38,8 @@ describe WorkPackages::CreateContract do end end let(:work_package_project) { project } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } subject(:contract) { described_class.new(work_package, user) } let(:validated_contract) do @@ -139,7 +139,7 @@ describe WorkPackages::CreateContract do context 'if the user is different from the user the contract is evaluated for' do it 'is invalid' do - work_package.author = FactoryBot.build_stubbed(:user) + work_package.author = build_stubbed(:user) expect(validated_contract.errors.symbols_for(:author_id)) .to match_array %i[invalid error_readonly] diff --git a/spec/contracts/work_packages/create_note_contract_spec.rb b/spec/contracts/work_packages/create_note_contract_spec.rb index d19ccef19b7..5c9c1758679 100644 --- a/spec/contracts/work_packages/create_note_contract_spec.rb +++ b/spec/contracts/work_packages/create_note_contract_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe WorkPackages::CreateNoteContract do let(:work_package) do # As we only want to test the contract, we mock checking whether the work_package is valid - wp = FactoryBot.build_stubbed(:work_package) + wp = build_stubbed(:work_package) # we need to clear the changes information because otherwise the # contract will complain about all the changes to read_only attributes wp.send(:clear_changes_information) @@ -40,7 +40,7 @@ describe WorkPackages::CreateNoteContract do wp end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:policy_instance) { double('WorkPackagePolicyInstance') } subject(:contract) do diff --git a/spec/contracts/work_packages/shared_base_contract.rb b/spec/contracts/work_packages/shared_base_contract.rb index 958ea25a741..17f38e87e14 100644 --- a/spec/contracts/work_packages/shared_base_contract.rb +++ b/spec/contracts/work_packages/shared_base_contract.rb @@ -29,8 +29,8 @@ #++ shared_examples_for 'work package contract' do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:policy) { double(WorkPackagePolicy, allowed?: true) } subject(:contract) { described_class.new(work_package, user) } diff --git a/spec/contracts/work_packages/update_contract_spec.rb b/spec/contracts/work_packages/update_contract_spec.rb index 44dc22960cb..36f7441ca50 100644 --- a/spec/contracts/work_packages/update_contract_spec.rb +++ b/spec/contracts/work_packages/update_contract_spec.rb @@ -32,7 +32,7 @@ require 'contracts/work_packages/shared_base_contract' describe WorkPackages::UpdateContract do let(:work_package_project) do - FactoryBot.build_stubbed(:project, public: false).tap do |p| + build_stubbed(:project, public: false).tap do |p| allow(Project) .to receive(:find) .with(p.id) @@ -40,7 +40,7 @@ describe WorkPackages::UpdateContract do end end let(:work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: work_package_project, type: type, status: status).tap do |wp| @@ -57,9 +57,9 @@ describe WorkPackages::UpdateContract do end end end - let(:user) { FactoryBot.build_stubbed(:user) } - let(:type) { FactoryBot.build_stubbed(:type) } - let(:status) { FactoryBot.build_stubbed(:status) } + let(:user) { build_stubbed(:user) } + let(:type) { build_stubbed(:type) } + let(:status) { build_stubbed(:status) } let(:permissions) { %i[view_work_packages edit_work_packages assign_versions] } before do @@ -73,7 +73,7 @@ describe WorkPackages::UpdateContract do it_behaves_like 'work package contract' do let(:work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: work_package_project) end end @@ -161,7 +161,7 @@ describe WorkPackages::UpdateContract do end describe 'project_id' do - let(:target_project) { FactoryBot.create(:project, types: [type]) } + let(:target_project) { create(:project, types: [type]) } let(:target_permissions) { [:move_work_packages] } before do @@ -198,7 +198,7 @@ describe WorkPackages::UpdateContract do end describe 'version' do - let(:version) { FactoryBot.build_stubbed(:version) } + let(:version) { build_stubbed(:version) } before do allow(work_package) @@ -245,7 +245,7 @@ describe WorkPackages::UpdateContract do describe 'with children' do context 'changing to milestone' do - let(:milestone) { FactoryBot.build_stubbed :type, is_milestone: true } + let(:milestone) { build_stubbed :type, is_milestone: true } before do work_package.type = milestone @@ -260,7 +260,7 @@ describe WorkPackages::UpdateContract do end describe 'parent_id' do - let(:parent) { FactoryBot.create(:work_package) } + let(:parent) { create(:work_package) } before do work_package.parent_id = parent.id @@ -342,8 +342,8 @@ describe WorkPackages::UpdateContract do describe 'readonly status' do context 'with the status being readonly', with_ee: %i[readonly_work_packages] do - let(:status) { FactoryBot.build_stubbed(:status, is_readonly: true) } - let(:new_priority) { FactoryBot.build_stubbed(:priority) } + let(:status) { build_stubbed(:status, is_readonly: true) } + let(:new_priority) { build_stubbed(:priority) } before do work_package.priority = new_priority diff --git a/spec/controllers/account_controller_spec.rb b/spec/controllers/account_controller_spec.rb index 0cf2e7d2318..1b3c6eb19b7 100644 --- a/spec/controllers/account_controller_spec.rb +++ b/spec/controllers/account_controller_spec.rb @@ -52,7 +52,7 @@ describe AccountController, type: :controller do hook.reset! end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } context 'GET #login' do let(:setup) {} @@ -99,7 +99,7 @@ describe AccountController, type: :controller do end context 'POST #login' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } describe 'wrong password' do it 'redirects back to login' do @@ -189,7 +189,7 @@ describe AccountController, type: :controller do end context 'with an auth source' do - let(:auth_source) { FactoryBot.create :ldap_auth_source } + let(:auth_source) { create :ldap_auth_source } it 'creates the user on the fly' do allow(Setting).to receive(:self_registration).and_return('0') @@ -282,7 +282,7 @@ describe AccountController, type: :controller do end context 'GET #logout' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } it 'calls reset_session' do expect(@controller).to receive(:reset_session).once @@ -293,7 +293,7 @@ describe AccountController, type: :controller do end context 'with a user with an SSO provider attached' do - let(:user) { FactoryBot.build_stubbed :user, login: 'bob', identity_url: 'saml:foo' } + let(:user) { build_stubbed :user, login: 'bob', identity_url: 'saml:foo' } let(:slo_callback) { nil } let(:sso_provider) do { name: 'saml', single_sign_out_callback: slo_callback } @@ -405,7 +405,7 @@ describe AccountController, type: :controller do end context 'with an auth source' do - let(:auth_source) { FactoryBot.create :ldap_auth_source } + let(:auth_source) { create :ldap_auth_source } let(:user_attributes) do { @@ -468,7 +468,7 @@ describe AccountController, type: :controller do end describe 'Login for user with forced password change' do - let(:admin) { FactoryBot.create(:admin, force_password_change: true) } + let(:admin) { create(:admin, force_password_change: true) } before do allow_any_instance_of(User).to receive(:change_password_allowed?).and_return(false) @@ -588,7 +588,7 @@ describe AccountController, type: :controller do end context 'with self registration off but an ongoing invitation activation' do - let(:token) { FactoryBot.create :invitation_token } + let(:token) { create :invitation_token } before do allow(Setting).to receive(:self_registration).and_return('0') @@ -663,7 +663,7 @@ describe AccountController, type: :controller do end context "with user limit reached" do - let!(:admin) { FactoryBot.create :admin } + let!(:admin) { create :admin } let(:params) do { @@ -923,8 +923,8 @@ describe AccountController, type: :controller do end context 'POST activate' do - let!(:admin) { FactoryBot.create :admin } - let(:user) { FactoryBot.create :user, status: status } + let!(:admin) { create :admin } + let(:user) { create :user, status: status } let(:status) { -1 } let(:token) { Token::Invitation.create!(user_id: user.id) } @@ -978,8 +978,8 @@ describe AccountController, type: :controller do } end - let(:auth_source) { FactoryBot.create :ldap_auth_source } - let(:user) { FactoryBot.create :user, status: 2, auth_source: auth_source } + let(:auth_source) { create :ldap_auth_source } + let(:user) { create :user, status: 2, auth_source: auth_source } let(:login) { user.login } before do @@ -1000,7 +1000,7 @@ describe AccountController, type: :controller do end context "with an invalid user" do - let!(:duplicate) { FactoryBot.create :user, mail: "login@DerpLAP.net" } + let!(:duplicate) { create :user, mail: "login@DerpLAP.net" } let(:login) { 'foo' } let(:attrs) do { mail: duplicate.mail, login: login, firstname: 'bla', lastname: 'bar' } @@ -1021,7 +1021,7 @@ describe AccountController, type: :controller do end context "with a missing email" do - let!(:duplicate) { FactoryBot.create :user, mail: "login@DerpLAP.net" } + let!(:duplicate) { create :user, mail: "login@DerpLAP.net" } let(:login) { 'foo' } let(:attrs) do { login: login, firstname: 'bla', lastname: 'bar' } @@ -1087,13 +1087,13 @@ describe AccountController, type: :controller do context 'with an invited user' do it_behaves_like 'account activation' do - let(:user) { FactoryBot.create :user, status: 4 } + let(:user) { create :user, status: 4 } end end context 'with an registered user' do it_behaves_like 'account activation' do - let(:user) { FactoryBot.create :user, status: 2 } + let(:user) { create :user, status: 2 } end end end diff --git a/spec/controllers/activities_controller_spec.rb b/spec/controllers/activities_controller_spec.rb index a9872e16148..124e5ba291f 100644 --- a/spec/controllers/activities_controller_spec.rb +++ b/spec/controllers/activities_controller_spec.rb @@ -32,7 +32,7 @@ describe ActivitiesController, type: :controller do before :each do allow(@controller).to receive(:set_localization) - admin = FactoryBot.create(:admin) + admin = create(:admin) allow(User).to receive(:current).and_return admin @params = {} @@ -46,13 +46,13 @@ describe ActivitiesController, type: :controller do end describe 'global' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let!(:journal) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, journable_id: work_package.id, created_at: 3.days.ago.to_date.to_s(:db), version: Journal.maximum(:version) + 1, - data: FactoryBot.build(:journal_work_package_journal, + data: build(:journal_work_package_journal, subject: work_package.subject, status_id: work_package.status_id, type_id: work_package.type_id, @@ -92,7 +92,7 @@ describe ActivitiesController, type: :controller do describe 'with activated activity module' do let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %w[activity wiki]) end @@ -105,7 +105,7 @@ describe ActivitiesController, type: :controller do describe 'without activated activity module' do let(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: %w[wiki]) end @@ -123,12 +123,12 @@ describe ActivitiesController, type: :controller do end describe '#atom_feed' do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:user) } + let(:project) { create(:project) } context 'work_package' do let!(:wp_1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: user) end @@ -147,7 +147,7 @@ describe ActivitiesController, type: :controller do describe 'list' do let!(:wp_2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: user) end @@ -167,15 +167,15 @@ describe ActivitiesController, type: :controller do context 'forums' do let(:forum) do - FactoryBot.create(:forum, + create(:forum, project: project) end let!(:message_1) do - FactoryBot.create(:message, + create(:message, forum: forum) end let!(:message_2) do - FactoryBot.create(:message, + create(:message, forum: forum) end let(:params) do diff --git a/spec/controllers/admin/settings/projects_settings_controller_spec.rb b/spec/controllers/admin/settings/projects_settings_controller_spec.rb index 1e8fa0c4282..44190573c6f 100644 --- a/spec/controllers/admin/settings/projects_settings_controller_spec.rb +++ b/spec/controllers/admin/settings/projects_settings_controller_spec.rb @@ -34,7 +34,7 @@ describe Admin::Settings::ProjectsSettingsController, type: :controller do allow(@controller).to receive(:set_localization) @params = {} - @user = FactoryBot.create(:admin) + @user = create(:admin) allow(User).to receive(:current).and_return @user end diff --git a/spec/controllers/admin_controller_spec.rb b/spec/controllers/admin_controller_spec.rb index 808117ea549..23e617d76b0 100644 --- a/spec/controllers/admin_controller_spec.rb +++ b/spec/controllers/admin_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe AdminController, type: :controller do - let(:user) { FactoryBot.build :admin } + let(:user) { build :admin } before do allow(User).to receive(:current).and_return user diff --git a/spec/controllers/announcements_controller_spec.rb b/spec/controllers/announcements_controller_spec.rb index 4b60c2dbcd0..0931a22a57d 100644 --- a/spec/controllers/announcements_controller_spec.rb +++ b/spec/controllers/announcements_controller_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe AnnouncementsController, type: :controller do - let(:announcement) { FactoryBot.build :announcement } + let(:announcement) { build :announcement } before do allow(controller).to receive(:check_if_login_required) expect(controller).to receive(:require_admin) diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index d81c7547fd4..1213d35f9ba 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ApplicationController, type: :controller do - let(:user) { FactoryBot.create(:user, lastname: "Crazy! Name with \r\n Newline") } + let(:user) { create(:user, lastname: "Crazy! Name with \r\n Newline") } # Fake controller to test calling an action controller do @@ -109,7 +109,7 @@ describe ApplicationController, type: :controller do end it 'logs out the user' do - @controller.send(:logged_user=, FactoryBot.create(:user)) + @controller.send(:logged_user=, create(:user)) allow(@controller).to receive(:render_error) @controller.send :handle_unverified_request diff --git a/spec/controllers/attribute_help_texts_controller_spec.rb b/spec/controllers/attribute_help_texts_controller_spec.rb index 916899569b7..8217b409314 100644 --- a/spec/controllers/attribute_help_texts_controller_spec.rb +++ b/spec/controllers/attribute_help_texts_controller_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe AttributeHelpTextsController, type: :controller do - let(:user) { FactoryBot.build_stubbed :admin } - let(:model) { FactoryBot.build :work_package_help_text } + let(:user) { build_stubbed :admin } + let(:model) { build :work_package_help_text } let(:relation_columns_allowed) { true } let(:find_expectation) do diff --git a/spec/controllers/auth_sources_controller_spec.rb b/spec/controllers/auth_sources_controller_spec.rb index 08d640232a1..557decb6645 100644 --- a/spec/controllers/auth_sources_controller_spec.rb +++ b/spec/controllers/auth_sources_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe AuthSourcesController, type: :controller do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } before do allow(OpenProject::Configuration).to receive(:disable_password_login?).and_return(false) @@ -74,7 +74,7 @@ describe AuthSourcesController, type: :controller do describe 'edit' do before do - @auth_source = FactoryBot.create(:auth_source, name: 'TestEdit') + @auth_source = create(:auth_source, name: 'TestEdit') get :edit, params: { id: @auth_source.id } end @@ -85,7 +85,7 @@ describe AuthSourcesController, type: :controller do describe 'update' do before do - @auth_source = FactoryBot.create(:auth_source, name: 'TestEdit') + @auth_source = create(:auth_source, name: 'TestEdit') post :update, params: { id: @auth_source.id, auth_source: { name: 'TestUpdate' } } end @@ -96,7 +96,7 @@ describe AuthSourcesController, type: :controller do describe 'destroy' do before do - @auth_source = FactoryBot.create(:auth_source, name: 'TestEdit') + @auth_source = create(:auth_source, name: 'TestEdit') end context 'without users' do @@ -111,7 +111,7 @@ describe AuthSourcesController, type: :controller do context 'with users' do before do - FactoryBot.create(:user, auth_source: @auth_source) + create(:user, auth_source: @auth_source) post :destroy, params: { id: @auth_source.id } end diff --git a/spec/controllers/categories_controller_spec.rb b/spec/controllers/categories_controller_spec.rb index 2162e6f6710..5a691f6b265 100644 --- a/spec/controllers/categories_controller_spec.rb +++ b/spec/controllers/categories_controller_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe CategoriesController, type: :controller do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:user) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: [:manage_categories]) end let(:member) do - FactoryBot.create(:member, + create(:member, project: project, principal: user, roles: [role]) @@ -93,7 +93,7 @@ describe CategoriesController, type: :controller do describe '#edit' do let(:category) do - FactoryBot.create(:category, + create(:category, project: project) end @@ -119,7 +119,7 @@ describe CategoriesController, type: :controller do context 'valid category' do let(:category) do - FactoryBot.create(:category, + create(:category, project: project) end @@ -161,11 +161,11 @@ describe CategoriesController, type: :controller do describe '#destroy' do let(:category) do - FactoryBot.create(:category, + create(:category, project: project) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, category: category) end @@ -210,7 +210,7 @@ describe CategoriesController, type: :controller do describe '#reassign' do let(:target) do - FactoryBot.create(:category, + create(:category, project: project) end before do diff --git a/spec/controllers/colors_controller_spec.rb b/spec/controllers/colors_controller_spec.rb index 02d07b509a1..d1444138b5a 100644 --- a/spec/controllers/colors_controller_spec.rb +++ b/spec/controllers/colors_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ColorsController, type: :controller do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } before do allow(User).to receive(:current).and_return current_user @@ -51,7 +51,7 @@ describe ColorsController, type: :controller do describe 'create.html' do def fetch - post 'create', params: { color: FactoryBot.build(:color).attributes } + post 'create', params: { color: build(:color).attributes } end def expect_redirect_to @@ -62,7 +62,7 @@ describe ColorsController, type: :controller do describe 'edit.html' do def fetch - @available_color = FactoryBot.create(:color, id: '1337') + @available_color = create(:color, id: '1337') get 'edit', params: { id: '1337' } end it_should_behave_like 'a controller action with require_admin' @@ -70,7 +70,7 @@ describe ColorsController, type: :controller do describe 'update.html' do def fetch - @available_color = FactoryBot.create(:color, id: '1337') + @available_color = create(:color, id: '1337') put 'update', params: { id: '1337', color: { 'name' => 'blubs' } } end @@ -82,7 +82,7 @@ describe ColorsController, type: :controller do describe 'confirm_destroy.html' do def fetch - @available_color = FactoryBot.create(:color, id: '1337') + @available_color = create(:color, id: '1337') get 'confirm_destroy', params: { id: '1337' } end it_should_behave_like 'a controller action with require_admin' @@ -90,7 +90,7 @@ describe ColorsController, type: :controller do describe 'destroy.html' do def fetch - @available_color = FactoryBot.create(:color, id: '1337') + @available_color = create(:color, id: '1337') post 'destroy', params: { id: '1337' } end diff --git a/spec/controllers/concerns/auth_source_slo_spec.rb b/spec/controllers/concerns/auth_source_slo_spec.rb index 7c08d5d0a48..5732782fdf2 100644 --- a/spec/controllers/concerns/auth_source_slo_spec.rb +++ b/spec/controllers/concerns/auth_source_slo_spec.rb @@ -33,7 +33,7 @@ describe AccountController, 'Auth header logout', type: :controller do render_views let!(:auth_source) { DummyAuthSource.create name: "Dummy LDAP" } - let!(:user) { FactoryBot.create :user, login: login, auth_source_id: auth_source.id } + let!(:user) { create :user, login: login, auth_source_id: auth_source.id } let(:login) { "h.wurst" } before do diff --git a/spec/controllers/concerns/auth_source_sso_spec.rb b/spec/controllers/concerns/auth_source_sso_spec.rb index 722ac2f3ff2..f432d150a1d 100644 --- a/spec/controllers/concerns/auth_source_sso_spec.rb +++ b/spec/controllers/concerns/auth_source_sso_spec.rb @@ -42,7 +42,7 @@ describe MyController, type: :controller do let(:secret) { "42" } let!(:auth_source) { DummyAuthSource.create name: "Dummy LDAP" } - let!(:user) { FactoryBot.create :user, login: login, auth_source_id: auth_source.id, last_login_on: 5.days.ago } + let!(:user) { create :user, login: login, auth_source_id: auth_source.id, last_login_on: 5.days.ago } let(:login) { "h.wurst" } let(:header_login_value) { login } let(:header_value) { "#{header_login_value}#{secret ? ':' : ''}#{secret}" } @@ -130,7 +130,7 @@ describe MyController, type: :controller do context 'when the user is invited' do let!(:user) do - FactoryBot.create :user, login: login, status: Principal.statuses[:invited], auth_source_id: auth_source.id + create :user, login: login, status: Principal.statuses[:invited], auth_source_id: auth_source.id end it "should log in given user and activate it" do @@ -149,7 +149,7 @@ describe MyController, type: :controller do end context "with a non-active user user" do - let(:user) { FactoryBot.create :user, login: login, auth_source_id: auth_source.id, status: 2 } + let(:user) { create :user, login: login, auth_source_id: auth_source.id, status: 2 } it_should_behave_like "auth source sso failure" end @@ -157,11 +157,11 @@ describe MyController, type: :controller do context "with an invalid user" do let(:auth_source) { DummyAuthSource.create name: "Onthefly LDAP", onthefly_register: true } - let!(:duplicate) { FactoryBot.create :user, mail: "login@DerpLAP.net" } + let!(:duplicate) { create :user, mail: "login@DerpLAP.net" } let(:login) { "dummy_dupuser" } let(:user) do - FactoryBot.build :user, login: login, mail: duplicate.mail, auth_source_id: auth_source.id + build :user, login: login, mail: duplicate.mail, auth_source_id: auth_source.id end it_should_behave_like "auth source sso failure" @@ -197,7 +197,7 @@ describe MyController, type: :controller do end context 'when the logged-in user differs from the header' do - let(:other_user) { FactoryBot.create :user, login: 'other_user' } + let(:other_user) { create :user, login: 'other_user' } let(:session_update_time) { 1.minute.ago } let(:service) { Users::LogoutService.new(controller: controller) } diff --git a/spec/controllers/concerns/omniauth_login_spec.rb b/spec/controllers/concerns/omniauth_login_spec.rb index 67bb8d1f5d7..5f442957496 100644 --- a/spec/controllers/concerns/omniauth_login_spec.rb +++ b/spec/controllers/concerns/omniauth_login_spec.rb @@ -280,7 +280,7 @@ describe AccountController, type: :controller do end let(:user) do - FactoryBot.build(:user, force_password_change: false, + build(:user, force_password_change: false, identity_url: 'google:123545') end diff --git a/spec/controllers/concerns/user_invitation_spec.rb b/spec/controllers/concerns/user_invitation_spec.rb index c3272608ec7..56cb24d5df4 100644 --- a/spec/controllers/concerns/user_invitation_spec.rb +++ b/spec/controllers/concerns/user_invitation_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe UserInvitation do describe '.reinvite_user' do - let(:user) { FactoryBot.create :invited_user } - let!(:token) { FactoryBot.create :invitation_token, user: user } + let(:user) { create :invited_user } + let!(:token) { create :invitation_token, user: user } it 'notifies listeners of the re-invite' do expect(OpenProject::Notifications).to receive(:send) do |event, _new_token| diff --git a/spec/controllers/custom_actions_controller_spec.rb b/spec/controllers/custom_actions_controller_spec.rb index 23848b48658..e24841f0b3f 100644 --- a/spec/controllers/custom_actions_controller_spec.rb +++ b/spec/controllers/custom_actions_controller_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe CustomActionsController, type: :controller do - let(:admin) { FactoryBot.build(:admin) } - let(:non_admin) { FactoryBot.build(:user) } - let(:action) { FactoryBot.build_stubbed(:custom_action) } + let(:admin) { build(:admin) } + let(:non_admin) { build(:user) } + let(:action) { build_stubbed(:custom_action) } let(:params) do { custom_action: { name: 'blubs', actions: { assigned_to: 1 } } } diff --git a/spec/controllers/custom_fields_controller_spec.rb b/spec/controllers/custom_fields_controller_spec.rb index 3b18cdff107..93fda2cdd42 100644 --- a/spec/controllers/custom_fields_controller_spec.rb +++ b/spec/controllers/custom_fields_controller_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe CustomFieldsController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:custom_field) { FactoryBot.build_stubbed(:custom_field) } + let(:custom_field) { build_stubbed(:custom_field) } before do login_as admin diff --git a/spec/controllers/custom_styles_controller_spec.rb b/spec/controllers/custom_styles_controller_spec.rb index e6f37a9669d..0ca39f7e69e 100644 --- a/spec/controllers/custom_styles_controller_spec.rb +++ b/spec/controllers/custom_styles_controller_spec.rb @@ -34,7 +34,7 @@ describe CustomStylesController, type: :controller do end context 'with admin' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } describe '#show' do subject { get :show } @@ -108,7 +108,7 @@ describe CustomStylesController, type: :controller do end describe "#update" do - let(:custom_style) { FactoryBot.build(:custom_style_with_logo) } + let(:custom_style) { build(:custom_style_with_logo) } let(:params) do { custom_style: { logo: 'foo', favicon: 'bar', icon_touch: 'yay' } @@ -182,7 +182,7 @@ describe CustomStylesController, type: :controller do end context "when logo is present" do - let(:custom_style) { FactoryBot.build(:custom_style_with_logo) } + let(:custom_style) { build(:custom_style_with_logo) } it 'will send a file' do expect(response.status).to eq(200) @@ -199,7 +199,7 @@ describe CustomStylesController, type: :controller do end context "when no logo is present" do - let(:custom_style) { FactoryBot.build_stubbed(:custom_style) } + let(:custom_style) { build_stubbed(:custom_style) } it 'renders with error' do expect(controller).to_not receive(:send_file) @@ -209,7 +209,7 @@ describe CustomStylesController, type: :controller do end describe "#logo_delete" do - let(:custom_style) { FactoryBot.build(:custom_style_with_logo) } + let(:custom_style) { build(:custom_style_with_logo) } before do with_enterprise_token(:define_custom_style) @@ -249,7 +249,7 @@ describe CustomStylesController, type: :controller do end context "when favicon is present" do - let(:custom_style) { FactoryBot.build(:custom_style_with_favicon) } + let(:custom_style) { build(:custom_style_with_favicon) } it 'will send a file' do expect(response.status).to eq(200) @@ -266,7 +266,7 @@ describe CustomStylesController, type: :controller do end context "when no favicon is present" do - let(:custom_style) { FactoryBot.build(:custom_style) } + let(:custom_style) { build(:custom_style) } it 'renders with error' do expect(controller).to_not receive(:send_file) @@ -276,7 +276,7 @@ describe CustomStylesController, type: :controller do end describe "#favicon_delete" do - let(:custom_style) { FactoryBot.build(:custom_style_with_favicon) } + let(:custom_style) { build(:custom_style_with_favicon) } before do with_enterprise_token(:define_custom_style) @@ -316,7 +316,7 @@ describe CustomStylesController, type: :controller do end context "when touch icon is present" do - let(:custom_style) { FactoryBot.build(:custom_style_with_touch_icon) } + let(:custom_style) { build(:custom_style_with_touch_icon) } it 'will send a file' do expect(response.status).to eq(200) @@ -333,7 +333,7 @@ describe CustomStylesController, type: :controller do end context "when no touch icon is present" do - let(:custom_style) { FactoryBot.build(:custom_style) } + let(:custom_style) { build(:custom_style) } it 'renders with error' do expect(controller).to_not receive(:send_file) @@ -343,7 +343,7 @@ describe CustomStylesController, type: :controller do end describe "#touch_icon_delete" do - let(:custom_style) { FactoryBot.build(:custom_style_with_touch_icon) } + let(:custom_style) { build(:custom_style_with_touch_icon) } before do with_enterprise_token(:define_custom_style) @@ -411,7 +411,7 @@ describe CustomStylesController, type: :controller do end context 'regular user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } describe '#get' do before do @@ -437,7 +437,7 @@ describe CustomStylesController, type: :controller do end context "when logo is present" do - let(:custom_style) { FactoryBot.build(:custom_style_with_logo) } + let(:custom_style) { build(:custom_style_with_logo) } it 'will send a file' do expect(response.status).to eq(200) diff --git a/spec/controllers/enterprises_controller_spec.rb b/spec/controllers/enterprises_controller_spec.rb index c2665f21a87..b324d27dbc7 100644 --- a/spec/controllers/enterprises_controller_spec.rb +++ b/spec/controllers/enterprises_controller_spec.rb @@ -50,7 +50,7 @@ describe EnterprisesController, type: :controller do end context 'with admin' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } describe '#show' do render_views @@ -188,7 +188,7 @@ describe EnterprisesController, type: :controller do end context 'regular user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } before do get :show diff --git a/spec/controllers/enumerations_controller.rb b/spec/controllers/enumerations_controller.rb index bd6392b06c5..cda4f7e3be4 100644 --- a/spec/controllers/enumerations_controller.rb +++ b/spec/controllers/enumerations_controller.rb @@ -33,7 +33,7 @@ describe EnumerationsController, type: :controller do describe '#destroy' do describe '#priority' do - let(:enum_to_delete) { FactoryBot.create(:priority_normal) } + let(:enum_to_delete) { create(:priority_normal) } shared_examples_for 'successful delete' do it { expect(Enumeration.find_by(id: enum_to_delete.id)).to be_nil } @@ -50,9 +50,9 @@ describe EnumerationsController, type: :controller do end describe 'in use' do - let!(:enum_to_reassign) { FactoryBot.create(:priority_high) } + let!(:enum_to_reassign) { create(:priority_high) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, priority: enum_to_delete) end diff --git a/spec/controllers/enumerations_controller_spec.rb b/spec/controllers/enumerations_controller_spec.rb index 4db98208f72..05a72613be4 100644 --- a/spec/controllers/enumerations_controller_spec.rb +++ b/spec/controllers/enumerations_controller_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe EnumerationsController, type: :controller do - shared_let(:admin) { FactoryBot.create(:admin) } + shared_let(:admin) { create(:admin) } current_user do admin @@ -54,7 +54,7 @@ describe EnumerationsController, type: :controller do end describe '#destroy' do - let(:enum) { FactoryBot.create(:priority) } + let(:enum) { create(:priority) } let(:params) { { id: enum.id } } let(:work_packages) { [] } @@ -75,7 +75,7 @@ describe EnumerationsController, type: :controller do end context 'when in use' do - let(:work_packages) { [FactoryBot.create(:work_package, priority: enum)] } + let(:work_packages) { [create(:work_package, priority: enum)] } it 'keeps the enum (as it needs to be reassigned)' do expect(Enumeration.where(id: enum.id)) @@ -94,8 +94,8 @@ describe EnumerationsController, type: :controller do end context 'when in use and reassigning' do - let(:work_packages) { [FactoryBot.create(:work_package, priority: enum)] } - let!(:other_enum) { FactoryBot.create(:priority) } + let(:work_packages) { [create(:work_package, priority: enum)] } + let!(:other_enum) { create(:priority) } let(:params) { { id: enum.id, reassign_to_id: other_enum.id } } it 'destroys the enum' do diff --git a/spec/controllers/forums_controller_spec.rb b/spec/controllers/forums_controller_spec.rb index 03a1a27328e..85a14cf3b56 100644 --- a/spec/controllers/forums_controller_spec.rb +++ b/spec/controllers/forums_controller_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe ForumsController, type: :controller do - shared_let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } - let!(:forum) { FactoryBot.create(:forum, project: project) } + shared_let(:user) { create(:user) } + let(:project) { create(:project) } + let!(:forum) { create(:forum, project: project) } before do disable_flash_sweep @@ -39,8 +39,8 @@ describe ForumsController, type: :controller do describe '#index' do context 'public project' do - let(:project) { FactoryBot.create(:public_project) } - let!(:role) { FactoryBot.create(:non_member) } + let(:project) { create(:public_project) } + let!(:role) { create(:non_member) } it 'renders the index template' do as_logged_in_user(user) do @@ -158,14 +158,14 @@ describe ForumsController, type: :controller do end describe '#move' do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let!(:forum_1) do - FactoryBot.create(:forum, + create(:forum, project: project, position: 1) end let!(:forum_2) do - FactoryBot.create(:forum, + create(:forum, project: project, position: 2) end @@ -198,7 +198,7 @@ describe ForumsController, type: :controller do describe '#update' do let!(:forum) do - FactoryBot.create(:forum, name: 'Forum name', + create(:forum, name: 'Forum name', description: 'Forum description') end @@ -254,10 +254,10 @@ describe ForumsController, type: :controller do end describe '#sticky' do - let!(:message1) { FactoryBot.create(:message, forum: forum) } - let!(:message2) { FactoryBot.create(:message, forum: forum) } + let!(:message1) { create(:message, forum: forum) } + let!(:message2) { create(:message, forum: forum) } let!(:sticked_message1) do - FactoryBot.create(:message, forum_id: forum.id, + create(:message, forum_id: forum.id, subject: 'How to', content: 'How to install this cool app', sticky: '1', @@ -265,7 +265,7 @@ describe ForumsController, type: :controller do end let!(:sticked_message2) do - FactoryBot.create(:message, forum_id: forum.id, + create(:message, forum_id: forum.id, subject: 'FAQ', content: 'Frequestly asked question', sticky: '1', diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index 2ff22b8c17d..6f7721ca414 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe GroupsController, type: :controller do - let(:group) { FactoryBot.create :group, members: group_members } + let(:group) { create :group, members: group_members } let(:group_members) { [] } before do @@ -38,7 +38,7 @@ describe GroupsController, type: :controller do end context 'as admin' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } it 'should index' do @@ -92,8 +92,8 @@ describe GroupsController, type: :controller do end context 'with two existing users' do - let(:user1) { FactoryBot.create :user } - let(:user2) { FactoryBot.create :user } + let(:user1) { create :user } + let(:user2) { create :user } it 'should add users' do post :add_users, params: { id: group.id, user_ids: [user1.id, user2.id] } @@ -102,8 +102,8 @@ describe GroupsController, type: :controller do end context 'with a group member' do - let(:user1) { FactoryBot.create :user } - let(:user2) { FactoryBot.create :user } + let(:user1) { create :user } + let(:user2) { create :user } let(:group_members) { [user1] } it 'should add users' do @@ -113,9 +113,9 @@ describe GroupsController, type: :controller do end context 'with project and role' do - let(:project) { FactoryBot.create :project } - let(:role1) { FactoryBot.create :role } - let(:role2) { FactoryBot.create :role } + let(:project) { create :project } + let(:role1) { create :role } + let(:role2) { create :role } it 'should create membership' do post :create_memberships, @@ -127,7 +127,7 @@ describe GroupsController, type: :controller do context 'with an existing membership' do let!(:member_group) do - FactoryBot.create(:member, + create(:member, project: project, principal: group, roles: [role1]) @@ -158,7 +158,7 @@ describe GroupsController, type: :controller do end context 'as regular user' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:current_user) { user } it 'should forbid index' do diff --git a/spec/controllers/homescreen_controller_spec.rb b/spec/controllers/homescreen_controller_spec.rb index e2cbf87e7e0..006e7a71448 100644 --- a/spec/controllers/homescreen_controller_spec.rb +++ b/spec/controllers/homescreen_controller_spec.rb @@ -70,7 +70,7 @@ describe HomescreenController, type: :controller do it 'shows the news when available' do expect(News).to receive(:latest).with(any_args) - .and_return(FactoryBot.build_stubbed_list(:news, 5, created_at: Time.now)) + .and_return(build_stubbed_list(:news, 5, created_at: Time.now)) get :index expect(response).to render_template(partial: 'homescreen/blocks/_news') @@ -81,7 +81,7 @@ describe HomescreenController, type: :controller do end context 'with enabled announcement' do - let!(:announcement) { FactoryBot.create :active_announcement } + let!(:announcement) { create :active_announcement } it 'renders the announcement' do expect(response).to render_template(partial: 'announcements/_show') end @@ -109,14 +109,14 @@ describe HomescreenController, type: :controller do end context 'with admin' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'renders blocks' do let(:shown) { all_blocks } end end context 'regular user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } it_behaves_like 'renders blocks' do let(:shown) { all_blocks - %w(administration users) } end diff --git a/spec/controllers/journals_controller_spec.rb b/spec/controllers/journals_controller_spec.rb index 7a5cee4aa50..45de9b70b60 100644 --- a/spec/controllers/journals_controller_spec.rb +++ b/spec/controllers/journals_controller_spec.rb @@ -29,22 +29,22 @@ require 'spec_helper' describe JournalsController, type: :controller do - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:project) { FactoryBot.create(:project_with_types) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:project) { create(:project_with_types) } + let(:role) { create(:role, permissions: permissions) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role], principal: user) end let(:work_package) do - FactoryBot.build(:work_package, type: project.types.first, + build(:work_package, type: project.types.first, author: user, project: project, description: '') end let(:journal) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, journable: work_package, user: user) end diff --git a/spec/controllers/ldap_auth_sources_controller_spec.rb b/spec/controllers/ldap_auth_sources_controller_spec.rb index d05a2a05ab9..5a332b0a974 100644 --- a/spec/controllers/ldap_auth_sources_controller_spec.rb +++ b/spec/controllers/ldap_auth_sources_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe LdapAuthSourcesController, type: :controller do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } before do allow(User).to receive(:current).and_return current_user diff --git a/spec/controllers/members_controller_spec.rb b/spec/controllers/members_controller_spec.rb index da038b1337d..d86a3e32cc8 100644 --- a/spec/controllers/members_controller_spec.rb +++ b/spec/controllers/members_controller_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe MembersController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project, identifier: 'pet_project') } - let(:role) { FactoryBot.create(:role) } + shared_let(:admin) { create :admin } + let(:user) { create(:user) } + let(:project) { create(:project, identifier: 'pet_project') } + let(:role) { create(:role) } let(:member) do - FactoryBot.create(:member, project: project, + create(:member, project: project, user: user, roles: [role]) end @@ -44,8 +44,8 @@ describe MembersController, type: :controller do end describe 'create' do - shared_let(:admin) { FactoryBot.create :admin } - let(:project_2) { FactoryBot.create(:project) } + shared_let(:admin) { create :admin } + let(:project_2) { create(:project) } before do allow(User).to receive(:current).and_return(admin) @@ -75,12 +75,12 @@ describe MembersController, type: :controller do end describe 'update' do - shared_let(:admin) { FactoryBot.create :admin } - let(:project_2) { FactoryBot.create(:project) } - let(:role_1) { FactoryBot.create(:role) } - let(:role_2) { FactoryBot.create(:role) } + shared_let(:admin) { create :admin } + let(:project_2) { create(:project) } + let(:role_1) { create(:role) } + let(:role_2) { create(:role) } let(:member_2) do - FactoryBot.create( + create( :member, project: project_2, user: admin, @@ -137,9 +137,9 @@ describe MembersController, type: :controller do describe '#create' do render_views - let(:user2) { FactoryBot.create(:user) } - let(:user3) { FactoryBot.create(:user) } - let(:user4) { FactoryBot.create(:user) } + let(:user2) { create(:user) } + let(:user3) { create(:user) } + let(:user4) { create(:user) } context 'post :create' do context 'single member' do @@ -219,7 +219,7 @@ describe MembersController, type: :controller do member: { role_ids: [role2.id], user_id: user.id } } end - let(:role2) { FactoryBot.create(:role) } + let(:role2) { create(:role) } before do member diff --git a/spec/controllers/messages_controller_spec.rb b/spec/controllers/messages_controller_spec.rb index a4aeb27a365..906ddaf25e3 100644 --- a/spec/controllers/messages_controller_spec.rb +++ b/spec/controllers/messages_controller_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe MessagesController, type: :controller, with_settings: { journal_aggregation_time_minutes: 0 } do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role) } + let(:user) { create(:user) } + let(:project) { create(:project) } + let(:role) { create(:role) } let!(:member) do - FactoryBot.create(:member, + create(:member, project: project, principal: user, roles: [role]) end let!(:forum) do - FactoryBot.create(:forum, + create(:forum, project: project) end @@ -51,8 +51,8 @@ describe MessagesController, type: :controller, with_settings: { journal_aggrega describe '#show' do context 'public project' do let(:user) { User.anonymous } - let(:project) { FactoryBot.create(:public_project) } - let!(:message) { FactoryBot.create :message, forum: forum } + let(:project) { create(:public_project) } + let!(:message) { create :message, forum: forum } it 'renders the show template' do get :show, params: { project_id: project.id, id: message.id } @@ -67,8 +67,8 @@ describe MessagesController, type: :controller, with_settings: { journal_aggrega end describe '#update' do - let(:message) { FactoryBot.create :message, forum: forum } - let(:other_forum) { FactoryBot.create :forum, project: project } + let(:message) { create :message, forum: forum } + let(:other_forum) { create :forum, project: project } before do role.add_permission!(:edit_messages) and user.reload @@ -81,10 +81,10 @@ describe MessagesController, type: :controller, with_settings: { journal_aggrega end context 'attachment upload' do - let!(:message) { FactoryBot.create(:message) } + let!(:message) { create(:message) } let(:attachment_id) { "attachments_#{message.attachments.first.id}" } # Attachment is already uploaded - let(:attachment) { FactoryBot.create(:attachment, container: nil, author: user) } + let(:attachment) { create(:attachment, container: nil, author: user) } let(:params) do { id: message.id, attachments: { '0' => { 'id' => attachment.id } } } @@ -119,13 +119,13 @@ describe MessagesController, type: :controller, with_settings: { journal_aggrega describe '#remove' do let!(:attachment) do - FactoryBot.create(:attachment, + create(:attachment, container: message, author: user, filename: filename) end let!(:attachable_journal) do - FactoryBot.create(:journal_attachable_journal, + create(:journal_attachable_journal, journal: message.journals.last, attachment: attachment, filename: filename) @@ -156,10 +156,10 @@ describe MessagesController, type: :controller, with_settings: { journal_aggrega end describe 'quote' do - let(:message) { FactoryBot.create :message, content: 'foo', subject: 'subject', forum: forum } + let(:message) { create :message, content: 'foo', subject: 'subject', forum: forum } context 'when allowed' do - let(:user) { FactoryBot.create(:admin) } + let(:user) { create(:admin) } before do login_as user diff --git a/spec/controllers/my_controller_spec.rb b/spec/controllers/my_controller_spec.rb index e35acc0c1dc..6ee2d5164f8 100644 --- a/spec/controllers/my_controller_spec.rb +++ b/spec/controllers/my_controller_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe MyController, type: :controller do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } before(:each) do login_as(user) @@ -120,7 +120,7 @@ describe MyController, type: :controller do end describe 'account' do - let(:custom_field) { FactoryBot.create :text_user_custom_field } + let(:custom_field) { create :text_user_custom_field } before do custom_field as_logged_in_user user do @@ -174,7 +174,7 @@ describe MyController, type: :controller do context 'when user is invalid' do let(:user) do - FactoryBot.create(:user).tap do |u| + create(:user).tap do |u| u.update_column(:mail, 'something invalid') end end diff --git a/spec/controllers/news/comments_controller_spec.rb b/spec/controllers/news/comments_controller_spec.rb index 3d69ddffc6e..8ec89237f55 100644 --- a/spec/controllers/news/comments_controller_spec.rb +++ b/spec/controllers/news/comments_controller_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe News::CommentsController, type: :controller do render_views - let(:user) { FactoryBot.create(:admin) } - let(:news) { FactoryBot.create(:news) } + let(:user) { create(:admin) } + let(:news) { create(:news) } before do allow(User).to receive(:current).and_return user @@ -60,7 +60,7 @@ describe News::CommentsController, type: :controller do describe '#destroy' do it 'deletes the comment and redirects to the news page' do - comment = FactoryBot.create :comment, commented: news + comment = create :comment, commented: news expect do delete :destroy, params: { id: comment.id } diff --git a/spec/controllers/news_controller_spec.rb b/spec/controllers/news_controller_spec.rb index 240153e1004..e7081b72a16 100644 --- a/spec/controllers/news_controller_spec.rb +++ b/spec/controllers/news_controller_spec.rb @@ -34,10 +34,10 @@ describe NewsController, type: :controller do include BecomeMember let(:user) do - FactoryBot.create(:admin) + create(:admin) end - let(:project) { FactoryBot.create(:project) } - let(:news) { FactoryBot.create(:news) } + let(:project) { create(:project) } + let(:news) { create(:news) } before do allow(User).to receive(:current).and_return user diff --git a/spec/controllers/oauth/applications_controller_spec.rb b/spec/controllers/oauth/applications_controller_spec.rb index 6f0aaed5d84..c700a66d6f7 100644 --- a/spec/controllers/oauth/applications_controller_spec.rb +++ b/spec/controllers/oauth/applications_controller_spec.rb @@ -30,15 +30,15 @@ require 'spec_helper' require 'work_package' describe ::OAuth::ApplicationsController, type: :controller do - let(:user) { FactoryBot.build_stubbed :admin } - let(:application_stub) { FactoryBot.build_stubbed(:oauth_application, id: 1, secret: 'foo') } + let(:user) { build_stubbed :admin } + let(:application_stub) { build_stubbed(:oauth_application, id: 1, secret: 'foo') } before do login_as user end context 'not logged as admin' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'does not grant access' do get :index diff --git a/spec/controllers/oauth/grants_controller_spec.rb b/spec/controllers/oauth/grants_controller_spec.rb index bf9f227879f..24a219223f3 100644 --- a/spec/controllers/oauth/grants_controller_spec.rb +++ b/spec/controllers/oauth/grants_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' require 'work_package' describe ::OAuth::GrantsController, type: :controller do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } let(:application_stub) { instance_double(::Doorkeeper::Application, name: 'Foo', id: 1) } before do diff --git a/spec/controllers/placeholder_users/memberships_controller_spec.rb b/spec/controllers/placeholder_users/memberships_controller_spec.rb index d87d0d837a4..afefbd00112 100644 --- a/spec/controllers/placeholder_users/memberships_controller_spec.rb +++ b/spec/controllers/placeholder_users/memberships_controller_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' require 'work_package' describe PlaceholderUsers::MembershipsController, type: :controller do - shared_let(:placeholder_user) { FactoryBot.create(:placeholder_user) } - shared_let(:anonymous) { FactoryBot.create(:anonymous) } - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:role) { FactoryBot.create(:role) } + shared_let(:placeholder_user) { create(:placeholder_user) } + shared_let(:anonymous) { create(:anonymous) } + shared_let(:project) { create(:project) } + shared_let(:role) { create(:role) } shared_examples 'update memberships flow' do it 'works' do @@ -98,14 +98,14 @@ describe PlaceholderUsers::MembershipsController, type: :controller do end context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'update memberships flow' end context 'as user with global permission and manage_members' do current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[manage_members], global_permission: %i[manage_placeholder_user] @@ -115,7 +115,7 @@ describe PlaceholderUsers::MembershipsController, type: :controller do end context 'as user with global permission but not project permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } describe 'POST create' do it 'redirects but fails to create' do @@ -133,8 +133,8 @@ describe PlaceholderUsers::MembershipsController, type: :controller do end context 'with a membership in another project that is invisible' do - shared_let(:project2) { FactoryBot.create :project } - shared_let(:membership) { FactoryBot.create :member, principal: placeholder_user, project: project2, roles: [role] } + shared_let(:project2) { create :project } + shared_let(:membership) { create :member, principal: placeholder_user, project: project2, roles: [role] } describe 'PUT update' do it 'returns an error' do @@ -161,7 +161,7 @@ describe PlaceholderUsers::MembershipsController, type: :controller do end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it_behaves_like 'update memberships forbidden flow' end diff --git a/spec/controllers/placeholder_users_controller_spec.rb b/spec/controllers/placeholder_users_controller_spec.rb index a9ba9000f8b..495e9d4ab61 100644 --- a/spec/controllers/placeholder_users_controller_spec.rb +++ b/spec/controllers/placeholder_users_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' require 'work_package' describe PlaceholderUsersController, type: :controller do - shared_let(:placeholder_user) { FactoryBot.create(:placeholder_user) } + shared_let(:placeholder_user) { create(:placeholder_user) } shared_examples 'do not allow non-admins' do it 'responds with unauthorized status' do @@ -242,18 +242,18 @@ describe PlaceholderUsersController, type: :controller do end context 'as an admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'authorized flows' end context 'as a user with global permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } it_behaves_like 'authorized flows' end context 'as an unauthorized user' do - current_user { FactoryBot.create :user } + current_user { create :user } describe 'GET new' do before do @@ -334,7 +334,7 @@ describe PlaceholderUsersController, type: :controller do end context 'as a user that may not delete the placeholder' do - current_user { FactoryBot.create :user } + current_user { create :user } before do allow(PlaceholderUsers::DeleteContract) diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index 12cb45db343..053d3953059 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ProjectsController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } - let(:non_member) { FactoryBot.create :non_member } + shared_let(:admin) { create :admin } + let(:non_member) { create :non_member } before do allow(@controller).to receive(:set_localization) @@ -48,7 +48,7 @@ describe ProjectsController, type: :controller do end context 'by non-admin user with add_project permission' do - let(:non_member_user) { FactoryBot.create :user } + let(:non_member_user) { create :user } before do non_member.add_permission! :add_project @@ -64,10 +64,10 @@ describe ProjectsController, type: :controller do end describe 'index.html' do - let(:project_a) { FactoryBot.create(:project, name: 'Project A', public: false, active: true) } - let(:project_b) { FactoryBot.create(:project, name: 'Project B', public: false, active: true) } - let(:project_c) { FactoryBot.create(:project, name: 'Project C', public: true, active: true) } - let(:project_d) { FactoryBot.create(:project, name: 'Project D', public: true, active: false) } + let(:project_a) { create(:project, name: 'Project A', public: false, active: true) } + let(:project_b) { create(:project, name: 'Project B', public: false, active: true) } + let(:project_c) { create(:project, name: 'Project C', public: true, active: true) } + let(:project_d) { create(:project, name: 'Project D', public: true, active: false) } let(:projects) { [project_a, project_b, project_c, project_d] } @@ -91,7 +91,7 @@ describe ProjectsController, type: :controller do end context 'as admin' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'successful index' @@ -113,7 +113,7 @@ describe ProjectsController, type: :controller do end context 'as user' do - let(:user) { FactoryBot.create(:user, member_in_project: project_b) } + let(:user) { create(:user, member_in_project: project_b) } it_behaves_like 'successful index' @@ -127,7 +127,7 @@ describe ProjectsController, type: :controller do describe '#destroy' do render_views - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:request) { delete :destroy, params: { id: project.id } } let(:service_result) { ::ServiceResult.new(success: success) } @@ -165,7 +165,7 @@ describe ProjectsController, type: :controller do end describe 'with an existing project' do - let(:project) { FactoryBot.create :project, identifier: 'blog' } + let(:project) { create :project, identifier: 'blog' } it 'should get destroy info' do get :destroy_info, params: { id: project.id } @@ -177,7 +177,7 @@ describe ProjectsController, type: :controller do end describe '#copy' do - let(:project) { FactoryBot.create :project, identifier: 'blog' } + let(:project) { create :project, identifier: 'blog' } it "renders 'copy'" do get 'copy', params: { id: project.id } @@ -186,7 +186,7 @@ describe ProjectsController, type: :controller do end context 'as non authorized user' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } before do login_as user diff --git a/spec/controllers/projects_settings_menu_controller_spec.rb b/spec/controllers/projects_settings_menu_controller_spec.rb index 0a3dfca547a..d9e76453f99 100644 --- a/spec/controllers/projects_settings_menu_controller_spec.rb +++ b/spec/controllers/projects_settings_menu_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Projects::Settings::ModulesController, 'menu', type: :controller do let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) .and_return(true) @@ -38,7 +38,7 @@ describe Projects::Settings::ModulesController, 'menu', type: :controller do end let(:project) do # project contains wiki by default - FactoryBot.create(:project, enabled_module_names: enabled_modules).tap(&:reload) + create(:project, enabled_module_names: enabled_modules).tap(&:reload) end let(:enabled_modules) { %w[wiki] } let(:params) { { project_id: project.id } } @@ -94,11 +94,11 @@ describe Projects::Settings::ModulesController, 'menu', type: :controller do describe 'with custom wiki menu item' do before do - main_item = FactoryBot.create(:wiki_menu_item, + main_item = create(:wiki_menu_item, navigatable_id: project.wiki.id, name: 'example', title: 'Example Title') - FactoryBot.create(:wiki_menu_item, + create(:wiki_menu_item, navigatable_id: project.wiki.id, name: 'sub', title: 'Sub Title', diff --git a/spec/controllers/repositories_controller_spec.rb b/spec/controllers/repositories_controller_spec.rb index 675c2b0ad02..85756ff21e2 100644 --- a/spec/controllers/repositories_controller_spec.rb +++ b/spec/controllers/repositories_controller_spec.rb @@ -32,20 +32,20 @@ require 'spec_helper' describe RepositoriesController, type: :controller do let(:project) do - project = FactoryBot.create(:project) + project = create(:project) allow(Project).to receive(:find).and_return(project) project end let(:user) do - FactoryBot.create(:user, member_in_project: project, + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } let (:url) { 'file:///tmp/something/does/not/exist.svn' } let(:repository) do allow(Setting).to receive(:enabled_scm).and_return(['subversion']) - repo = FactoryBot.build_stubbed(:repository_subversion, + repo = build_stubbed(:repository_subversion, scm_type: 'local', url: url, project: project) @@ -62,7 +62,7 @@ describe RepositoriesController, type: :controller do end describe 'manages the repository' do - let(:role) { FactoryBot.create(:role, permissions: [:manage_repository]) } + let(:role) { create(:role, permissions: [:manage_repository]) } before do # authorization checked in spec/permissions/manage_repositories_spec.rb @@ -108,7 +108,7 @@ describe RepositoriesController, type: :controller do end describe 'with empty repository' do - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } before do allow(repository.scm) @@ -156,7 +156,7 @@ describe RepositoriesController, type: :controller do let(:url) { "file://#{root_url}" } let(:repository) do - FactoryBot.create(:repository_subversion, project: project, url: url, root_url: url) + create(:repository_subversion, project: project, url: url, root_url: url) end describe 'commits per author graph' do @@ -166,7 +166,7 @@ describe RepositoriesController, type: :controller do context 'requested by an authorized user' do let(:role) do - FactoryBot.create(:role, permissions: %i[browse_repository + create(:role, permissions: %i[browse_repository view_commit_author_statistics]) end @@ -180,7 +180,7 @@ describe RepositoriesController, type: :controller do end context 'requested by an unauthorized user' do - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } it 'should return 403' do expect(response.code).to eq('403') @@ -189,7 +189,7 @@ describe RepositoriesController, type: :controller do end describe 'committers' do - let(:role) { FactoryBot.create(:role, permissions: [:manage_repository]) } + let(:role) { create(:role, permissions: [:manage_repository]) } describe '#get' do before do @@ -223,7 +223,7 @@ describe RepositoriesController, type: :controller do describe 'requested by a user with view_commit_author_statistics permission' do let(:role) do - FactoryBot.create(:role, permissions: %i[browse_repository + create(:role, permissions: %i[browse_repository view_commit_author_statistics]) end @@ -233,7 +233,7 @@ describe RepositoriesController, type: :controller do end describe 'requested by a user without view_commit_author_statistics permission' do - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } it 'should NOT show the commits per author graph' do expect(assigns(:show_commits_per_author)).to eq(false) @@ -250,7 +250,7 @@ describe RepositoriesController, type: :controller do describe 'show' do render_views - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } before do get :show, params: { project_id: project.identifier, repo_path: path } @@ -269,7 +269,7 @@ describe RepositoriesController, type: :controller do describe 'changes' do render_views - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } before do get :changes, params: { project_id: project.identifier, repo_path: path } @@ -290,7 +290,7 @@ describe RepositoriesController, type: :controller do describe 'checkout path' do render_views - let(:role) { FactoryBot.create(:role, permissions: [:browse_repository]) } + let(:role) { create(:role, permissions: [:browse_repository]) } let(:checkout_hash) do { 'subversion' => { 'enabled' => '1', @@ -316,7 +316,7 @@ describe RepositoriesController, type: :controller do end describe 'when not being logged in' do - let(:anonymous) { FactoryBot.build_stubbed(:anonymous) } + let(:anonymous) { build_stubbed(:anonymous) } before do login_as(anonymous) diff --git a/spec/controllers/roles_controller_spec.rb b/spec/controllers/roles_controller_spec.rb index abd2bef3b62..46d5ed8ab68 100644 --- a/spec/controllers/roles_controller_spec.rb +++ b/spec/controllers/roles_controller_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe RolesController, type: :controller do let(:user) do - FactoryBot.build_stubbed(:admin) + build_stubbed(:admin) end let(:params) do { diff --git a/spec/controllers/search_controller_spec.rb b/spec/controllers/search_controller_spec.rb index 6e7789f7185..b66ba988049 100644 --- a/spec/controllers/search_controller_spec.rb +++ b/spec/controllers/search_controller_spec.rb @@ -30,58 +30,58 @@ require 'spec_helper' describe SearchController, type: :controller do shared_let(:project) do - FactoryBot.create(:project, + create(:project, name: 'eCookbook') end shared_let(:other_project) do - FactoryBot.create(:project, + create(:project, name: 'Other project') end shared_let(:subproject) do - FactoryBot.create(:project, + create(:project, name: 'Child project', parent: project) end shared_let(:role) do - FactoryBot.create(:role, permissions: %i[view_wiki_pages view_work_packages]) + create(:role, permissions: %i[view_wiki_pages view_work_packages]) end shared_let(:user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, subproject], member_through_role: role) end shared_let(:wiki_page) do - FactoryBot.create(:wiki_page, + create(:wiki_page, title: "How to solve an issue", wiki: project.wiki) end shared_let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'This is a test issue', project: project) end shared_let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Issue test 2', project: project, - status: FactoryBot.create(:closed_status)) + status: create(:closed_status)) end shared_let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Issue test 3', project: subproject) end shared_let(:work_package_4) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Issue test 4', project: other_project) end @@ -182,7 +182,7 @@ describe SearchController, type: :controller do context 'when searching for a note' do let!(:note_1) do - FactoryBot.create :work_package_journal, + create :work_package_journal, journable_id: work_package_1.id, notes: 'Test note 1', version: 2 @@ -191,7 +191,7 @@ describe SearchController, type: :controller do before { allow_any_instance_of(Journal).to receive_messages(predecessor: note_1) } let!(:note_2) do - FactoryBot.create :work_package_journal, + create :work_package_journal, journable_id: work_package_1.id, notes: 'Special note 2', version: 3 diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb index 279e97ec5ae..7894d0224d8 100644 --- a/spec/controllers/statuses_controller_spec.rb +++ b/spec/controllers/statuses_controller_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe StatusesController, type: :controller do - shared_let(:user) { FactoryBot.create(:admin) } - shared_let(:status) { FactoryBot.create(:status) } + shared_let(:user) { create(:admin) } + shared_let(:status) { create(:status) } before { login_as(user) } @@ -90,7 +90,7 @@ describe StatusesController, type: :controller do context 'default' do let!(:status_default) do - FactoryBot.create(:status, + create(:status, is_default: true) end @@ -175,7 +175,7 @@ describe StatusesController, type: :controller do context 'used' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, status: status) end @@ -192,7 +192,7 @@ describe StatusesController, type: :controller do context 'default' do let!(:status_default) do - FactoryBot.create(:status, + create(:status, is_default: true) end diff --git a/spec/controllers/sys_controller_spec.rb b/spec/controllers/sys_controller_spec.rb index 797095d6e66..d1d946212c3 100644 --- a/spec/controllers/sys_controller_spec.rb +++ b/spec/controllers/sys_controller_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' describe SysController, type: :controller, with_settings: { sys_api_enabled: true } do let(:commit_role) do - FactoryBot.create(:role, permissions: %i[commit_access browse_repository]) + create(:role, permissions: %i[commit_access browse_repository]) end - let(:browse_role) { FactoryBot.create(:role, permissions: [:browse_repository]) } - let(:guest_role) { FactoryBot.create(:role, permissions: []) } + let(:browse_role) { create(:role, permissions: [:browse_repository]) } + let(:guest_role) { create(:role, permissions: []) } let(:valid_user_password) { 'Top Secret Password' } let(:valid_user) do - FactoryBot.create(:user, + create(:user, login: 'johndoe', password: valid_user_password, password_confirmation: valid_user_password) @@ -45,13 +45,13 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru let(:api_key) { '12345678' } let(:public) { false } - let(:project) { FactoryBot.create(:project, public: public) } + let(:project) { create(:project, public: public) } let!(:repository_project) do - FactoryBot.create(:project, public: false, members: { valid_user => [browse_role] }) + create(:project, public: false, members: { valid_user => [browse_role] }) end before(:each) do - FactoryBot.create(:non_member, permissions: [:browse_repository]) + create(:non_member, permissions: [:browse_repository]) DeletedUser.first # creating it first in order to avoid problems with should_receive allow(Setting).to receive(:sys_api_key).and_return(api_key) @@ -62,7 +62,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru end describe 'svn' do - let!(:repository) { FactoryBot.create(:repository_subversion, project: project) } + let!(:repository) { create(:repository_subversion, project: project) } describe 'repo_auth' do context 'for valid login, but no access to repo_auth' do @@ -86,7 +86,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and user has read permission (role reporter) for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [browse_role], project: project) @@ -117,7 +117,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and user has rw permission (role developer) for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [commit_role], project: project) @@ -148,7 +148,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for invalid login and user has role manager for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [commit_role], project: project) @@ -190,8 +190,8 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru let(:public) { true } before(:each) do - random_project = FactoryBot.create(:project, public: false) - FactoryBot.create(:member, + random_project = create(:project, public: false) + create(:member, user: valid_user, roles: [browse_role], project: random_project) @@ -261,7 +261,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru end describe 'git' do - let!(:repository) { FactoryBot.create(:repository_git, project: project) } + let!(:repository) { create(:repository_git, project: project) } describe 'repo_auth' do context 'for valid login, but no access to repo_auth' do before(:each) do @@ -287,7 +287,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and user has read permission (role reporter) for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [browse_role], project: project) @@ -324,7 +324,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and user has rw permission (role developer) for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [commit_role], project: project) @@ -362,7 +362,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for invalid login and user has role manager for project' do before(:each) do - FactoryBot.create(:member, + create(:member, user: valid_user, roles: [commit_role], project: project) @@ -388,7 +388,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and user is not member for project' do before(:each) do - project = FactoryBot.create(:project, public: false) + project = create(:project, public: false) request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials( valid_user.login, @@ -411,8 +411,8 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru context 'for valid login and project is public' do let(:public) { true } before(:each) do - random_project = FactoryBot.create(:project, public: false) - FactoryBot.create(:member, + random_project = create(:project, public: false) + create(:member, user: valid_user, roles: [browse_role], project: random_project) @@ -559,7 +559,7 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru end context 'available project, but missing repository' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:id) { project.id } before do allow(Project).to receive(:find).and_return(project) @@ -573,10 +573,10 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru end context 'stubbed repository' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:id) { project.id } let(:repository) do - FactoryBot.build_stubbed(:repository_subversion, url: url, root_url: url) + build_stubbed(:repository_subversion, url: url, root_url: url) end before do @@ -614,10 +614,10 @@ describe SysController, type: :controller, with_settings: { sys_api_enabled: tru let(:root_url) { repo_dir } let(:url) { "file://#{root_url}" } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:id) { project.id } let(:repository) do - FactoryBot.create(:repository_subversion, project: project, url: url, root_url: url) + create(:repository_subversion, project: project, url: url, root_url: url) end before do diff --git a/spec/controllers/types_controller_spec.rb b/spec/controllers/types_controller_spec.rb index 5964a77d016..6bb13f389d2 100644 --- a/spec/controllers/types_controller_spec.rb +++ b/spec/controllers/types_controller_spec.rb @@ -30,20 +30,20 @@ require 'spec_helper' describe TypesController, type: :controller do let(:project) do - FactoryBot.create(:project, + create(:project, work_package_custom_fields: [custom_field_2]) end let(:custom_field_1) do - FactoryBot.create(:work_package_custom_field, + create(:work_package_custom_field, field_format: 'string', is_for_all: true) end - let(:custom_field_2) { FactoryBot.create(:work_package_custom_field) } - let(:status_0) { FactoryBot.create(:status) } - let(:status_1) { FactoryBot.create(:status) } + let(:custom_field_2) { create(:work_package_custom_field) } + let(:status_0) { create(:status) } + let(:status_1) { create(:status) } context 'with an unauthorized account' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do allow(User).to receive(:current).and_return(current_user) @@ -107,7 +107,7 @@ describe TypesController, type: :controller do end context 'with an authorized account' do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } before do allow(User).to receive(:current).and_return(current_user) @@ -165,9 +165,9 @@ describe TypesController, type: :controller do end describe 'WITH workflow copy' do - let!(:existing_type) { FactoryBot.create(:type, name: 'Existing type') } + let!(:existing_type) { create(:type, name: 'Existing type') } let!(:workflow) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status_0, new_status: status_1, type_id: existing_type.id) @@ -199,7 +199,7 @@ describe TypesController, type: :controller do describe 'GET edit settings' do render_views let(:type) do - FactoryBot.create(:type, name: 'My type', + create(:type, name: 'My type', is_milestone: true, projects: [project]) end @@ -218,7 +218,7 @@ describe TypesController, type: :controller do describe 'GET edit projects' do render_views let(:type) do - FactoryBot.create(:type, name: 'My type', + create(:type, name: 'My type', is_milestone: true, projects: [project]) end @@ -236,9 +236,9 @@ describe TypesController, type: :controller do end describe 'POST update' do - let(:project2) { FactoryBot.create(:project) } + let(:project2) { create(:project) } let(:type) do - FactoryBot.create(:type, name: 'My type', + create(:type, name: 'My type', is_milestone: true, projects: [project, project2]) end @@ -289,8 +289,8 @@ describe TypesController, type: :controller do end describe 'POST move' do - let!(:type) { FactoryBot.create(:type, name: 'My type', position: '1') } - let!(:type2) { FactoryBot.create(:type, name: 'My type 2', position: '2') } + let!(:type) { create(:type, name: 'My type', position: '1') } + let!(:type2) { create(:type, name: 'My type 2', position: '2') } let(:params) { { 'id' => type.id, 'type' => { move_to: 'lower' } } } before do @@ -305,9 +305,9 @@ describe TypesController, type: :controller do end describe 'DELETE destroy' do - let(:type) { FactoryBot.create(:type, name: 'My type') } - let(:type2) { FactoryBot.create(:type, name: 'My type 2', projects: [project]) } - let(:type3) { FactoryBot.create(:type, name: 'My type 3', is_standard: true) } + let(:type) { create(:type, name: 'My type') } + let(:type2) { create(:type, name: 'My type 2', projects: [project]) } + let(:type3) { create(:type, name: 'My type 3', is_standard: true) } describe 'successful destroy' do let(:params) { { 'id' => type.id } } @@ -328,13 +328,13 @@ describe TypesController, type: :controller do describe 'destroy type in use should fail' do let(:project2) do - FactoryBot.create(:project, + create(:project, active: false, work_package_custom_fields: [custom_field_2], types: [type2]) end let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: current_user, type: type2, project: project2) diff --git a/spec/controllers/users/memberships_controller_spec.rb b/spec/controllers/users/memberships_controller_spec.rb index 90523372c40..3a33a79e900 100644 --- a/spec/controllers/users/memberships_controller_spec.rb +++ b/spec/controllers/users/memberships_controller_spec.rb @@ -30,14 +30,14 @@ require 'spec_helper' require 'work_package' describe Users::MembershipsController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:user) { FactoryBot.create(:user) } - let(:anonymous) { FactoryBot.create(:anonymous) } + let(:user) { create(:user) } + let(:anonymous) { create(:anonymous) } describe 'update memberships' do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role) } + let(:project) { create(:project) } + let(:role) { create(:role) } it 'works' do # i.e. it should successfully add a user to a project's members diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index 359e7d21102..82371e47d66 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' require 'work_package' describe UsersController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } shared_let(:anonymous) { User.anonymous } shared_let(:user_password) { 'bob!' * 4 } shared_let(:user) do - FactoryBot.create :user, + create :user, login: 'bob', password: user_password, password_confirmation: user_password @@ -198,10 +198,10 @@ describe UsersController, type: :controller do end describe 'POST resend_invitation' do - let(:invited_user) { FactoryBot.create :invited_user } + let(:invited_user) { create :invited_user } context 'without admin rights' do - let(:normal_user) { FactoryBot.create :user } + let(:normal_user) { create :user } before do as_logged_in_user normal_user do @@ -334,7 +334,7 @@ describe UsersController, type: :controller do describe "WHEN the current user is the admin WHEN the given password does not match WHEN the setting users_deletable_by_admins is set to true" do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do disable_flash_sweep @@ -372,7 +372,7 @@ describe UsersController, type: :controller do describe "WHEN the current user is the admin WHEN the setting users_deletable_by_admins is set to false" do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do disable_flash_sweep @@ -390,7 +390,7 @@ describe UsersController, type: :controller do describe '#change_status_info' do let!(:registered_user) do - FactoryBot.create(:user, status: User.statuses[:registered]) + create(:user, status: User.statuses[:registered]) end before do @@ -443,7 +443,7 @@ describe UsersController, type: :controller do } do describe 'WHEN activating a registered user' do let!(:registered_user) do - FactoryBot.create(:user, status: User.statuses[:registered], + create(:user, status: User.statuses[:registered], language: 'de') end @@ -525,7 +525,7 @@ describe UsersController, type: :controller do end context 'with a group filter' do - let(:group) { FactoryBot.create(:group, members: [user]) } + let(:group) { create(:group, members: [user]) } let(:params) do { group_id: group.id } @@ -643,7 +643,7 @@ describe UsersController, type: :controller do current_user { admin } let(:user) do - FactoryBot.create(:user, + create(:user, firstname: 'Firstname', admin: true, login: 'testlogin', @@ -733,7 +733,7 @@ describe UsersController, type: :controller do end context 'with external authentication' do - let(:user) { FactoryBot.create(:user, identity_url: 'some:identity') } + let(:user) { create(:user, identity_url: 'some:identity') } before do as_logged_in_user(admin) do @@ -748,7 +748,7 @@ describe UsersController, type: :controller do end context 'ldap auth source' do - let(:ldap_auth_source) { FactoryBot.create(:ldap_auth_source) } + let(:ldap_auth_source) { create(:ldap_auth_source) } it 'switchting to internal authentication on a password change' do user.auth_source = ldap_auth_source @@ -848,7 +848,7 @@ describe UsersController, type: :controller do context 'when the user is locked for an non admin' do let(:current_user) do user.locked! - FactoryBot.create(:user) + create(:user) end it 'responds with 200' do @@ -876,33 +876,33 @@ describe UsersController, type: :controller do render_views let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: user) end let!(:member) do - FactoryBot.create(:member, + create(:member, project: work_package.project, principal: user, - roles: [FactoryBot.create(:role, + roles: [create(:role, permissions: [:view_work_packages])]) end let!(:journal_1) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, user: user, journable_id: work_package.id, version: Journal.maximum(:version) + 1, - data: FactoryBot.build(:journal_work_package_journal, + data: build(:journal_work_package_journal, subject: work_package.subject, status_id: work_package.status_id, type_id: work_package.type_id, project_id: work_package.project_id)) end let!(:journal_2) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, user: user, journable_id: work_package.id, version: Journal.maximum(:version) + 1, - data: FactoryBot.build(:journal_work_package_journal, + data: build(:journal_work_package_journal, subject: work_package.subject, status_id: work_package.status_id, type_id: work_package.type_id, diff --git a/spec/controllers/versions_controller_spec.rb b/spec/controllers/versions_controller_spec.rb index 4574d3dc4c2..177e2db1d32 100644 --- a/spec/controllers/versions_controller_spec.rb +++ b/spec/controllers/versions_controller_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe VersionsController, type: :controller do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:public_project) } - let(:version1) { FactoryBot.create(:version, project: project, effective_date: nil) } - let(:version2) { FactoryBot.create(:version, project: project) } - let(:version3) { FactoryBot.create(:version, project: project, effective_date: (Date.today - 14.days)) } + let(:user) { create(:admin) } + let(:project) { create(:public_project) } + let(:version1) { create(:version, project: project, effective_date: nil) } + let(:version2) { create(:version, project: project) } + let(:version3) { create(:version, project: project, effective_date: (Date.today - 14.days)) } describe '#index' do render_views @@ -66,11 +66,11 @@ describe VersionsController, type: :controller do end context 'with showing selected types' do - let(:type_a) { FactoryBot.create :type } - let(:type_b) { FactoryBot.create :type } + let(:type_a) { create :type } + let(:type_b) { create :type } - let(:wp_a) { FactoryBot.create :work_package, type: type_a, project: project, version: version1 } - let(:wp_b) { FactoryBot.create :work_package, type: type_b, project: project, version: version1 } + let(:wp_a) { create :work_package, type: type_a, project: project, version: version1 } + let(:wp_b) { create :work_package, type: type_b, project: project, version: version1 } before do project.types = [type_a, type_b] @@ -138,8 +138,8 @@ describe VersionsController, type: :controller do end context 'with showing subprojects versions' do - let(:sub_project) { FactoryBot.create(:public_project, parent_id: project.id) } - let(:version4) { FactoryBot.create(:version, project: sub_project) } + let(:sub_project) { create(:public_project, parent_id: project.id) } + let(:version4) { create(:version, project: sub_project) } before do login_as(user) diff --git a/spec/controllers/wiki_controller_spec.rb b/spec/controllers/wiki_controller_spec.rb index 446365d0e68..94fc35cda9d 100644 --- a/spec/controllers/wiki_controller_spec.rb +++ b/spec/controllers/wiki_controller_spec.rb @@ -29,19 +29,19 @@ require 'spec_helper' describe WikiController, type: :controller do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } shared_let(:project) do - FactoryBot.create(:project).tap(&:reload) + create(:project).tap(&:reload) end shared_let(:existing_page) do - FactoryBot.create(:wiki_page, wiki_id: project.wiki.id, title: 'ExistingPage') + create(:wiki_page, wiki_id: project.wiki.id, title: 'ExistingPage') end shared_let(:existing_content) do # creating page contents - FactoryBot.create(:wiki_content, page_id: existing_page.id, author_id: admin.id) + create(:wiki_content, page_id: existing_page.id, author_id: admin.id) end @@ -109,8 +109,8 @@ describe WikiController, type: :controller do let(:get_page) { get :show, params: { project_id: project, id: 'wiki' } } describe 'with an empty wiki and no permission to edit' do - let(:view_role) { FactoryBot.create :role, permissions: %w[view_wiki_pages] } - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: view_role) } + let(:view_role) { create :role, permissions: %w[view_wiki_pages] } + let(:user) { create(:user, member_in_project: project, member_through_role: view_role) } it 'visiting the start page redirects to index' do login_as user @@ -240,7 +240,7 @@ describe WikiController, type: :controller do let(:redirect_page_after_destroy) { wiki.find_page(wiki.start_page) || wiki.pages.first } before do - FactoryBot.create :wiki_page, wiki: wiki + create :wiki_page, wiki: wiki end it 'redirects to wiki#index' do @@ -263,16 +263,16 @@ describe WikiController, type: :controller do render_views shared_let(:project) do - FactoryBot.create(:public_project).tap(&:reload) + create(:public_project).tap(&:reload) end before :each do allow(@controller).to receive(:set_localization) allow(Setting).to receive(:login_required?).and_return(false) - @role = FactoryBot.create(:non_member) + @role = create(:non_member) - @anon = User.anonymous.nil? ? FactoryBot.create(:anonymous) : User.anonymous + @anon = User.anonymous.nil? ? create(:anonymous) : User.anonymous Role.anonymous.update name: I18n.t(:default_role_anonymous), permissions: [:view_wiki_pages] @@ -280,34 +280,34 @@ describe WikiController, type: :controller do allow(User).to receive(:current).and_return admin # creating pages - @page_default = FactoryBot.create(:wiki_page, + @page_default = create(:wiki_page, wiki_id: project.wiki.id, title: 'Wiki') - @page_with_content = FactoryBot.create(:wiki_page, + @page_with_content = create(:wiki_page, wiki_id: project.wiki.id, title: 'PagewithContent') - @page_without_content = FactoryBot.create(:wiki_page, + @page_without_content = create(:wiki_page, wiki_id: project.wiki.id, title: 'PagewithoutContent') - @unrelated_page = FactoryBot.create(:wiki_page, + @unrelated_page = create(:wiki_page, wiki_id: project.wiki.id, title: 'UnrelatedPage') # creating page contents - FactoryBot.create(:wiki_content, page_id: @page_default.id, + create(:wiki_content, page_id: @page_default.id, author_id: admin.id) - FactoryBot.create(:wiki_content, page_id: @page_with_content.id, + create(:wiki_content, page_id: @page_with_content.id, author_id: admin.id) - FactoryBot.create(:wiki_content, page_id: @unrelated_page.id, + create(:wiki_content, page_id: @unrelated_page.id, author_id: admin.id) # creating some child pages @children = {} [@page_with_content].each do |page| - child_page = FactoryBot.create(:wiki_page, wiki_id: project.wiki.id, + child_page = create(:wiki_page, wiki_id: project.wiki.id, parent_id: page.id, title: page.title + ' child') - FactoryBot.create(:wiki_content, page_id: child_page.id, + create(:wiki_content, page_id: child_page.id, author_id: admin.id) @children[page] = child_page @@ -316,17 +316,17 @@ describe WikiController, type: :controller do describe '- main menu links' do before do - @main_menu_item_for_page_with_content = FactoryBot.create(:wiki_menu_item, + @main_menu_item_for_page_with_content = create(:wiki_menu_item, navigatable_id: project.wiki.id, title: 'Item for Page with Content', name: @page_with_content.slug) - @main_menu_item_for_new_wiki_page = FactoryBot.create(:wiki_menu_item, + @main_menu_item_for_new_wiki_page = create(:wiki_menu_item, navigatable_id: project.wiki.id, title: 'Item for new WikiPage', name: 'new-wiki-page') - @other_menu_item = FactoryBot.create(:wiki_menu_item, + @other_menu_item = create(:wiki_menu_item, navigatable_id: project.wiki.id, title: 'Item for other page', name: @unrelated_page.slug) @@ -414,7 +414,7 @@ describe WikiController, type: :controller do describe '- wiki_menu_item containing special chars only' do before do - @wiki_menu_item = FactoryBot.create(:wiki_menu_item, + @wiki_menu_item = create(:wiki_menu_item, navigatable_id: project.wiki.id, title: '?', name: 'help') diff --git a/spec/controllers/wiki_menu_authentication_spec.rb b/spec/controllers/wiki_menu_authentication_spec.rb index 3035c1b22b7..b661d0ce37e 100644 --- a/spec/controllers/wiki_menu_authentication_spec.rb +++ b/spec/controllers/wiki_menu_authentication_spec.rb @@ -33,22 +33,22 @@ describe WikiMenuItemsController, type: :controller do User.delete_all Role.delete_all - @project = FactoryBot.create(:project) + @project = create(:project) @project.reload # project contains wiki by default @params = {} @params[:project_id] = @project.id - page = FactoryBot.create(:wiki_page, wiki: @project.wiki) + page = create(:wiki_page, wiki: @project.wiki) @params[:id] = page.title end describe 'w/ valid auth' do it 'renders the edit action' do - admin_user = FactoryBot.create(:admin) + admin_user = create(:admin) allow(User).to receive(:current).and_return admin_user - permission_role = FactoryBot.create(:role, name: 'accessgranted', permissions: [:manage_wiki_menu]) - member = FactoryBot.create(:member, principal: admin_user, user: admin_user, project: @project, roles: [permission_role]) + permission_role = create(:role, name: 'accessgranted', permissions: [:manage_wiki_menu]) + member = create(:member, principal: admin_user, user: admin_user, project: @project, roles: [permission_role]) get 'edit', params: @params @@ -58,7 +58,7 @@ describe WikiMenuItemsController, type: :controller do describe 'w/o valid auth' do it 'be forbidden' do - allow(User).to receive(:current).and_return FactoryBot.create(:user) + allow(User).to receive(:current).and_return create(:user) get 'edit', params: @params diff --git a/spec/controllers/wiki_menu_items_controller_spec.rb b/spec/controllers/wiki_menu_items_controller_spec.rb index e03b69715f5..88ee5a4f147 100644 --- a/spec/controllers/wiki_menu_items_controller_spec.rb +++ b/spec/controllers/wiki_menu_items_controller_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe WikiMenuItemsController, type: :controller do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } # create project with wiki - let(:project) { FactoryBot.create(:project).reload } # a wiki is created for project, but the object doesn't know of it (FIXME?) + let(:project) { create(:project).reload } # a wiki is created for project, but the object doesn't know of it (FIXME?) let(:wiki) { project.wiki } - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki) } # first wiki page without child pages + let(:wiki_page) { create(:wiki_page, wiki: wiki) } # first wiki page without child pages let!(:top_level_wiki_menu_item) do - FactoryBot.create(:wiki_menu_item, :with_menu_item_options, wiki: wiki, name: wiki_page.slug) + create(:wiki_menu_item, :with_menu_item_options, wiki: wiki, name: wiki_page.slug) end before :each do @@ -47,21 +47,21 @@ describe WikiMenuItemsController, type: :controller do describe '#edit' do # more wiki pages with menu items - let(:another_wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki) } # second wiki page with two child pages + let(:another_wiki_page) { create(:wiki_page, wiki: wiki) } # second wiki page with two child pages let!(:another_wiki_page_top_level_wiki_menu_item) do - FactoryBot.create(:wiki_menu_item, wiki: wiki, name: another_wiki_page.slug) + create(:wiki_menu_item, wiki: wiki, name: another_wiki_page.slug) end # child pages of another_wiki_page - let(:child_page) { FactoryBot.create(:wiki_page, parent: another_wiki_page, wiki: wiki) } - let!(:child_page_wiki_menu_item) { FactoryBot.create(:wiki_menu_item, wiki: wiki, name: child_page.slug) } - let(:another_child_page) { FactoryBot.create(:wiki_page, parent: another_wiki_page, wiki: wiki) } + let(:child_page) { create(:wiki_page, parent: another_wiki_page, wiki: wiki) } + let!(:child_page_wiki_menu_item) { create(:wiki_menu_item, wiki: wiki, name: child_page.slug) } + let(:another_child_page) { create(:wiki_page, parent: another_wiki_page, wiki: wiki) } let!(:another_child_page_wiki_menu_item) do - FactoryBot.create(:wiki_menu_item, wiki: wiki, name: another_child_page.slug, parent: top_level_wiki_menu_item) + create(:wiki_menu_item, wiki: wiki, name: another_child_page.slug, parent: top_level_wiki_menu_item) end - let(:grand_child_page) { FactoryBot.create(:wiki_page, parent: child_page, wiki: wiki) } - let!(:grand_child_page_wiki_menu_item) { FactoryBot.create(:wiki_menu_item, wiki: wiki, name: grand_child_page.slug) } + let(:grand_child_page) { create(:wiki_page, parent: child_page, wiki: wiki) } + let!(:grand_child_page_wiki_menu_item) { create(:wiki_menu_item, wiki: wiki, name: grand_child_page.slug) } context 'when no parent wiki menu item has been configured yet' do context 'and it is a child page' do @@ -100,10 +100,10 @@ describe WikiMenuItemsController, type: :controller do end shared_context 'when there is one more wiki page with a child page' do - let!(:child_page) { FactoryBot.create(:wiki_page, parent: wiki_page, wiki: wiki) } + let!(:child_page) { create(:wiki_page, parent: wiki_page, wiki: wiki) } - let!(:another_wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki) } # second wiki page with two child pages - let!(:another_child_page) { FactoryBot.create(:wiki_page, parent: another_wiki_page, wiki: wiki) } + let!(:another_wiki_page) { create(:wiki_page, wiki: wiki) } # second wiki page with two child pages + let!(:another_child_page) { create(:wiki_page, parent: another_wiki_page, wiki: wiki) } end describe '#select_main_menu_item' do diff --git a/spec/controllers/work_packages/auto_completes_controller_spec.rb b/spec/controllers/work_packages/auto_completes_controller_spec.rb index dc89950a239..be9ef0ad311 100644 --- a/spec/controllers/work_packages/auto_completes_controller_spec.rb +++ b/spec/controllers/work_packages/auto_completes_controller_spec.rb @@ -29,32 +29,32 @@ require 'spec_helper' describe WorkPackages::AutoCompletesController, type: :controller do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:user) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: [:view_work_packages]) end let(:member) do - FactoryBot.create(:member, + create(:member, project: project, principal: user, roles: [role]) end let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, subject: "Can't print recipes", project: project) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Error when updating a recipe', project: project) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Lorem ipsum', project: project) end @@ -172,7 +172,7 @@ describe WorkPackages::AutoCompletesController, type: :controller do describe 'returns work package for given id' do render_views let(:work_package_4) do - FactoryBot.create(:work_package, + create(:work_package, subject: "", project: project) end @@ -197,17 +197,17 @@ describe WorkPackages::AutoCompletesController, type: :controller do describe 'in different projects' do let(:project_2) do - FactoryBot.create(:project, + create(:project, parent: project) end let(:member_2) do - FactoryBot.create(:member, + create(:member, project: project_2, principal: user, roles: [role]) end let(:work_package_4) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Foo Bar Baz', project: project_2) end diff --git a/spec/controllers/work_packages/bulk_controller_spec.rb b/spec/controllers/work_packages/bulk_controller_spec.rb index f81147966a7..655693ff3de 100644 --- a/spec/controllers/work_packages/bulk_controller_spec.rb +++ b/spec/controllers/work_packages/bulk_controller_spec.rb @@ -29,57 +29,57 @@ require 'spec_helper' describe WorkPackages::BulkController, type: :controller, with_settings: { journal_aggregation_time_minutes: 0 } do - let(:user) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } + let(:user) { create(:user) } + let(:user2) { create(:user) } let(:custom_field_value) { '125' } let(:custom_field_1) do - FactoryBot.create(:work_package_custom_field, + create(:work_package_custom_field, field_format: 'string', is_for_all: true) end - let(:custom_field_2) { FactoryBot.create(:work_package_custom_field) } - let(:custom_field_user) { FactoryBot.create(:user_issue_custom_field) } - let(:status) { FactoryBot.create(:status) } + let(:custom_field_2) { create(:work_package_custom_field) } + let(:custom_field_user) { create(:user_issue_custom_field) } + let(:status) { create(:status) } let(:type) do - FactoryBot.create(:type_standard, + create(:type_standard, custom_fields: [custom_field_1, custom_field_2, custom_field_user]) end let(:project_1) do - FactoryBot.create(:project, + create(:project, types: [type], work_package_custom_fields: [custom_field_2]) end let(:project_2) do - FactoryBot.create(:project, + create(:project, types: [type]) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[edit_work_packages view_work_packages manage_subtasks assign_versions]) end let(:member1_p1) do - FactoryBot.create(:member, + create(:member, project: project_1, principal: user, roles: [role]) end let(:member2_p1) do - FactoryBot.create(:member, + create(:member, project: project_1, principal: user2, roles: [role]) end let(:member1_p2) do - FactoryBot.create(:member, + create(:member, project: project_2, principal: user, roles: [role]) end let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, author: user, assigned_to: user, responsible: user2, @@ -89,7 +89,7 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ project: project_1) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, author: user, assigned_to: user, responsible: user2, @@ -99,7 +99,7 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ project: project_1) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, author: user, type: type, status: status, @@ -107,7 +107,7 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ project: project_2) end - let(:stub_work_package) { FactoryBot.build_stubbed(:work_package) } + let(:stub_work_package) { build_stubbed(:work_package) } before do custom_field_1 @@ -192,7 +192,7 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ describe '#update' do let(:work_package_ids) { [work_package_1.id, work_package_2.id] } let(:work_packages) { WorkPackage.where(id: work_package_ids) } - let(:priority) { FactoryBot.create(:priority_immediate) } + let(:priority) { create(:priority_immediate) } let(:group_id) { '' } let(:responsible_id) { '' } @@ -332,13 +332,13 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ describe '#properties' do describe '#groups' do - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } let(:group_id) { group.id } subject { work_packages.map(&:assigned_to_id).uniq } context 'allowed' do let!(:member_group_p1) do - FactoryBot.create(:member, + create(:member, project: project_1, principal: group, roles: [role]) @@ -376,9 +376,9 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ end describe '#status' do - let(:closed_status) { FactoryBot.create(:closed_status) } + let(:closed_status) { create(:closed_status) } let(:workflow) do - FactoryBot.create(:workflow, + create(:workflow, role: role, type_id: type.id, old_status: status, @@ -402,7 +402,7 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ describe '#parent' do let(:parent) do - FactoryBot.create(:work_package, + create(:work_package, author: user, project: project_1) end @@ -472,13 +472,13 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ describe '#version' do describe 'set version_id attribute to some version' do let(:version) do - FactoryBot.create(:version, + create(:version, status: 'open', sharing: 'tree', project: subproject) end let(:subproject) do - FactoryBot.create(:project, + create(:project, parent: project_1, types: [type]) end @@ -547,21 +547,21 @@ describe WorkPackages::BulkController, type: :controller, with_settings: { journ describe 'updating two children with dates to a new parent (Regression #28670)' do let(:task1) do - FactoryBot.create :work_package, + create :work_package, project: project_1, start_date: Date.today - 5.days, due_date: Date.today end let(:task2) do - FactoryBot.create :work_package, + create :work_package, project: project_1, start_date: Date.today - 2.days, due_date: Date.today + 1.days end let(:new_parent) do - FactoryBot.create :work_package, project: project_1 + create :work_package, project: project_1 end before do diff --git a/spec/controllers/work_packages/moves_controller_spec.rb b/spec/controllers/work_packages/moves_controller_spec.rb index 80dd46cfd7a..55549b26add 100644 --- a/spec/controllers/work_packages/moves_controller_spec.rb +++ b/spec/controllers/work_packages/moves_controller_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe WorkPackages::MovesController, type: :controller, with_settings: { journal_aggregation_time_minutes: 0 } do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:role) do - FactoryBot.create :role, + create :role, permissions: %i(move_work_packages view_work_packages add_work_packages @@ -39,26 +39,26 @@ describe WorkPackages::MovesController, type: :controller, with_settings: { jour assign_versions manage_subtasks) end - let(:type) { FactoryBot.create :type } - let(:type_2) { FactoryBot.create :type } - let!(:status) { FactoryBot.create :default_status } - let(:target_status) { FactoryBot.create :status } - let(:priority) { FactoryBot.create :priority } - let(:target_priority) { FactoryBot.create :priority } + let(:type) { create :type } + let(:type_2) { create :type } + let!(:status) { create :default_status } + let(:target_status) { create :status } + let(:priority) { create :priority } + let(:target_priority) { create :priority } let(:project) do - FactoryBot.create(:project, + create(:project, public: false, types: [type, type_2]) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, type: type, author: user, priority: priority) end - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do allow(User).to receive(:current).and_return current_user @@ -117,11 +117,11 @@ describe WorkPackages::MovesController, type: :controller, with_settings: { jour end describe '#create' do - let!(:source_member) { FactoryBot.create(:member, user: current_user, project: project, roles: [role]) } - let!(:target_member) { FactoryBot.create(:member, user: current_user, project: target_project, roles: [role]) } - let(:target_project) { FactoryBot.create(:project, public: false) } + let!(:source_member) { create(:member, user: current_user, project: project, roles: [role]) } + let!(:target_member) { create(:member, user: current_user, project: target_project, roles: [role]) } + let(:target_project) { create(:project, public: false) } let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, type: type_2, priority: priority) @@ -333,11 +333,11 @@ describe WorkPackages::MovesController, type: :controller, with_settings: { jour context "with changing the work package's attribute" do let(:start_date) { Date.today } let(:due_date) { Date.today + 1 } - let(:target_version) { FactoryBot.create(:version, project: target_project) } + let(:target_version) { create(:version, project: target_project) } let(:target_user) do - user = FactoryBot.create :user + user = create :user - FactoryBot.create(:member, + create(:member, user: user, project: target_project, roles: [role]) @@ -431,7 +431,7 @@ describe WorkPackages::MovesController, type: :controller, with_settings: { jour context 'parent and child work package' do let!(:child_wp) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project, parent: work_package) @@ -460,17 +460,17 @@ describe WorkPackages::MovesController, type: :controller, with_settings: { jour context 'child work package from one project to other' do let(:to_project) do - FactoryBot.create(:project, + create(:project, types: [type]) end let!(:member) do - FactoryBot.create(:member, + create(:member, user: current_user, roles: [role], project: to_project) end let!(:child_wp) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project, parent: work_package) diff --git a/spec/controllers/work_packages/reports_controller_spec.rb b/spec/controllers/work_packages/reports_controller_spec.rb index 2fa4ee5d5f7..3e65964b8fc 100644 --- a/spec/controllers/work_packages/reports_controller_spec.rb +++ b/spec/controllers/work_packages/reports_controller_spec.rb @@ -29,32 +29,32 @@ require 'spec_helper' describe WorkPackages::ReportsController, type: :controller do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:user) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: [:view_work_packages]) end let(:member) do - FactoryBot.create(:member, + create(:member, project: project, principal: user, roles: [role]) end let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, id: 21, subject: "Can't print recipes", project: project) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, id: 2101, subject: 'Error 281 when updating a recipe', project: project) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, id: 2102, project: project) end diff --git a/spec/controllers/work_packages_controller_spec.rb b/spec/controllers/work_packages_controller_spec.rb index b43f3fd6ac2..89bf2ede9ab 100644 --- a/spec/controllers/work_packages_controller_spec.rb +++ b/spec/controllers/work_packages_controller_spec.rb @@ -35,17 +35,17 @@ describe WorkPackagesController, type: :controller do login_as current_user end - let(:project) { FactoryBot.create(:project, identifier: 'test_project', public: false) } - let(:stub_project) { FactoryBot.build_stubbed(:project, identifier: 'test_project', public: false) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { create(:project, identifier: 'test_project', public: false) } + let(:stub_project) { build_stubbed(:project, identifier: 'test_project', public: false) } + let(:type) { build_stubbed(:type) } let(:stub_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, id: 1337, type: type, project: stub_project) end - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } def self.requires_permission_in_project(&block) describe 'w/o the permission to see the project/work_package' do @@ -121,7 +121,7 @@ describe WorkPackagesController, type: :controller do end describe 'index' do - let(:query) { FactoryBot.build_stubbed(:query).tap(&:add_default_filter) } + let(:query) { build_stubbed(:query).tap(&:add_default_filter) } let(:work_packages) { double('work packages').as_null_object } let(:results) { double('results').as_null_object } @@ -161,7 +161,7 @@ describe WorkPackagesController, type: :controller do end shared_examples_for 'export of mime_type' do - let(:export_storage) { FactoryBot.build_stubbed(:work_packages_export) } + let(:export_storage) { build_stubbed(:work_packages_export) } let(:call_action) { get('index', params: params.merge(format: mime_type)) } requires_export_permission do diff --git a/spec/controllers/workflows_controller_spec.rb b/spec/controllers/workflows_controller_spec.rb index eb70e24c5ee..8ce50384d89 100644 --- a/spec/controllers/workflows_controller_spec.rb +++ b/spec/controllers/workflows_controller_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe WorkflowsController, type: :controller do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } let!(:role) do - FactoryBot.build_stubbed(:role).tap do |r| + build_stubbed(:role).tap do |r| allow(Role) .to receive(:find) .with(r.id.to_s) @@ -41,7 +41,7 @@ describe WorkflowsController, type: :controller do end end let!(:type) do - FactoryBot.build_stubbed(:type) do |t| + build_stubbed(:type) do |t| allow(Type) .to receive(:find) .with(t.id.to_s) diff --git a/spec/decorators/single_spec.rb b/spec/decorators/single_spec.rb index ae5c25d53f6..a9cf77db518 100644 --- a/spec/decorators/single_spec.rb +++ b/spec/decorators/single_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' describe ::API::Decorators::Single do - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:project) { FactoryBot.create(:project_with_types) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:project) { create(:project_with_types) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:model) { Object.new } diff --git a/spec/factories/journal_factory.rb b/spec/factories/journal_factory.rb index 6dc02af89fe..b2ab54cf54d 100644 --- a/spec/factories/journal_factory.rb +++ b/spec/factories/journal_factory.rb @@ -35,29 +35,29 @@ FactoryBot.define do factory :work_package_journal, class: 'Journal' do journable_type { 'WorkPackage' } activity_type { 'work_packages' } - data { FactoryBot.build(:journal_work_package_journal) } + data { build(:journal_work_package_journal) } callback(:after_stub) do |journal, options| - journal.journable ||= options.journable || FactoryBot.build_stubbed(:work_package) + journal.journable ||= options.journable || build_stubbed(:work_package) end end factory :wiki_content_journal, class: 'Journal' do journable_type { 'WikiContent' } activity_type { 'wiki_edits' } - data { FactoryBot.build(:journal_wiki_content_journal) } + data { build(:journal_wiki_content_journal) } end factory :message_journal, class: 'Journal' do journable_type { 'Message' } activity_type { 'messages' } - data { FactoryBot.build(:journal_message_journal) } + data { build(:journal_message_journal) } end factory :news_journal, class: 'Journal' do journable_type { 'News' } activity_type { 'news' } - data { FactoryBot.build(:journal_message_journal) } + data { build(:journal_message_journal) } end end end diff --git a/spec/factories/member_factory.rb b/spec/factories/member_factory.rb index 8080ea7322f..23264f5bb41 100644 --- a/spec/factories/member_factory.rb +++ b/spec/factories/member_factory.rb @@ -28,11 +28,11 @@ # Create memberships like this: # -# project = FactoryBot.create(:project) -# user = FactoryBot.create(:user) -# role = FactoryBot.create(:role, permissions: [:view_wiki_pages, :edit_wiki_pages]) +# project = create(:project) +# user = create(:user) +# role = create(:role, permissions: [:view_wiki_pages, :edit_wiki_pages]) # -# member = FactoryBot.create(:member, user: user, project: project) +# member = create(:member, user: user, project: project) # member.role_ids = [role.id] # member.save! # @@ -47,11 +47,11 @@ FactoryBot.define do end callback(:after_build) do |member, options| - member.principal ||= options.user || FactoryBot.build(:user) + member.principal ||= options.user || build(:user) end callback(:after_stub) do |member, options| - member.principal ||= options.user || FactoryBot.build_stubbed(:user) + member.principal ||= options.user || build_stubbed(:user) end end diff --git a/spec/factories/menu_item_factory.rb b/spec/factories/menu_item_factory.rb index 7a0a311db12..e7cb92d3361 100644 --- a/spec/factories/menu_item_factory.rb +++ b/spec/factories/menu_item_factory.rb @@ -43,7 +43,7 @@ FactoryBot.define do factory :wiki_menu_item_with_parent do callback(:after_build) do |wiki_menu_item| - parent = FactoryBot.build(:wiki_menu_item, wiki: wiki_menu_item.wiki) + parent = build(:wiki_menu_item, wiki: wiki_menu_item.wiki) wiki_menu_item.wiki.wiki_menu_items << parent wiki_menu_item.parent = parent end diff --git a/spec/factories/principal_factory.rb b/spec/factories/principal_factory.rb index 02f4e5223d1..afa23f6947a 100644 --- a/spec/factories/principal_factory.rb +++ b/spec/factories/principal_factory.rb @@ -47,7 +47,7 @@ FactoryBot.define do is_build_strategy = evaluator.instance_eval { @build_strategy.is_a? FactoryBot::Strategy::Build } uses_member_association = evaluator.member_in_project || evaluator.member_in_projects if is_build_strategy && uses_member_association - raise ArgumentError, "Use FactoryBot.create(...) with principals and member_in_project(s) traits." + raise ArgumentError, "Use create(...) with principals and member_in_project(s) traits." end end @@ -55,12 +55,12 @@ FactoryBot.define do (projects = evaluator.member_in_projects || []) projects << evaluator.member_in_project if evaluator.member_in_project if projects.any? - role = evaluator.member_through_role || FactoryBot.build(:role, + role = evaluator.member_through_role || build(:role, permissions: evaluator.member_with_permissions || %i[ view_work_packages edit_work_packages ]) projects.compact.each do |project| - FactoryBot.create(:member, + create(:member, project: project, principal: principal, roles: Array(role)) @@ -71,9 +71,9 @@ FactoryBot.define do callback(:after_create) do |principal, evaluator| if evaluator.global_permission || evaluator.global_role permissions = Array(evaluator.global_permission) - global_role = evaluator.global_role || FactoryBot.create(:global_role, permissions: permissions) + global_role = evaluator.global_role || create(:global_role, permissions: permissions) - FactoryBot.create(:global_member, + create(:global_member, principal: principal, roles: [global_role]) diff --git a/spec/factories/project_factory.rb b/spec/factories/project_factory.rb index c245c7025fd..7ca95976921 100644 --- a/spec/factories/project_factory.rb +++ b/spec/factories/project_factory.rb @@ -49,7 +49,7 @@ FactoryBot.define do project.enabled_module_names = project.enabled_module_names - disabled_modules if !evaluator.no_types && project.types.empty? - project.types << (::Type.where(is_standard: true).first || FactoryBot.build(:type_standard)) + project.types << (::Type.where(is_standard: true).first || build(:type_standard)) end end @@ -77,9 +77,9 @@ FactoryBot.define do # when we will be setting the type later on anyway initialize_with do types = if instance_variable_get(:@build_strategy).is_a?(FactoryBot::Strategy::Stub) - [FactoryBot.build_stubbed(:type)] + [build_stubbed(:type)] else - [FactoryBot.build(:type)] + [build(:type)] end new(types: types) @@ -87,7 +87,7 @@ FactoryBot.define do factory :valid_project do callback(:after_build) do |project| - project.types << FactoryBot.build(:type_with_workflow) + project.types << build(:type_with_workflow) end end end diff --git a/spec/factories/query_factory.rb b/spec/factories/query_factory.rb index 7b579f13cc8..72815ef8760 100644 --- a/spec/factories/query_factory.rb +++ b/spec/factories/query_factory.rb @@ -52,7 +52,7 @@ FactoryBot.define do sequence(:name) { |n| "Work packages query #{n}" } callback(:after_create) do |query| - FactoryBot.create(:view_work_packages_table, query: query) + create(:view_work_packages_table, query: query) end end @@ -60,7 +60,7 @@ FactoryBot.define do sequence(:name) { |n| "Team planner query #{n}" } callback(:after_create) do |query| - FactoryBot.create(:view_team_planner, query: query) + create(:view_team_planner, query: query) end end @@ -68,7 +68,7 @@ FactoryBot.define do sequence(:name) { |n| "Calendar query #{n}" } callback(:after_create) do |query| - FactoryBot.create(:view_work_packages_calendar, query: query) + create(:view_work_packages_calendar, query: query) end end diff --git a/spec/factories/relation_factory.rb b/spec/factories/relation_factory.rb index 8435058f35c..a8690d2f797 100644 --- a/spec/factories/relation_factory.rb +++ b/spec/factories/relation_factory.rb @@ -29,7 +29,7 @@ FactoryBot.define do factory :relation do from factory: :work_package - to { FactoryBot.build(:work_package, project: from.project) } + to { build(:work_package, project: from.project) } relation_type { 'relates' } # "relates", "duplicates", "duplicated", "blocks", "blocked", "precedes", "follows" delay { nil } description { nil } diff --git a/spec/factories/type_factory.rb b/spec/factories/type_factory.rb index 5aa503e5b25..70a22f5fdd9 100644 --- a/spec/factories/type_factory.rb +++ b/spec/factories/type_factory.rb @@ -36,7 +36,7 @@ FactoryBot.define do factory :type_with_workflow, class: 'Type' do callback(:after_build) do |t| - t.workflows = [FactoryBot.build(:workflow_with_default_status)] + t.workflows = [build(:workflow_with_default_status)] end end @@ -46,7 +46,7 @@ FactoryBot.define do end callback(:after_build) do |t, evaluator| - query = FactoryBot.create(:query) + query = create(:query) query.add_filter(evaluator.relation_filter.to_s, '=', [::Queries::Filters::TemplatedValue::KEY]) query.save t.attribute_groups = t.default_attribute_groups + [["Embedded table for #{evaluator.relation_filter}", diff --git a/spec/factories/user_factory.rb b/spec/factories/user_factory.rb index 80b88feed17..9a0e892fdea 100644 --- a/spec/factories/user_factory.rb +++ b/spec/factories/user_factory.rb @@ -60,19 +60,19 @@ FactoryBot.define do if user.notification_settings.empty? all_true = NotificationSetting.all_settings.index_with(true) user.notification_settings = [ - FactoryBot.create(:notification_setting, user: user, **all_true) + create(:notification_setting, user: user, **all_true) ] end if factory.global_permissions.present? - global_role = FactoryBot.create :global_role, permissions: factory.global_permissions - FactoryBot.create :global_member, principal: user, roles: [global_role] + global_role = create :global_role, permissions: factory.global_permissions + create :global_member, principal: user, roles: [global_role] end end callback(:after_stub) do |user, evaluator| if evaluator.preferences.present? - user.preference = FactoryBot.build_stubbed(:user_preference, user: user, settings: evaluator.preferences) + user.preference = build_stubbed(:user_preference, user: user, settings: evaluator.preferences) end end diff --git a/spec/factories/work_package_factory.rb b/spec/factories/work_package_factory.rb index 02441245fd3..8fbce6b5a9f 100644 --- a/spec/factories/work_package_factory.rb +++ b/spec/factories/work_package_factory.rb @@ -62,7 +62,7 @@ FactoryBot.define do end priority - project { FactoryBot.build_stubbed(:project_with_types) } + project { build_stubbed(:project_with_types) } status sequence(:subject) { |n| "WorkPackage No. #{n}" } description { |i| "Description for '#{i.subject}'" } diff --git a/spec/features/accessibility/work_packages/work_package_query_spec.rb b/spec/features/accessibility/work_packages/work_package_query_spec.rb index b62bba6f5e9..de7389543cf 100644 --- a/spec/features/accessibility/work_packages/work_package_query_spec.rb +++ b/spec/features/accessibility/work_packages/work_package_query_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Work package index accessibility', type: :feature, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:work_packages_page) { WorkPackagesPage.new(project) } let(:sort_ascending_selector) { '.icon-sort-ascending' } let(:sort_descending_selector) { '.icon-sort-descending' } @@ -155,7 +155,7 @@ describe 'Work package index accessibility', type: :feature, selenium: true do describe 'hotkeys', js: true do let!(:another_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end before do diff --git a/spec/features/activities/disabled_activity_spec.rb b/spec/features/activities/disabled_activity_spec.rb index 3a56805074a..88e757f9149 100644 --- a/spec/features/activities/disabled_activity_spec.rb +++ b/spec/features/activities/disabled_activity_spec.rb @@ -29,35 +29,35 @@ require 'spec_helper' describe 'Disabled activity', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:project1) do - FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking wiki]) + create(:project, enabled_module_names: %i[work_package_tracking wiki]) end let(:project2) do - FactoryBot.create(:project, enabled_module_names: %i[work_package_tracking activity wiki]) + create(:project, enabled_module_names: %i[work_package_tracking activity wiki]) end let(:project3) do - FactoryBot.create(:project, enabled_module_names: %i[activity]) + create(:project, enabled_module_names: %i[activity]) end - let!(:work_package1) { FactoryBot.create(:work_package, project: project1) } - let!(:work_package2) { FactoryBot.create(:work_package, project: project2) } - let!(:work_package3) { FactoryBot.create(:work_package, project: project3) } + let!(:work_package1) { create(:work_package, project: project1) } + let!(:work_package2) { create(:work_package, project: project2) } + let!(:work_package3) { create(:work_package, project: project3) } let!(:wiki_page1) do - FactoryBot.create(:wiki_page, wiki: project1.wiki) do |page| - FactoryBot.create(:wiki_content, page: page) + create(:wiki_page, wiki: project1.wiki) do |page| + create(:wiki_content, page: page) end end let!(:wiki_page2) do - FactoryBot.create(:wiki_page, wiki: project2.wiki) do |page| - FactoryBot.create(:wiki_content, page: page) + create(:wiki_page, wiki: project2.wiki) do |page| + create(:wiki_content, page: page) end end let!(:wiki_page3) do - wiki = FactoryBot.create(:wiki, project: project3) + wiki = create(:wiki, project: project3) - FactoryBot.create(:wiki_page, wiki: wiki) do |page| - FactoryBot.create(:wiki_content, page: page) + create(:wiki_page, wiki: wiki) do |page| + create(:wiki_content, page: page) end end diff --git a/spec/features/activities/wiki_activity_spec.rb b/spec/features/activities/wiki_activity_spec.rb index f4e7dd1d38f..b290a6e2df0 100644 --- a/spec/features/activities/wiki_activity_spec.rb +++ b/spec/features/activities/wiki_activity_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' feature 'Wiki activities' do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %w[view_wiki_pages edit_wiki_pages view_wiki_edits] end - let(:project) { FactoryBot.create :project, enabled_module_names: %w[wiki activity] } + let(:project) { create :project, enabled_module_names: %w[wiki activity] } let(:wiki) { project.wiki } let(:editor) { Components::WysiwygEditor.new } diff --git a/spec/features/admin/attribute_help_texts_spec.rb b/spec/features/admin/attribute_help_texts_spec.rb index d3153a414d1..3bf7b2f9b2b 100644 --- a/spec/features/admin/attribute_help_texts_spec.rb +++ b/spec/features/admin/attribute_help_texts_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Attribute help texts', js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:instance) { AttributeHelpText.last } let(:modal) { Components::AttributeHelpTextModal.new(instance) } diff --git a/spec/features/admin/backup_spec.rb b/spec/features/admin/backup_spec.rb index 8eb2bcab13f..5a7b780d12f 100644 --- a/spec/features/admin/backup_spec.rb +++ b/spec/features/admin/backup_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'backup', type: :feature, js: true do - let(:current_user) { FactoryBot.create :admin, password: user_password, password_confirmation: user_password } - let!(:backup_token) { FactoryBot.create :backup_token, user: current_user } + let(:current_user) { create :admin, password: user_password, password_confirmation: user_password } + let!(:backup_token) { create :backup_token, user: current_user } let(:user_password) { "adminadmin!" } before do diff --git a/spec/features/admin/custom_fields/list_custom_field_spec.rb b/spec/features/admin/custom_fields/list_custom_field_spec.rb index 07e630898a3..c1b0f0a4a9d 100644 --- a/spec/features/admin/custom_fields/list_custom_field_spec.rb +++ b/spec/features/admin/custom_fields/list_custom_field_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'List custom fields edit', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/admin/custom_fields/multi_value_custom_fields_spec.rb b/spec/features/admin/custom_fields/multi_value_custom_fields_spec.rb index 3b57a4be166..f8b046400b5 100644 --- a/spec/features/admin/custom_fields/multi_value_custom_fields_spec.rb +++ b/spec/features/admin/custom_fields/multi_value_custom_fields_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Multi-value custom fields creation', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/admin/enterprise/enterprise_spec.rb b/spec/features/admin/enterprise/enterprise_spec.rb index 590d10242e1..a6f2c037fdd 100644 --- a/spec/features/admin/enterprise/enterprise_spec.rb +++ b/spec/features/admin/enterprise/enterprise_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe 'Enterprise token', type: :feature, js: true do include Redmine::I18n - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:token_object) do token = OpenProject::Token.new token.subscriber = 'Foobar' diff --git a/spec/features/admin/enterprise/enterprise_trial_spec.rb b/spec/features/admin/enterprise/enterprise_trial_spec.rb index df6c192d888..21b0ad9416b 100644 --- a/spec/features/admin/enterprise/enterprise_trial_spec.rb +++ b/spec/features/admin/enterprise/enterprise_trial_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe 'Enterprise trial management', type: :feature, driver: :chrome_billy do - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } let(:trial_id) { '1b6486b4-5a30-4042-8714-99d7c8e6b637' } let(:created_body) do diff --git a/spec/features/admin/enterprise/token_domain_spec.rb b/spec/features/admin/enterprise/token_domain_spec.rb index 8e27cf60c92..49403e44033 100644 --- a/spec/features/admin/enterprise/token_domain_spec.rb +++ b/spec/features/admin/enterprise/token_domain_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Enterprise Edition token domain', type: :feature, js: true do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let(:ee_token) { File.read(Rails.root.join("spec/fixtures/ee_tokens/v2_1_user_localhost_3001.token")) } before do diff --git a/spec/features/admin/enumerations_spec.rb b/spec/features/admin/enumerations_spec.rb index f62db661c93..7a708b87c11 100644 --- a/spec/features/admin/enumerations_spec.rb +++ b/spec/features/admin/enumerations_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Enumerations', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/admin/menu_item_traversal_spec.rb b/spec/features/admin/menu_item_traversal_spec.rb index bb442bb194a..f51c4d1806e 100644 --- a/spec/features/admin/menu_item_traversal_spec.rb +++ b/spec/features/admin/menu_item_traversal_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Menu item traversal', type: :feature do - shared_let(:admin) { FactoryBot.create(:admin) } + shared_let(:admin) { create(:admin) } describe 'EnterpriseToken management' do before do @@ -50,7 +50,7 @@ describe 'Menu item traversal', type: :feature do end describe 'route authorization', with_settings: { login_required?: false } do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:anon) { User.anonymous } let(:check_link) do diff --git a/spec/features/admin/oauth/oauth_applications_management_spec.rb b/spec/features/admin/oauth/oauth_applications_management_spec.rb index 84699c7829c..325cef63867 100644 --- a/spec/features/admin/oauth/oauth_applications_management_spec.rb +++ b/spec/features/admin/oauth/oauth_applications_management_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'OAuth applications management', type: :feature, js: true do - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } before do login_as(admin) diff --git a/spec/features/admin/settings_spec.rb b/spec/features/admin/settings_spec.rb index 88db998ee8a..24871c4071e 100644 --- a/spec/features/admin/settings_spec.rb +++ b/spec/features/admin/settings_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Settings', type: :feature do - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } describe 'subsection' do before do diff --git a/spec/features/admin/test_mail_notification_spec.rb b/spec/features/admin/test_mail_notification_spec.rb index ea58ab06dbe..73e9e222845 100644 --- a/spec/features/admin/test_mail_notification_spec.rb +++ b/spec/features/admin/test_mail_notification_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Test mail notification', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/attachments/attachments_spec.rb b/spec/features/attachments/attachments_spec.rb index 9e41b585cdc..83eb63efbb2 100644 --- a/spec/features/attachments/attachments_spec.rb +++ b/spec/features/attachments/attachments_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' describe 'attachments', type: :feature do - let(:project) { FactoryBot.create :valid_project } - let(:current_user) { FactoryBot.create :admin } - let!(:priority) { FactoryBot.create :default_priority } + let(:project) { create :valid_project } + let(:current_user) { create :admin } + let!(:priority) { create :default_priority } before do allow(User).to receive(:current).and_return current_user end describe 'upload', js: true do - let(:file) { FactoryBot.create :file, name: 'textfile.txt' } + let(:file) { create :file, name: 'textfile.txt' } # FIXME rework this spec after implementing fullscreen create view xit 'uploading a short text file and viewing it inline' do diff --git a/spec/features/auth/auth_source_sso_login_spec.rb b/spec/features/auth/auth_source_sso_login_spec.rb index 365e8c453f2..f8c5724c1b5 100644 --- a/spec/features/auth/auth_source_sso_login_spec.rb +++ b/spec/features/auth/auth_source_sso_login_spec.rb @@ -46,7 +46,7 @@ describe 'Login with auth source SSO', type: :feature, clear_cache: true do let(:user_password) { 'bob' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, login: 'bob', password: user_password, password_confirmation: user_password) diff --git a/spec/features/auth/auth_stages_spec.rb b/spec/features/auth/auth_stages_spec.rb index 012dc4f9595..0dfd792d736 100644 --- a/spec/features/auth/auth_stages_spec.rb +++ b/spec/features/auth/auth_stages_spec.rb @@ -47,7 +47,7 @@ describe 'Authentication Stages', type: :feature do let(:user_password) { 'bob' * 4 } let(:user) do - FactoryBot.create( + create( :user, force_password_change: false, first_login: false, diff --git a/spec/features/auth/consent_auth_stage_spec.rb b/spec/features/auth/consent_auth_stage_spec.rb index 78b7bb90263..a279edbe8fc 100644 --- a/spec/features/auth/consent_auth_stage_spec.rb +++ b/spec/features/auth/consent_auth_stage_spec.rb @@ -32,7 +32,7 @@ describe 'Authentication Stages', type: :feature do let(:language) { 'en' } let(:user_password) { 'bob' * 4 } let(:user) do - FactoryBot.create( + create( :user, admin: true, force_password_change: false, diff --git a/spec/features/auth/login_spec.rb b/spec/features/auth/login_spec.rb index 4e9d791b682..82c65cc15d4 100644 --- a/spec/features/auth/login_spec.rb +++ b/spec/features/auth/login_spec.rb @@ -54,7 +54,7 @@ describe 'Login', type: :feature, clear_cache: true do let(:force_password_change) { false } let(:first_login) { false } let(:user) do - FactoryBot.create(:user, + create(:user, force_password_change: force_password_change, first_login: first_login, login: 'bob', diff --git a/spec/features/auth/logout_spec.rb b/spec/features/auth/logout_spec.rb index d192077af92..248a1fd34cc 100644 --- a/spec/features/auth/logout_spec.rb +++ b/spec/features/auth/logout_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe 'Logout', type: :feature, js: true do let(:user_password) { 'b0B' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, password: user_password, password_confirmation: user_password) end diff --git a/spec/features/auth/lost_password_spec.rb b/spec/features/auth/lost_password_spec.rb index 076e7dbab5b..a0c58fe8dd9 100644 --- a/spec/features/auth/lost_password_spec.rb +++ b/spec/features/auth/lost_password_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Lost password', type: :feature do - let!(:user) { FactoryBot.create :user } + let!(:user) { create :user } let(:new_password) { "new_PassW0rd!" } it 'allows logging in after having lost the password' do diff --git a/spec/features/auth/omniauth_spec.rb b/spec/features/auth/omniauth_spec.rb index 8ef2995dc47..aaad5b5e7c9 100644 --- a/spec/features/auth/omniauth_spec.rb +++ b/spec/features/auth/omniauth_spec.rb @@ -44,7 +44,7 @@ describe 'Omniauth authentication', type: :feature do end let(:user) do - FactoryBot.create(:user, + create(:user, force_password_change: false, identity_url: 'developer:omnibob@example.com', login: 'omnibob', diff --git a/spec/features/categories/delete_spec.rb b/spec/features/categories/delete_spec.rb index 11b26e5cc00..40007024bf9 100644 --- a/spec/features/categories/delete_spec.rb +++ b/spec/features/categories/delete_spec.rb @@ -31,11 +31,11 @@ require 'features/categories/categories_page' describe 'Deletion', type: :feature do let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: category.project, member_with_permissions: %i[manage_categories] end - let(:category) { FactoryBot.create :category } + let(:category) { create :category } let(:categories_page) { CategoriesPage.new(category.project) } let(:delete_button) { 'a.icon-delete' } let(:confirm_deletion_button) { 'input[type="submit"]' } @@ -66,7 +66,7 @@ describe 'Deletion', type: :feature do describe 'with work package' do let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: category.project, category: category end diff --git a/spec/features/colors/color_administration_spec.rb b/spec/features/colors/color_administration_spec.rb index 5bb77e92fc4..2567982d5e9 100644 --- a/spec/features/colors/color_administration_spec.rb +++ b/spec/features/colors/color_administration_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'color administration', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/custom_fields/activate_in_project_spec.rb b/spec/features/custom_fields/activate_in_project_spec.rb index 00ff57c0c68..bba7f268da5 100644 --- a/spec/features/custom_fields/activate_in_project_spec.rb +++ b/spec/features/custom_fields/activate_in_project_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } - let(:for_all_cf) { FactoryBot.create :list_wp_custom_field, is_for_all: true } - let(:project_specific_cf) { FactoryBot.create :int_wp_custom_field } + let(:for_all_cf) { create :list_wp_custom_field, is_for_all: true } + let(:project_specific_cf) { create :int_wp_custom_field } let(:work_package) do - wp = FactoryBot.build(:work_package).tap do |wp| + wp = build(:work_package).tap do |wp| wp.type.custom_fields = [for_all_cf, project_specific_cf] end wp.save! diff --git a/spec/features/custom_fields/create_bool_spec.rb b/spec/features/custom_fields/create_bool_spec.rb index 87402dd631b..e3a47663eae 100644 --- a/spec/features/custom_fields/create_bool_spec.rb +++ b/spec/features/custom_fields/create_bool_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } before do diff --git a/spec/features/custom_fields/create_date_spec.rb b/spec/features/custom_fields/create_date_spec.rb index da1b1453c3d..396078e1018 100644 --- a/spec/features/custom_fields/create_date_spec.rb +++ b/spec/features/custom_fields/create_date_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } before do diff --git a/spec/features/custom_fields/create_float_spec.rb b/spec/features/custom_fields/create_float_spec.rb index 630bc73c32e..16f2f9991dd 100644 --- a/spec/features/custom_fields/create_float_spec.rb +++ b/spec/features/custom_fields/create_float_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } before do diff --git a/spec/features/custom_fields/create_int_spec.rb b/spec/features/custom_fields/create_int_spec.rb index 90996143fad..08301c632f2 100644 --- a/spec/features/custom_fields/create_int_spec.rb +++ b/spec/features/custom_fields/create_int_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } before do diff --git a/spec/features/custom_fields/create_long_text_spec.rb b/spec/features/custom_fields/create_long_text_spec.rb index 13feb5359e9..816e004e693 100644 --- a/spec/features/custom_fields/create_long_text_spec.rb +++ b/spec/features/custom_fields/create_long_text_spec.rb @@ -2,11 +2,11 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } let(:editor) { ::Components::WysiwygEditor.new '#default_value_long_text' } - let(:type) { FactoryBot.create :type_task } - let(:project) { FactoryBot.create :project, enabled_module_names: %i[work_package_tracking], types: [type] } + let(:type) { create :type_task } + let(:project) { create :project, enabled_module_names: %i[work_package_tracking], types: [type] } let(:wp_page) { Pages::FullWorkPackageCreate.new project: project } diff --git a/spec/features/custom_fields/custom_fields_spec.rb b/spec/features/custom_fields/custom_fields_spec.rb index bda353258ef..cabd25552d7 100644 --- a/spec/features/custom_fields/custom_fields_spec.rb +++ b/spec/features/custom_fields/custom_fields_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'custom fields', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } before do @@ -69,7 +69,7 @@ describe 'custom fields', js: true do context "with an existing list custom field" do let!(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Platform", possible_values: ["Playstation", "Xbox", "Nintendo", "PC"] @@ -149,7 +149,7 @@ describe 'custom fields', js: true do context "with work packages using the options" do before do - FactoryBot.create_list( + create_list( :work_package_custom_value, 3, custom_field: custom_field, diff --git a/spec/features/custom_fields/multi_user_custom_field_spec.rb b/spec/features/custom_fields/multi_user_custom_field_spec.rb index efb87851520..c13b15d894b 100644 --- a/spec/features/custom_fields/multi_user_custom_field_spec.rb +++ b/spec/features/custom_fields/multi_user_custom_field_spec.rb @@ -2,15 +2,15 @@ require "spec_helper" require "support/pages/work_packages/abstract_work_package" describe "multi select custom values", js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } - shared_let(:type) { FactoryBot.create :type } - shared_let(:project) { FactoryBot.create :project, types: [type] } - shared_let(:role) { FactoryBot.create :role } + shared_let(:type) { create :type } + shared_let(:project) { create :project, types: [type] } + shared_let(:role) { create :role } shared_let(:custom_field) do - FactoryBot.create( + create( :user_wp_custom_field, name: "Reviewer", multi_value: true, @@ -34,10 +34,10 @@ describe "multi select custom values", js: true do end describe 'with mixed users, group, and placeholdders' do - let(:work_package) { FactoryBot.create :work_package, project: project, type: type } + let(:work_package) { create :work_package, project: project, type: type } let!(:user) do - FactoryBot.create :user, + create :user, firstname: 'Da Real', lastname: 'User', member_in_project: project, @@ -45,14 +45,14 @@ describe "multi select custom values", js: true do end let!(:group) do - FactoryBot.create :group, + create :group, name: 'groupfoo', member_in_project: project, member_through_role: role end let!(:placeholder) do - FactoryBot.create :placeholder_user, + create :placeholder_user, name: 'PLACEHOLDER', member_in_project: project, member_through_role: role @@ -103,7 +103,7 @@ describe "multi select custom values", js: true do describe 'with all users' do let!(:user1) do - FactoryBot.create :user, + create :user, firstname: 'Billy', lastname: 'Nobbler', member_in_project: project, @@ -111,7 +111,7 @@ describe "multi select custom values", js: true do end let!(:user2) do - FactoryBot.create :user, + create :user, firstname: 'Cooper', lastname: 'Quatermaine', member_in_project: project, @@ -119,7 +119,7 @@ describe "multi select custom values", js: true do end let!(:user3) do - FactoryBot.create :user, + create :user, firstname: 'Anton', lastname: 'Lupin', status: User.statuses[:invited], @@ -129,7 +129,7 @@ describe "multi select custom values", js: true do context "with existing custom values" do let(:work_package) do - wp = FactoryBot.build :work_package, project: project, type: type + wp = build :work_package, project: project, type: type wp.custom_field_values = { custom_field.id => [user1.id.to_s, user3.id.to_s] diff --git a/spec/features/custom_fields/multi_value_custom_field_spec.rb b/spec/features/custom_fields/multi_value_custom_field_spec.rb index fbdf8dcfb23..c6c149c36bc 100644 --- a/spec/features/custom_fields/multi_value_custom_field_spec.rb +++ b/spec/features/custom_fields/multi_value_custom_field_spec.rb @@ -2,12 +2,12 @@ require "spec_helper" require "support/pages/work_packages/abstract_work_package" describe "multi select custom values", clear_cache: true, js: true do - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type } + let(:project) { create :project, types: [type] } let(:multi_value) { true } let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: multi_value, @@ -34,13 +34,13 @@ describe "multi select custom values", clear_cache: true, js: true do let(:group_by) { ::Components::WorkPackages::GroupBy.new } let(:sort_by) { ::Components::WorkPackages::SortBy.new } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_frontend) { "customField#{custom_field.id}" } context "with existing custom values" do let(:work_package_options) { %w[ham pineapple onions] } let(:work_package) do - wp = FactoryBot.build :work_package, project: project, type: type, subject: 'First' + wp = build :work_package, project: project, type: type, subject: 'First' wp.custom_field_values = { custom_field.id => work_package_options.map { |s| custom_value_for(s) } @@ -52,7 +52,7 @@ describe "multi select custom values", clear_cache: true, js: true do let(:work_package2_options) { %w[ham] } let(:work_package2) do - wp = FactoryBot.build :work_package, project: project, type: type, subject: 'Second' + wp = build :work_package, project: project, type: type, subject: 'Second' wp.custom_field_values = { custom_field.id => work_package2_options.map { |s| custom_value_for(s) } @@ -191,7 +191,7 @@ describe "multi select custom values", clear_cache: true, js: true do let(:wp1_field) { table_edit_field(work_package) } let(:wp2_field) { table_edit_field(work_package2) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'type', 'subject', "cf_#{custom_field.id}"] query.filters.clear query.timeline_visible = false diff --git a/spec/features/custom_fields/reorder_options_spec.rb b/spec/features/custom_fields/reorder_options_spec.rb index 73b7df990b5..3329c29648c 100644 --- a/spec/features/custom_fields/reorder_options_spec.rb +++ b/spec/features/custom_fields/reorder_options_spec.rb @@ -2,11 +2,11 @@ require 'spec_helper' require 'support/pages/custom_fields' describe 'Reordering custom options of a list custom field', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:cf_page) { Pages::CustomFields.new } let!(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Platform", possible_values: %w[Playstation Xbox Nintendo PC Switch Mobile Dreamcast] diff --git a/spec/features/forums/attachment_upload_spec.rb b/spec/features/forums/attachment_upload_spec.rb index 9b7d41241e6..72a744e017f 100644 --- a/spec/features/forums/attachment_upload_spec.rb +++ b/spec/features/forums/attachment_upload_spec.rb @@ -32,9 +32,9 @@ require 'spec_helper' require 'features/page_objects/notification' describe 'Upload attachment to forum message', js: true do - let(:forum) { FactoryBot.create(:forum) } + let(:forum) { create(:forum) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_messages add_messages diff --git a/spec/features/forums/message_spec.rb b/spec/features/forums/message_spec.rb index 5aa4c6d696c..774390fbe08 100644 --- a/spec/features/forums/message_spec.rb +++ b/spec/features/forums/message_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe 'messages', type: :feature, js: true do let(:forum) do - FactoryBot.create(:forum) + create(:forum) end let(:notification_settings_all_false) do @@ -40,24 +40,24 @@ describe 'messages', type: :feature, js: true do end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: forum.project, member_through_role: role, notification_settings: [ - FactoryBot.build(:notification_setting, **notification_settings_all_false, watched: true) + build(:notification_setting, **notification_settings_all_false, watched: true) ] end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: forum.project, member_through_role: role, notification_settings: [ - FactoryBot.build(:notification_setting, **notification_settings_all_false, watched: true) + build(:notification_setting, **notification_settings_all_false, watched: true) ]).tap do |u| forum.watcher_users << u end end - let(:role) { FactoryBot.create(:role, permissions: [:add_messages]) } + let(:role) { create(:role, permissions: [:add_messages]) } let(:index_page) { Pages::Messages::Index.new(forum.project) } diff --git a/spec/features/forums/sticky_spec.rb b/spec/features/forums/sticky_spec.rb index 98c87223545..6662a627854 100644 --- a/spec/features/forums/sticky_spec.rb +++ b/spec/features/forums/sticky_spec.rb @@ -29,30 +29,30 @@ require 'spec_helper' describe 'sticky messages', type: :feature do - let(:forum) { FactoryBot.create(:forum) } + let(:forum) { create(:forum) } let!(:message1) do - FactoryBot.create :message, forum: forum, created_at: Time.now - 1.minute do |message| + create :message, forum: forum, created_at: Time.now - 1.minute do |message| Message.where(id: message.id).update_all(updated_at: Time.now - 1.minute) end end let!(:message2) do - FactoryBot.create :message, forum: forum, created_at: Time.now - 2.minute do |message| + create :message, forum: forum, created_at: Time.now - 2.minute do |message| Message.where(id: message.id).update_all(updated_at: Time.now - 2.minute) end end let!(:message3) do - FactoryBot.create :message, forum: forum, created_at: Time.now - 3.minute do |message| + create :message, forum: forum, created_at: Time.now - 3.minute do |message| Message.where(id: message.id).update_all(updated_at: Time.now - 3.minute) end end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: forum.project, member_through_role: role end - let(:role) { FactoryBot.create(:role, permissions: [:edit_messages]) } + let(:role) { create(:role, permissions: [:edit_messages]) } before do login_as user diff --git a/spec/features/global_roles/global_create_project_spec.rb b/spec/features/global_roles/global_create_project_spec.rb index 1f88764333b..1220cc3f2d2 100644 --- a/spec/features/global_roles/global_create_project_spec.rb +++ b/spec/features/global_roles/global_create_project_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Global role: Global Create project', type: :feature, js: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create :project } + let(:user) { create(:admin) } + let(:project) { create :project } before do login_as(user) @@ -38,7 +38,7 @@ describe 'Global role: Global Create project', type: :feature, js: true do describe 'Create Project is not a member permission' do # Given there is a role "Member" - let!(:role) { FactoryBot.create(:role, name: 'Member') } + let!(:role) { create(:role, name: 'Member') } # And I am already admin # When I go to the edit page of the role "Member" @@ -52,7 +52,7 @@ describe 'Global role: Global Create project', type: :feature, js: true do describe 'Create Project is a global permission' do # Given there is a global role "Global" - let!(:role) { FactoryBot.create(:global_role, name: 'Global') } + let!(:role) { create(:global_role, name: 'Global') } # And I am already admin # When I go to the edit page of the role "Global" # Then I should see "Create project" @@ -64,12 +64,12 @@ describe 'Global role: Global Create project', type: :feature, js: true do end describe 'Create Project displayed to user' do - let!(:global_role) { FactoryBot.create(:global_role, name: 'Global', permissions: %i[add_project]) } - let!(:member_role) { FactoryBot.create(:role, name: 'Member', permissions: %i[view_project]) } + let!(:global_role) { create(:global_role, name: 'Global', permissions: %i[add_project]) } + let!(:member_role) { create(:role, name: 'Member', permissions: %i[view_project]) } - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let!(:global_member) do - FactoryBot.create(:global_member, + create(:global_member, principal: user, roles: [global_role]) end @@ -97,7 +97,7 @@ describe 'Global role: Global Create project', type: :feature, js: true do # | Firstname | Bob | # | Lastname | Bobbit | # When I am already logged in as "bob" - let(:user) { FactoryBot.create :user } + let(:user) { create :user } it 'does show the global permission' do # And I go to the overall projects page visit projects_path diff --git a/spec/features/global_roles/global_role_assignment_spec.rb b/spec/features/global_roles/global_role_assignment_spec.rb index 963420a21cb..79506827290 100644 --- a/spec/features/global_roles/global_role_assignment_spec.rb +++ b/spec/features/global_roles/global_role_assignment_spec.rb @@ -38,17 +38,17 @@ describe 'Global role: Global role assignment', type: :feature, js: true do before do mock_global_permissions [['global1', { project_module: :global }], ['global2', { project_module: :global }]] end - let!(:global_role1) { FactoryBot.create :global_role, name: 'global_role1', permissions: %i[global1] } - let!(:global_role2) { FactoryBot.create :global_role, name: 'global_role2', permissions: %i[global2] } + let!(:global_role1) { create :global_role, name: 'global_role1', permissions: %i[global1] } + let!(:global_role2) { create :global_role, name: 'global_role2', permissions: %i[global2] } - let!(:user) { FactoryBot.create :user } + let!(:user) { create :user } let!(:global_member) do - FactoryBot.create(:global_member, + create(:global_member, principal: user, roles: [global_role1]) end - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } it 'allows global roles management' do visit edit_user_path user diff --git a/spec/features/global_roles/global_role_crud_spec.rb b/spec/features/global_roles/global_role_crud_spec.rb index f191d50b0a6..671fc85cc17 100644 --- a/spec/features/global_roles/global_role_crud_spec.rb +++ b/spec/features/global_roles/global_role_crud_spec.rb @@ -38,7 +38,7 @@ describe 'Global role: Global role CRUD', type: :feature, js: true do end # And I am already admin - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } it 'can create global role with that perm' do # When I go to the new page of "Role" diff --git a/spec/features/global_roles/member_roles_spec.rb b/spec/features/global_roles/member_roles_spec.rb index 98ab3942d49..795a600661c 100644 --- a/spec/features/global_roles/member_roles_spec.rb +++ b/spec/features/global_roles/member_roles_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Global role: Unchanged Member Roles', type: :feature, js: true do - let(:admin) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create :project } - let!(:role) { FactoryBot.create(:role, name: 'MemberRole1') } - let!(:global_role) { FactoryBot.create(:global_role, name: 'GlobalRole1') } + let(:admin) { create(:admin) } + let(:project) { create :project } + let!(:role) { create(:role, name: 'MemberRole1') } + let!(:global_role) { create(:global_role, name: 'GlobalRole1') } let(:members) { ::Pages::Members.new project.identifier } diff --git a/spec/features/global_roles/no_module_spec.rb b/spec/features/global_roles/no_module_spec.rb index 81458778ea4..37243e9afb6 100644 --- a/spec/features/global_roles/no_module_spec.rb +++ b/spec/features/global_roles/no_module_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' require_relative './mock_global_permissions' describe 'Global role: No module', type: :feature, js: true do - let(:admin) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create :project } - let!(:role) { FactoryBot.create(:role) } + let(:admin) { create(:admin) } + let(:project) { create :project } + let!(:role) { create(:role) } before do login_as(admin) diff --git a/spec/features/groups/group_memberships_spec.rb b/spec/features/groups/group_memberships_spec.rb index 3aba29a6dcd..430cf1e3989 100644 --- a/spec/features/groups/group_memberships_spec.rb +++ b/spec/features/groups/group_memberships_spec.rb @@ -29,19 +29,19 @@ require 'spec_helper' feature 'group memberships through groups page', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let!(:project) do - FactoryBot.create :project, name: 'Project 1', identifier: 'project1', members: project_members + create :project, name: 'Project 1', identifier: 'project1', members: project_members end - let!(:peter) { FactoryBot.create :user, firstname: 'Peter', lastname: 'Pan' } - let!(:hannibal) { FactoryBot.create :user, firstname: 'Hannibal', lastname: 'Smith' } + let!(:peter) { create :user, firstname: 'Peter', lastname: 'Pan' } + let!(:hannibal) { create :user, firstname: 'Hannibal', lastname: 'Smith' } let(:group) do - FactoryBot.create(:group, lastname: 'A-Team', members: group_members) + create(:group, lastname: 'A-Team', members: group_members) end - let!(:manager) { FactoryBot.create :role, name: 'Manager' } - let!(:developer) { FactoryBot.create :role, name: 'Developer' } + let!(:manager) { create :role, name: 'Manager' } + let!(:developer) { create :role, name: 'Developer' } let(:members_page) { Pages::Members.new project.identifier } let(:group_page) { Pages::Groups.new.group(group.id) } @@ -102,7 +102,7 @@ feature 'group memberships through groups page', type: :feature, js: true do describe 'with the group in two projects' do let!(:project2) do - FactoryBot.create :project, + create :project, name: 'Project 2', identifier: 'project2', members: project_members diff --git a/spec/features/groups/group_show_spec.rb b/spec/features/groups/group_show_spec.rb index e34d69b0ccb..d0564885dac 100644 --- a/spec/features/groups/group_show_spec.rb +++ b/spec/features/groups/group_show_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' feature 'group show page', type: :feature do - let!(:member) { FactoryBot.create :user } - let!(:group) { FactoryBot.create :group, lastname: "Bob's Team", members: [member] } + let!(:member) { create :user } + let!(:group) { create :group, lastname: "Bob's Team", members: [member] } before do login_as current_user end context 'as an admin' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } scenario 'I can visit the group page' do @@ -49,7 +49,7 @@ feature 'group show page', type: :feature do end context 'as a regular user' do - let(:current_user) { FactoryBot.create :user } + let(:current_user) { create :user } scenario 'I can visit the group page' do visit show_group_path(group) diff --git a/spec/features/groups/groups_spec.rb b/spec/features/groups/groups_spec.rb index 3266973aafd..64da45b294c 100644 --- a/spec/features/groups/groups_spec.rb +++ b/spec/features/groups/groups_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' feature 'group memberships through groups page', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } - let!(:group) { FactoryBot.create :group, lastname: "Bob's Team" } + shared_let(:admin) { create :admin } + let!(:group) { create :group, lastname: "Bob's Team" } let(:groups_page) { Pages::Groups.new } diff --git a/spec/features/groups/membership_spec.rb b/spec/features/groups/membership_spec.rb index 4aec7d4af8b..edfa4456071 100644 --- a/spec/features/groups/membership_spec.rb +++ b/spec/features/groups/membership_spec.rb @@ -29,26 +29,26 @@ require 'spec_helper' feature 'group memberships through project members page', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project, name: 'Project 1', identifier: 'project1', members: project_member } + shared_let(:admin) { create :admin } + let(:project) { create :project, name: 'Project 1', identifier: 'project1', members: project_member } - let(:alice) { FactoryBot.create :user, firstname: 'Alice', lastname: 'Wonderland' } - let(:bob) { FactoryBot.create :user, firstname: 'Bob', lastname: 'Bobbit' } - let(:group) { FactoryBot.create :group, lastname: 'group1' } + let(:alice) { create :user, firstname: 'Alice', lastname: 'Wonderland' } + let(:bob) { create :user, firstname: 'Bob', lastname: 'Bobbit' } + let(:group) { create :group, lastname: 'group1' } - let!(:alpha) { FactoryBot.create :role, name: 'alpha', permissions: [:manage_members] } - let!(:beta) { FactoryBot.create :role, name: 'beta' } + let!(:alpha) { create :role, name: 'alpha', permissions: [:manage_members] } + let!(:beta) { create :role, name: 'beta' } let(:members_page) { Pages::Members.new project.identifier } let(:groups_page) { Pages::Groups.new } let(:project_member) { {} } before do - FactoryBot.create :member, user: bob, project: project, roles: [alpha] + create :member, user: bob, project: project, roles: [alpha] end context 'given a group with members' do - let!(:group) { FactoryBot.create :group, lastname: 'group1', members: alice } + let!(:group) { create :group, lastname: 'group1', members: alice } current_user { bob } scenario 'adding group1 as a member with the beta role', js: true do diff --git a/spec/features/homescreen/index_spec.rb b/spec/features/homescreen/index_spec.rb index 0809cba6167..c4c0f72bb31 100644 --- a/spec/features/homescreen/index_spec.rb +++ b/spec/features/homescreen/index_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Homescreen index', type: :feature do - let!(:user) { FactoryBot.build_stubbed(:user) } - let!(:project) { FactoryBot.create(:public_project, identifier: 'public-project') } + let!(:user) { build_stubbed(:user) } + let!(:project) { create(:public_project, identifier: 'public-project') } before do login_as user diff --git a/spec/features/homescreen/robots_spec.rb b/spec/features/homescreen/robots_spec.rb index e895cf209c2..2a74ba6ad6b 100644 --- a/spec/features/homescreen/robots_spec.rb +++ b/spec/features/homescreen/robots_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'robots.txt', type: :feature do - let!(:project) { FactoryBot.create(:public_project) } + let!(:project) { create(:public_project) } before do visit '/robots.txt' diff --git a/spec/features/members/error_messages_spec.rb b/spec/features/members/error_messages_spec.rb index d3b64c83194..02147ae67c0 100644 --- a/spec/features/members/error_messages_spec.rb +++ b/spec/features/members/error_messages_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' feature 'Group memberships through groups page', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } - let!(:project) { FactoryBot.create :project, name: 'Project 1', identifier: 'project1' } + shared_let(:admin) { create :admin } + let!(:project) { create :project, name: 'Project 1', identifier: 'project1' } - let!(:peter) { FactoryBot.create :user, firstname: 'Peter', lastname: 'Pan' } + let!(:peter) { create :user, firstname: 'Peter', lastname: 'Pan' } - let!(:manager) { FactoryBot.create :role, name: 'Manager' } + let!(:manager) { create :role, name: 'Manager' } let(:members_page) { Pages::Members.new project.identifier } diff --git a/spec/features/members/invitation_spec.rb b/spec/features/members/invitation_spec.rb index e07b2fbad3a..1a8e9bfee5d 100644 --- a/spec/features/members/invitation_spec.rb +++ b/spec/features/members/invitation_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' feature 'invite user via email', type: :feature, js: true do - let!(:project) { FactoryBot.create :project, name: 'Project 1', identifier: 'project1', members: project_members } - let!(:developer) { FactoryBot.create :role, name: 'Developer' } + let!(:project) { create :project, name: 'Project 1', identifier: 'project1', members: project_members } + let!(:developer) { create :role, name: 'Developer' } let(:project_members) { {} } let(:members_page) { Pages::Members.new project.identifier } current_user do - FactoryBot.create(:user, + create(:user, global_permissions: [:manage_user], member_in_project: project, member_with_permissions: %i[view_members manage_members]) @@ -75,7 +75,7 @@ feature 'invite user via email', type: :feature, js: true do context 'with a registered user' do let!(:user) do - FactoryBot.create :user, mail: 'hugo@openproject.com', + create :user, mail: 'hugo@openproject.com', login: 'hugo@openproject.com', firstname: 'Hugo', lastname: 'Hurried' diff --git a/spec/features/members/membership_filter_spec.rb b/spec/features/members/membership_filter_spec.rb index de73605907e..ad379936edb 100644 --- a/spec/features/members/membership_filter_spec.rb +++ b/spec/features/members/membership_filter_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' feature 'group memberships through groups page', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } - let!(:project) { FactoryBot.create :project, name: 'Project 1', identifier: 'project1' } + shared_let(:admin) { create :admin } + let!(:project) { create :project, name: 'Project 1', identifier: 'project1' } let!(:peter) do - FactoryBot.create :user, + create :user, firstname: 'Peter', lastname: 'Pan', mail: 'foo@example.org', @@ -43,7 +43,7 @@ feature 'group memberships through groups page', type: :feature, js: true do end let!(:hannibal) do - FactoryBot.create :user, + create :user, firstname: 'Pan', lastname: 'Hannibal', mail: 'foo@example.com', @@ -51,7 +51,7 @@ feature 'group memberships through groups page', type: :feature, js: true do member_through_role: role, preferences: { hide_mail: true } end - let(:role) { FactoryBot.create(:role, permissions: %i(add_work_packages)) } + let(:role) { create(:role, permissions: %i(add_work_packages)) } let(:members_page) { Pages::Members.new project.identifier } before do diff --git a/spec/features/members/membership_spec.rb b/spec/features/members/membership_spec.rb index 5dc26c2c71c..d671d1c3ce7 100644 --- a/spec/features/members/membership_spec.rb +++ b/spec/features/members/membership_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' feature 'Administrating memberships via the project settings', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: manager) end - let!(:project) { FactoryBot.create :project } + let!(:project) { create :project } let!(:peter) do - FactoryBot.create :user, + create :user, status: User.statuses[:active], firstname: 'Peter', lastname: 'Pan', @@ -46,28 +46,28 @@ feature 'Administrating memberships via the project settings', type: :feature, j preferences: { hide_mail: false } end let!(:hannibal) do - FactoryBot.create :user, + create :user, status: User.statuses[:invited], firstname: 'Hannibal', lastname: 'Smith', mail: 'boo@bar.org', preferences: { hide_mail: true } end - let!(:developer_placeholder) { FactoryBot.create :placeholder_user, name: 'Developer 1' } + let!(:developer_placeholder) { create :placeholder_user, name: 'Developer 1' } let!(:crash) do - FactoryBot.create :user, + create :user, firstname: "", lastname: "" end let!(:group) do - FactoryBot.create(:group, lastname: 'A-Team', members: [peter, hannibal]) + create(:group, lastname: 'A-Team', members: [peter, hannibal]) end - let!(:manager) { FactoryBot.create :role, name: 'Manager', permissions: [:manage_members] } - let!(:developer) { FactoryBot.create :role, name: 'Developer' } - let(:member1) { FactoryBot.create(:member, principal: peter, project: project, roles: [manager]) } - let(:member2) { FactoryBot.create(:member, principal: hannibal, project: project, roles: [developer]) } - let(:member3) { FactoryBot.create(:member, principal: group, project: project, roles: [manager]) } + let!(:manager) { create :role, name: 'Manager', permissions: [:manage_members] } + let!(:developer) { create :role, name: 'Developer' } + let(:member1) { create(:member, principal: peter, project: project, roles: [manager]) } + let(:member2) { create(:member, principal: hannibal, project: project, roles: [developer]) } + let(:member3) { create(:member, principal: group, project: project, roles: [manager]) } let!(:existing_members) { [] } diff --git a/spec/features/members/pagination_spec.rb b/spec/features/members/pagination_spec.rb index 7fc3f10f5f8..3fc0e2b91be 100644 --- a/spec/features/members/pagination_spec.rb +++ b/spec/features/members/pagination_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' feature 'members pagination', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:project) do - FactoryBot.create :project, + create :project, name: 'Project 1', identifier: 'project1', members: project_members @@ -43,12 +43,12 @@ feature 'members pagination', type: :feature, js: true do } } - let!(:peter) { FactoryBot.create :user, firstname: 'Peter', lastname: 'Pan' } - let(:bob) { FactoryBot.create :user, firstname: 'Bob', lastname: 'Bobbit' } - let(:alice) { FactoryBot.create :user, firstname: 'Alice', lastname: 'Alison' } + let!(:peter) { create :user, firstname: 'Peter', lastname: 'Pan' } + let(:bob) { create :user, firstname: 'Bob', lastname: 'Bobbit' } + let(:alice) { create :user, firstname: 'Alice', lastname: 'Alison' } - let(:manager) { FactoryBot.create :role, name: 'Manager' } - let(:developer) { FactoryBot.create :role, name: 'Developer' } + let(:manager) { create :role, name: 'Manager' } + let(:developer) { create :role, name: 'Developer' } let(:members_page) { Pages::Members.new project.identifier } diff --git a/spec/features/members/roles_spec.rb b/spec/features/members/roles_spec.rb index da928c0c521..f4da378c61c 100644 --- a/spec/features/members/roles_spec.rb +++ b/spec/features/members/roles_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe 'members pagination', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:project) do - FactoryBot.create :project, + create :project, name: 'Project 1', identifier: 'project1', members: { @@ -40,11 +40,11 @@ describe 'members pagination', type: :feature, js: true do } end - let(:bob) { FactoryBot.create :user, firstname: 'Bob', lastname: 'Bobbit' } - let(:alice) { FactoryBot.create :user, firstname: 'Alice', lastname: 'Alison' } + let(:bob) { create :user, firstname: 'Bob', lastname: 'Bobbit' } + let(:alice) { create :user, firstname: 'Alice', lastname: 'Alison' } - let(:alpha) { FactoryBot.create :role, name: 'alpha' } - let(:beta) { FactoryBot.create :role, name: 'beta' } + let(:alpha) { create :role, name: 'alpha' } + let(:beta) { create :role, name: 'beta' } let(:members_page) { Pages::Members.new project.identifier } diff --git a/spec/features/menu_items/admin_menu_item_spec.rb b/spec/features/menu_items/admin_menu_item_spec.rb index d44c3279ca2..3ea76dead01 100644 --- a/spec/features/menu_items/admin_menu_item_spec.rb +++ b/spec/features/menu_items/admin_menu_item_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'Admin menu items' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do allow(User).to receive(:current).and_return user diff --git a/spec/features/menu_items/help_menu_spec.rb b/spec/features/menu_items/help_menu_spec.rb index 82b8dd89468..5f609bcf0ef 100644 --- a/spec/features/menu_items/help_menu_spec.rb +++ b/spec/features/menu_items/help_menu_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'Help menu items' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:help_item) { find('.op-app-help .op-app-menu--item-action') } before do diff --git a/spec/features/menu_items/menu_permissions_spec.rb b/spec/features/menu_items/menu_permissions_spec.rb index 0485b9914cb..fa8f07af934 100644 --- a/spec/features/menu_items/menu_permissions_spec.rb +++ b/spec/features/menu_items/menu_permissions_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' describe 'menu permissions', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[manage_versions view_work_packages]) end - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } context 'as an admin' do before do diff --git a/spec/features/menu_items/query_menu_item_spec.rb b/spec/features/menu_items/query_menu_item_spec.rb index d05787635a7..31e28df13a7 100644 --- a/spec/features/menu_items/query_menu_item_spec.rb +++ b/spec/features/menu_items/query_menu_item_spec.rb @@ -32,13 +32,13 @@ require 'features/work_packages/shared_contexts' require 'features/work_packages/work_packages_page' RSpec.feature 'Query menu items', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:work_packages_page) { WorkPackagesPage.new(project) } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:notification) { PageObjects::Notifications.new(page) } let(:query_title) { ::Components::WorkPackages::QueryTitle.new } - let(:status) { FactoryBot.create :status } + let(:status) { create :status } def visit_index_page(query) work_packages_page.select_query(query) @@ -52,13 +52,13 @@ RSpec.feature 'Query menu items', js: true do context 'with identical names' do let(:query_a) do - FactoryBot.create :query_with_view_work_packages_table, + create :query_with_view_work_packages_table, public: true, name: 'some query.', project: project end let(:query_b) do - FactoryBot.create :query_with_view_work_packages_table, + create :query_with_view_work_packages_table, public: true, name: query_a.name, project: project @@ -74,7 +74,7 @@ RSpec.feature 'Query menu items', js: true do context 'with dots in their name' do let(:query) do - FactoryBot.create :query_with_view_work_packages_table, + create :query_with_view_work_packages_table, public: true, name: 'OP 3.0', project: project @@ -99,14 +99,14 @@ RSpec.feature 'Query menu items', js: true do describe 'renaming a menu item' do let(:query_a) do - FactoryBot.create :query_with_view_work_packages_table, + create :query_with_view_work_packages_table, public: true, name: 'bbbb', project: project, user: user end let(:query_b) do - FactoryBot.create :query_with_view_work_packages_table, + create :query_with_view_work_packages_table, public: true, name: 'zzzz', project: project, diff --git a/spec/features/menu_items/quick_add_menu_spec.rb b/spec/features/menu_items/quick_add_menu_spec.rb index 968e737ce6b..d50aa314906 100644 --- a/spec/features/menu_items/quick_add_menu_spec.rb +++ b/spec/features/menu_items/quick_add_menu_spec.rb @@ -32,7 +32,7 @@ feature 'Quick-add menu', js: true, selenium: true do let(:quick_add) { ::Components::QuickAddMenu.new } context 'as a logged in user with add_project permission' do - current_user { FactoryBot.create :user, global_permission: %i[add_project] } + current_user { create :user, global_permission: %i[add_project] } it 'shows the add project option' do visit home_path @@ -48,11 +48,11 @@ feature 'Quick-add menu', js: true, selenium: true do end context 'with an existing project' do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:field) { ::FormFields::SelectFormField.new :parent } current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[add_subprojects] end @@ -73,11 +73,11 @@ feature 'Quick-add menu', js: true, selenium: true do end context 'with current user as member with permission :manage_members in one project' do - let!(:project) { FactoryBot.create :project } + let!(:project) { create :project } let(:invite_modal) { ::Components::Users::InviteUserModal.new project: project, role: nil, principal: nil } current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[manage_members] end @@ -97,29 +97,29 @@ feature 'Quick-add menu', js: true, selenium: true do end context 'with a project with one of three work package types' do - let!(:type_bug) { FactoryBot.create :type_bug } - let!(:other_type) { FactoryBot.create :type_task } - let!(:other_project_type) { FactoryBot.create :type } - let!(:add_role) { FactoryBot.create(:role, permissions: %i[add_work_packages]) } - let!(:read_role) { FactoryBot.create(:role, permissions: %i[view_work_packages]) } + let!(:type_bug) { create :type_bug } + let!(:other_type) { create :type_task } + let!(:other_project_type) { create :type } + let!(:add_role) { create(:role, permissions: %i[add_work_packages]) } + let!(:read_role) { create(:role, permissions: %i[view_work_packages]) } let!(:project_with_permission) do - FactoryBot.create :project, + create :project, types: [type_bug], members: { current_user => add_role } end let!(:other_project_with_permission) do - FactoryBot.create :project, + create :project, types: [other_project_type], members: { current_user => add_role } end let!(:project_without_permission) do - FactoryBot.create :project, + create :project, types: [other_type], members: { current_user => read_role } end - current_user { FactoryBot.create :user } + current_user { create :user } it 'shows only the project types within a project and only those types in projects the user can add work packages in' do visit project_path(project_with_permission) @@ -154,7 +154,7 @@ feature 'Quick-add menu', js: true, selenium: true do end context 'as a logged in user with no permissions' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'does not show the quick add menu on the home screen' do visit home_path @@ -164,8 +164,8 @@ feature 'Quick-add menu', js: true, selenium: true do context 'as an anonymous user', with_settings: { login_required: true } do current_user do - FactoryBot.create(:anonymous_role, permissions: %i[add_work_packages]) - FactoryBot.create :anonymous + create(:anonymous_role, permissions: %i[add_work_packages]) + create :anonymous end it 'does not show the quick add menu on the home screen' do diff --git a/spec/features/menu_items/top_menu_item_spec.rb b/spec/features/menu_items/top_menu_item_spec.rb index 43dd5d5db03..a681d3469ff 100644 --- a/spec/features/menu_items/top_menu_item_spec.rb +++ b/spec/features/menu_items/top_menu_item_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'Top menu items', js: true, selenium: true do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:open_menu) { true } def has_menu_items?(*labels) @@ -56,8 +56,8 @@ feature 'Top menu items', js: true, selenium: true do before do |ex| allow(User).to receive(:current).and_return user - FactoryBot.create(:anonymous_role) - FactoryBot.create(:non_member) + create(:anonymous_role) + create(:non_member) if ex.metadata.key?(:allowed_to) allow(user).to receive(:allowed_to?).and_return(ex.metadata[:allowed_to]) @@ -77,7 +77,7 @@ feature 'Top menu items', js: true, selenium: true do let(:all_items) { [news_item, project_item, reporting_item] } context 'as an admin' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } it 'displays all items' do has_menu_items?(reporting_item, news_item, project_item) end @@ -101,7 +101,7 @@ feature 'Top menu items', js: true, selenium: true do end context 'as an anonymous user' do - let(:user) { FactoryBot.create :anonymous } + let(:user) { create :anonymous } it 'displays only news and projects' do has_menu_items? news_item, project_item end @@ -115,7 +115,7 @@ feature 'Top menu items', js: true, selenium: true do let(:all_items) { [all_projects] } context 'as an admin' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } it 'displays all items' do has_menu_items?(all_projects) end @@ -137,7 +137,7 @@ feature 'Top menu items', js: true, selenium: true do end context 'as an anonymous user' do - let(:user) { FactoryBot.create :anonymous } + let(:user) { create :anonymous } let(:open_menu) { false } it 'does not show the menu' do diff --git a/spec/features/menu_items/wiki_menu_item_spec.rb b/spec/features/menu_items/wiki_menu_item_spec.rb index ac1b93a2f47..c3fb1749c1d 100644 --- a/spec/features/menu_items/wiki_menu_item_spec.rb +++ b/spec/features/menu_items/wiki_menu_item_spec.rb @@ -33,25 +33,25 @@ require 'features/work_packages/work_packages_page' feature 'Wiki menu items' do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %w[view_wiki_pages manage_wiki_menu delete_wiki_pages] end - let(:project) { FactoryBot.create :project, enabled_module_names: %w[wiki] } + let(:project) { create :project, enabled_module_names: %w[wiki] } let(:wiki) { project.wiki } let(:parent_menu) { wiki.wiki_menu_items.find_by(name: 'wiki') } - let(:wiki_page) { FactoryBot.create :wiki_page_with_content, wiki: wiki } + let(:wiki_page) { create :wiki_page_with_content, wiki: wiki } let(:other_wiki_page) do - FactoryBot.create(:wiki_page_with_content, wiki: wiki, title: "Other page").tap do |page| + create(:wiki_page_with_content, wiki: wiki, title: "Other page").tap do |page| MenuItems::WikiMenuItem.create!(navigatable_id: page.wiki.id, title: page.title, name: page.slug) end end let(:another_wiki_page) do - FactoryBot.create(:wiki_page_with_content, wiki: wiki) + create(:wiki_page_with_content, wiki: wiki) end before do diff --git a/spec/features/news/creation_and_commenting_spec.rb b/spec/features/news/creation_and_commenting_spec.rb index 9d63c783cac..a2723fd14c6 100644 --- a/spec/features/news/creation_and_commenting_spec.rb +++ b/spec/features/news/creation_and_commenting_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe 'News creation and commenting', type: :feature, js: true do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let!(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[]) end current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[manage_news comment_news]) end diff --git a/spec/features/notifications/navigation_spec.rb b/spec/features/notifications/navigation_spec.rb index df9f9f9ddb8..d77d52a8c2d 100644 --- a/spec/features/notifications/navigation_spec.rb +++ b/spec/features/notifications/navigation_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' describe "Notification center navigation", type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } - shared_let(:second_work_package) { FactoryBot.create :work_package, project: project } + shared_let(:project) { create :project } + shared_let(:work_package) { create :work_package, project: project } + shared_let(:second_work_package) { create :work_package, project: project } shared_let(:recipient) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] end shared_let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: work_package, @@ -18,7 +18,7 @@ describe "Notification center navigation", type: :feature, js: true do end shared_let(:second_notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: second_work_package, diff --git a/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb b/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb index b38c3dfea8f..5df4296de82 100644 --- a/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb +++ b/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb @@ -1,24 +1,24 @@ require 'spec_helper' describe "Notification center sidemenu", type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project } - shared_let(:project2) { FactoryBot.create :project } - shared_let(:project3) { FactoryBot.create :project, parent: project2 } + shared_let(:project) { create :project } + shared_let(:project2) { create :project } + shared_let(:project3) { create :project, parent: project2 } shared_let(:recipient) do - FactoryBot.create :user, + create :user, member_in_projects: [project, project2, project3], member_with_permissions: %i[view_work_packages] end - shared_let(:other_user) { FactoryBot.create(:user) } + shared_let(:other_user) { create(:user) } - shared_let(:work_package) { FactoryBot.create :work_package, project: project, author: other_user } - shared_let(:work_package2) { FactoryBot.create :work_package, project: project2, author: other_user } - shared_let(:work_package3) { FactoryBot.create :work_package, project: project3, author: other_user } - shared_let(:work_package4) { FactoryBot.create :work_package, project: project3, author: other_user } + shared_let(:work_package) { create :work_package, project: project, author: other_user } + shared_let(:work_package2) { create :work_package, project: project2, author: other_user } + shared_let(:work_package3) { create :work_package, project: project3, author: other_user } + shared_let(:work_package4) { create :work_package, project: project3, author: other_user } let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: work_package, @@ -26,7 +26,7 @@ describe "Notification center sidemenu", type: :feature, js: true do end let(:notification2) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project2, resource: work_package2, @@ -34,7 +34,7 @@ describe "Notification center sidemenu", type: :feature, js: true do end let(:notification3) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project3, resource: work_package3, @@ -42,7 +42,7 @@ describe "Notification center sidemenu", type: :feature, js: true do end let(:notification4) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project3, resource: work_package4, diff --git a/spec/features/notifications/notification_center/notification_center_spec.rb b/spec/features/notifications/notification_center/notification_center_spec.rb index 3a89b6d65d0..9ccd24bb14c 100644 --- a/spec/features/notifications/notification_center/notification_center_spec.rb +++ b/spec/features/notifications/notification_center/notification_center_spec.rb @@ -3,22 +3,22 @@ require 'spec_helper' describe "Notification center", type: :feature, js: true, with_settings: { journal_aggregation_time_minutes: 0 } do # Notice that the setup in this file here is not following the normal rules as # it also tests notification creation. - let!(:project1) { FactoryBot.create :project } - let!(:project2) { FactoryBot.create :project } + let!(:project1) { create :project } + let!(:project2) { create :project } let!(:recipient) do # Needs to take place before the work package is created so that the notification listener is set up - FactoryBot.create :user, + create :user, member_in_projects: [project1, project2], member_with_permissions: %i[view_work_packages] end let!(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:work_package) do - FactoryBot.create :work_package, project: project1, author: other_user + create :work_package, project: project1, author: other_user end let(:work_package2) do - FactoryBot.create :work_package, project: project2, author: other_user + create :work_package, project: project2, author: other_user end let(:notification) do # Will have been created via the JOURNAL_CREATED event listeners @@ -119,7 +119,7 @@ describe "Notification center", type: :feature, js: true, with_settings: { journ context "with a new notification" do let(:notification3) do - FactoryBot.create :notification, + create :notification, reason: :commented, recipient: recipient, project: project1, diff --git a/spec/features/notifications/notification_center/split_screen_spec.rb b/spec/features/notifications/notification_center/split_screen_spec.rb index 3d7c3c04c59..8b4f5950337 100644 --- a/spec/features/notifications/notification_center/split_screen_spec.rb +++ b/spec/features/notifications/notification_center/split_screen_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' describe "Split screen in the notification center", type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } - shared_let(:second_work_package) { FactoryBot.create :work_package, project: project } + shared_let(:project) { create :project } + shared_let(:work_package) { create :work_package, project: project } + shared_let(:second_work_package) { create :work_package, project: project } shared_let(:recipient) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] end shared_let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: work_package, @@ -18,7 +18,7 @@ describe "Split screen in the notification center", type: :feature, js: true do end shared_let(:second_notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: second_work_package, diff --git a/spec/features/notifications/reminder_mail_spec.rb b/spec/features/notifications/reminder_mail_spec.rb index 665a975c883..8b26ba401c1 100644 --- a/spec/features/notifications/reminder_mail_spec.rb +++ b/spec/features/notifications/reminder_mail_spec.rb @@ -2,13 +2,13 @@ require 'spec_helper' require_relative '../users/notifications/shared_examples' describe "Reminder email sending", type: :feature, js: true do - let!(:project) { FactoryBot.create :project, members: { current_user => role } } - let!(:mute_project) { FactoryBot.create :project, members: { current_user => role } } - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages]) } - let(:other_user) { FactoryBot.create(:user) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:watched_work_package) { FactoryBot.create(:work_package, project: project, watcher_users: [current_user]) } - let(:involved_work_package) { FactoryBot.create(:work_package, project: project, assigned_to: current_user) } + let!(:project) { create :project, members: { current_user => role } } + let!(:mute_project) { create :project, members: { current_user => role } } + let(:role) { create(:role, permissions: %i[view_work_packages]) } + let(:other_user) { create(:user) } + let(:work_package) { create(:work_package, project: project) } + let(:watched_work_package) { create(:work_package, project: project, watcher_users: [current_user]) } + let(:involved_work_package) { create(:work_package, project: project, assigned_to: current_user) } # The run_at time of the delayed job used for scheduling the reminder mails # needs to be within a time frame eligible for sending out mails for the chose # time zone. For the time zone Hawaii (UTC-10) this means between 8:00:00 and 8:14:59 UTC. @@ -25,7 +25,7 @@ describe "Reminder email sending", type: :feature, js: true do end current_user do - FactoryBot.create( + create( :user, preferences: { time_zone: 'Pacific/Honolulu', @@ -35,7 +35,7 @@ describe "Reminder email sending", type: :feature, js: true do } }, notification_settings: [ - FactoryBot.build(:notification_setting, + build(:notification_setting, involved: true, watched: true, mentioned: true, diff --git a/spec/features/notifications/settings/immediate_reminder_spec.rb b/spec/features/notifications/settings/immediate_reminder_spec.rb index 75e19951c0b..2f586622777 100644 --- a/spec/features/notifications/settings/immediate_reminder_spec.rb +++ b/spec/features/notifications/settings/immediate_reminder_spec.rb @@ -32,7 +32,7 @@ describe "Immediate reminder settings", type: :feature, js: true do let(:pref) { current_user.pref } current_user do - FactoryBot.create :user + create :user end it_behaves_like 'immediate reminder settings' @@ -41,21 +41,21 @@ describe "Immediate reminder settings", type: :feature, js: true do context 'with the user administration page' do let(:reminders_settings_page) { Pages::Reminders::Settings.new(other_user) } - let(:other_user) { FactoryBot.create :user } + let(:other_user) { create :user } let(:pref) { other_user.pref } current_user do - FactoryBot.create :admin + create :admin end it_behaves_like 'immediate reminder settings' end describe 'email sending', js: false do - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:receiver) do - FactoryBot.create( + create( :user, preferences: { immediate_reminders: { @@ -63,7 +63,7 @@ describe "Immediate reminder settings", type: :feature, js: true do } }, notification_settings: [ - FactoryBot.build(:notification_setting, + build(:notification_setting, mentioned: true) ], member_in_project: project, @@ -72,7 +72,7 @@ describe "Immediate reminder settings", type: :feature, js: true do end current_user do - FactoryBot.create(:user) + create(:user) end it 'sends a mail to the mentioned user immediately' do diff --git a/spec/features/notifications/settings/my_notifications_settings_spec.rb b/spec/features/notifications/settings/my_notifications_settings_spec.rb index ee2840f2a76..e8618494582 100644 --- a/spec/features/notifications/settings/my_notifications_settings_spec.rb +++ b/spec/features/notifications/settings/my_notifications_settings_spec.rb @@ -3,7 +3,7 @@ require_relative '../../users/notifications/shared_examples' require 'support/pages/my/notifications' describe "My notifications settings", type: :feature, js: true do - current_user { FactoryBot.create :user } + current_user { create :user } let(:settings_page) { Pages::My::Notifications.new(current_user) } diff --git a/spec/features/notifications/settings/pause_reminder_settings_spec.rb b/spec/features/notifications/settings/pause_reminder_settings_spec.rb index f8fde30b575..93ede663a2e 100644 --- a/spec/features/notifications/settings/pause_reminder_settings_spec.rb +++ b/spec/features/notifications/settings/pause_reminder_settings_spec.rb @@ -42,7 +42,7 @@ describe "Pause reminder settings", type: :feature, js: true do let(:pref) { current_user.pref } current_user do - FactoryBot.create :user + create :user end it_behaves_like 'pause reminder settings' @@ -51,11 +51,11 @@ describe "Pause reminder settings", type: :feature, js: true do context 'with the user administration page' do let(:reminders_settings_page) { Pages::Reminders::Settings.new(other_user) } - let(:other_user) { FactoryBot.create :user } + let(:other_user) { create :user } let(:pref) { other_user.pref } current_user do - FactoryBot.create :admin + create :admin end it_behaves_like 'pause reminder settings' diff --git a/spec/features/notifications/settings/reminder_email_settings_spec.rb b/spec/features/notifications/settings/reminder_email_settings_spec.rb index a2a5f09919a..7c6f3351c74 100644 --- a/spec/features/notifications/settings/reminder_email_settings_spec.rb +++ b/spec/features/notifications/settings/reminder_email_settings_spec.rb @@ -45,7 +45,7 @@ describe "Reminder email", type: :feature, js: true do let(:reminders_settings_page) { Pages::My::Reminders.new(current_user) } current_user do - FactoryBot.create :user + create :user end it_behaves_like 'reminder settings' @@ -54,10 +54,10 @@ describe "Reminder email", type: :feature, js: true do context 'when configuring via the user administration page' do let(:reminders_settings_page) { Pages::Reminders::Settings.new(other_user) } - let(:other_user) { FactoryBot.create :user } + let(:other_user) { create :user } current_user do - FactoryBot.create :admin + create :admin end it_behaves_like 'reminder settings' diff --git a/spec/features/notifications/settings/workdays_settings_spec.rb b/spec/features/notifications/settings/workdays_settings_spec.rb index 60791921438..a865e909ac4 100644 --- a/spec/features/notifications/settings/workdays_settings_spec.rb +++ b/spec/features/notifications/settings/workdays_settings_spec.rb @@ -79,7 +79,7 @@ describe "Workday notification settings", type: :feature, js: true do let(:pref) { current_user.pref } current_user do - FactoryBot.create :user + create :user end it_behaves_like 'workday settings' @@ -88,11 +88,11 @@ describe "Workday notification settings", type: :feature, js: true do context 'with the user administration page' do let(:settings_page) { Pages::Reminders::Settings.new(other_user) } - let(:other_user) { FactoryBot.create :user } + let(:other_user) { create :user } let(:pref) { other_user.pref } current_user do - FactoryBot.create :admin + create :admin end it_behaves_like 'workday settings' diff --git a/spec/features/oauth/authorization_code_flow_spec.rb b/spec/features/oauth/authorization_code_flow_spec.rb index 86b2e00170e..9fb8fdea3e5 100644 --- a/spec/features/oauth/authorization_code_flow_spec.rb +++ b/spec/features/oauth/authorization_code_flow_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe 'OAuth authorization code flow', type: :feature, js: true do - let!(:user) { FactoryBot.create(:user) } + let!(:user) { create(:user) } let!(:redirect_uri) { 'urn:ietf:wg:oauth:2.0:oob' } let!(:allowed_redirect_uri) { redirect_uri } - let!(:app) { FactoryBot.create(:oauth_application, name: 'Cool API app!', redirect_uri: allowed_redirect_uri) } + let!(:app) { create(:oauth_application, name: 'Cool API app!', redirect_uri: allowed_redirect_uri) } let(:client_secret) { app.plaintext_secret } def oauth_path(client_id, redirect_url) diff --git a/spec/features/oauth/pkce_spec.rb b/spec/features/oauth/pkce_spec.rb index a48893f0583..204116f2361 100644 --- a/spec/features/oauth/pkce_spec.rb +++ b/spec/features/oauth/pkce_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe 'OAuth authorization code flow with PKCE', type: :feature, js: true do - let!(:user) { FactoryBot.create(:user) } + let!(:user) { create(:user) } let!(:redirect_uri) { 'urn:ietf:wg:oauth:2.0:oob' } let!(:allowed_redirect_uri) { redirect_uri } let!(:app) do - FactoryBot.create :oauth_application, + create :oauth_application, name: 'Public mobile client', confidential: false, redirect_uri: allowed_redirect_uri diff --git a/spec/features/onboarding/onboarding_tour_spec.rb b/spec/features/onboarding/onboarding_tour_spec.rb index 5d02fb6c1ca..2c557f96ece 100644 --- a/spec/features/onboarding/onboarding_tour_spec.rb +++ b/spec/features/onboarding/onboarding_tour_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'onboarding tour for new users', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:project) do - FactoryBot.create :project, name: 'Demo project', identifier: 'demo-project', public: true, + create :project, name: 'Demo project', identifier: 'demo-project', public: true, enabled_module_names: %w[work_package_tracking wiki] end let(:project_link) { " #{project.name} " } let(:scrum_project) do - FactoryBot.create :project, name: 'Scrum project', identifier: 'your-scrum-project', public: true, + create :project, name: 'Scrum project', identifier: 'your-scrum-project', public: true, enabled_module_names: %w[work_package_tracking] end let(:scrum_project_link) { " #{scrum_project.name} " } - let!(:wp1) { FactoryBot.create(:work_package, project: project) } + let!(:wp1) { create(:work_package, project: project) } let(:next_button) { find('.enjoyhint_next_btn') } context 'with a new user' do @@ -159,8 +159,8 @@ describe 'onboarding tour for new users', js: true do context 'with a new user who is not allowed to see the parts of the tour' do # necessary to be able to see public projects - let(:non_member_role) { FactoryBot.create :non_member, permissions: [:view_work_packages] } - let(:non_member_user) { FactoryBot.create :user } + let(:non_member_role) { create :non_member, permissions: [:view_work_packages] } + let(:non_member_user) { create :user } before do allow(Setting).to receive(:demo_projects_available).and_return(true) diff --git a/spec/features/placeholder_users/create_spec.rb b/spec/features/placeholder_users/create_spec.rb index 0646f4e01d4..69055377d6f 100644 --- a/spec/features/placeholder_users/create_spec.rb +++ b/spec/features/placeholder_users/create_spec.rb @@ -63,19 +63,19 @@ describe 'create placeholder users', type: :feature, selenium: true do end context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'placeholders creation flow' end context 'as user with global permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } it_behaves_like 'placeholders creation flow' end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'returns an error' do visit new_placeholder_user_path diff --git a/spec/features/placeholder_users/delete_spec.rb b/spec/features/placeholder_users/delete_spec.rb index df89bacad53..0e8128f0ff6 100644 --- a/spec/features/placeholder_users/delete_spec.rb +++ b/spec/features/placeholder_users/delete_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'delete placeholder user', type: :feature, js: true do - shared_let(:placeholder_user) { FactoryBot.create :placeholder_user, name: 'UX Developer' } + shared_let(:placeholder_user) { create :placeholder_user, name: 'UX Developer' } shared_examples 'placeholders delete flow' do it 'can delete name' do @@ -61,26 +61,26 @@ describe 'delete placeholder user', type: :feature, js: true do end context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'placeholders delete flow' end context 'as user with global permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } it_behaves_like 'placeholders delete flow' end context 'as user with global permission, but placeholder in an invisble project' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } - let!(:project) { FactoryBot.create :project } + let!(:project) { create :project } let!(:member) do - FactoryBot.create :member, + create :member, principal: placeholder_user, project: project, - roles: [FactoryBot.create(:role)] + roles: [create(:role)] end it 'returns an error when trying to delete and disables the button' do @@ -98,7 +98,7 @@ describe 'delete placeholder user', type: :feature, js: true do end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'returns an error' do visit deletion_info_placeholder_user_path(placeholder_user) diff --git a/spec/features/placeholder_users/edit_placeholder_users_spec.rb b/spec/features/placeholder_users/edit_placeholder_users_spec.rb index c7beb777d9b..c654eb364b0 100644 --- a/spec/features/placeholder_users/edit_placeholder_users_spec.rb +++ b/spec/features/placeholder_users/edit_placeholder_users_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'edit placeholder users', type: :feature, js: true do - shared_let(:placeholder_user) { FactoryBot.create :placeholder_user, name: 'UX Developer' } + shared_let(:placeholder_user) { create :placeholder_user, name: 'UX Developer' } shared_examples 'placeholders edit flow' do it 'can edit name' do @@ -50,19 +50,19 @@ describe 'edit placeholder users', type: :feature, js: true do end context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'placeholders edit flow' end context 'as user with global permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } it_behaves_like 'placeholders edit flow' end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'returns an error' do visit edit_placeholder_user_path(placeholder_user) diff --git a/spec/features/placeholder_users/index_spec.rb b/spec/features/placeholder_users/index_spec.rb index 4640c96c41b..ffcc7bca681 100644 --- a/spec/features/placeholder_users/index_spec.rb +++ b/spec/features/placeholder_users/index_spec.rb @@ -29,25 +29,25 @@ require 'spec_helper' describe 'index placeholder users', type: :feature, js: true do - let!(:current_user) { FactoryBot.create :admin } - let!(:anonymous) { FactoryBot.create :anonymous } + let!(:current_user) { create :admin } + let!(:anonymous) { create :anonymous } let!(:placeholder_user_1) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, name: 'B', created_at: 3.minutes.ago) end let!(:placeholder_user_2) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, name: 'A', created_at: 2.minutes.ago) end let!(:placeholder_user_3) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, name: 'C', created_at: 1.minute.ago) end - let(:manager_role) { FactoryBot.create :existing_role, permissions: [:manage_members] } - let(:member_role) { FactoryBot.create :existing_role, permissions: [:view_work_packages] } + let(:manager_role) { create :existing_role, permissions: [:manage_members] } + let(:member_role) { create :existing_role, permissions: [:view_work_packages] } let(:index_page) { Pages::Admin::PlaceholderUsers::Index.new } shared_examples 'placeholders index flow' do @@ -79,13 +79,13 @@ describe 'index placeholder users', type: :feature, js: true do end context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'placeholders index flow' end context 'as user with global permission' do - current_user { FactoryBot.create :user, global_permission: %i[manage_placeholder_user] } + current_user { create :user, global_permission: %i[manage_placeholder_user] } it_behaves_like 'placeholders index flow' @@ -104,7 +104,7 @@ describe 'index placeholder users', type: :feature, js: true do context 'when user is allowed to manage members only in some projects of the placeholder users' do let(:shared_project) do - FactoryBot.create(:project, members: { + create(:project, members: { placeholder_user_1 => member_role, placeholder_user_2 => member_role, current_user => manager_role @@ -112,7 +112,7 @@ describe 'index placeholder users', type: :feature, js: true do end let(:not_shared_project) do - FactoryBot.create(:project, members: { + create(:project, members: { placeholder_user_2 => member_role, placeholder_user_3 => member_role }) @@ -136,7 +136,7 @@ describe 'index placeholder users', type: :feature, js: true do end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'returns an error' do index_page.visit! diff --git a/spec/features/placeholder_users/placeholder_user_memberships_spec.rb b/spec/features/placeholder_users/placeholder_user_memberships_spec.rb index 83e71e948cc..7e0802126f5 100644 --- a/spec/features/placeholder_users/placeholder_user_memberships_spec.rb +++ b/spec/features/placeholder_users/placeholder_user_memberships_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' require_relative '../principals/shared_memberships_examples' feature 'placeholder user memberships through placeholder user page', type: :feature, js: true do - shared_let(:principal) { FactoryBot.create :placeholder_user, name: 'UX Designer' } + shared_let(:principal) { create :placeholder_user, name: 'UX Designer' } shared_let(:principal_page) { Pages::Admin::IndividualPrincipals::Edit.new(principal) } include_context 'principal membership management context' context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'principal membership management flows' end diff --git a/spec/features/principals/shared_memberships_examples.rb b/spec/features/principals/shared_memberships_examples.rb index e58ed7dc00b..ee34423578d 100644 --- a/spec/features/principals/shared_memberships_examples.rb +++ b/spec/features/principals/shared_memberships_examples.rb @@ -1,13 +1,13 @@ shared_context 'principal membership management context' do shared_let(:project) do - FactoryBot.create :project, + create :project, name: 'Project 1', identifier: 'project1' end - shared_let(:project2) { FactoryBot.create :project, name: 'Project 2', identifier: 'project2' } + shared_let(:project2) { create :project, name: 'Project 2', identifier: 'project2' } - shared_let(:manager) { FactoryBot.create :role, name: 'Manager', permissions: %i[view_members manage_members] } - shared_let(:developer) { FactoryBot.create :role, name: 'Developer' } + shared_let(:manager) { create :role, name: 'Manager', permissions: %i[view_members manage_members] } + shared_let(:developer) { create :role, name: 'Developer' } end shared_examples 'principal membership management flows' do @@ -46,7 +46,7 @@ end shared_examples 'global user principal membership management flows' do |permission| context 'as global user' do - shared_let(:global_user) { FactoryBot.create :user, global_permission: permission } + shared_let(:global_user) { create :user, global_permission: permission } shared_let(:project_members) { { global_user => manager } } current_user { global_user } @@ -97,7 +97,7 @@ shared_examples 'global user principal membership management flows' do |permissi context 'as user with global and project permissions, but not manage_members' do current_user do - FactoryBot.create :user, + create :user, global_permission: permission, member_in_project: project, member_with_permissions: %i[view_work_packages] @@ -115,7 +115,7 @@ shared_examples 'global user principal membership management flows' do |permissi end context 'as user without global permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'returns an error' do principal_page.visit! diff --git a/spec/features/projects/attribute_help_texts_spec.rb b/spec/features/projects/attribute_help_texts_spec.rb index 94bd73bdf95..e75dd60beb8 100644 --- a/spec/features/projects/attribute_help_texts_spec.rb +++ b/spec/features/projects/attribute_help_texts_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'Project attribute help texts', type: :feature, js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:instance) do - FactoryBot.create :project_help_text, + create :project_help_text, attribute_name: :status, help_text: 'Some **help text** for status.' - FactoryBot.create :project_help_text, + create :project_help_text, attribute_name: :description, help_text: 'Some **help text** for description.' end let(:grid) do - grid = FactoryBot.create :grid - grid.widgets << FactoryBot.create(:grid_widget, + grid = create :grid + grid.widgets << create(:grid_widget, identifier: 'project_status', options: { 'name' => 'Project status' }, start_row: 1, @@ -80,7 +80,7 @@ describe 'Project attribute help texts', type: :feature, js: true do end describe 'as admin' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } it_behaves_like 'allows to view help texts' it 'shows the help text on the project create form' do @@ -101,10 +101,10 @@ describe 'Project attribute help texts', type: :feature, js: true do describe 'as regular user' do let(:view_role) do - FactoryBot.create :role, permissions: [:view_project] + create :role, permissions: [:view_project] end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: view_role end diff --git a/spec/features/projects/copy_spec.rb b/spec/features/projects/copy_spec.rb index cb2781af263..f475699fcca 100644 --- a/spec/features/projects/copy_spec.rb +++ b/spec/features/projects/copy_spec.rb @@ -34,7 +34,7 @@ describe 'Projects copy', js: true do describe 'with a full copy example' do let!(:project) do - FactoryBot.create(:project, + create(:project, parent: parent_project, types: active_types, members: { user => role }, @@ -48,52 +48,52 @@ describe 'Projects copy', end let!(:parent_project) do - project = FactoryBot.create(:project) + project = create(:project) - FactoryBot.create(:member, + create(:member, project: project, user: user, roles: [role]) project end let!(:project_custom_field) do - FactoryBot.create(:text_project_custom_field, is_required: true) + create(:text_project_custom_field, is_required: true) end let!(:wp_custom_field) do - FactoryBot.create(:text_wp_custom_field) + create(:text_wp_custom_field) end let!(:inactive_wp_custom_field) do - FactoryBot.create(:text_wp_custom_field) + create(:text_wp_custom_field) end let(:active_types) do - [FactoryBot.create(:type), FactoryBot.create(:type)] + [create(:type), create(:type)] end let!(:inactive_type) do - FactoryBot.create(:type) + create(:type) end - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end let(:permissions) { %i(copy_projects edit_project add_subprojects manage_types view_work_packages select_custom_fields) } let(:wp_user) do - user = FactoryBot.create(:user) + user = create(:user) - FactoryBot.create(:member, + create(:member, project: project, user: user, roles: [role]) user end let(:category) do - FactoryBot.create(:category, project: project) + create(:category, project: project) end let(:version) do - FactoryBot.create(:version, project: project) + create(:version, project: project) end let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: project.types.first, author: wp_user, @@ -108,10 +108,10 @@ describe 'Projects copy', let!(:wiki) { project.wiki } let!(:wiki_page) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, title: 'Attached', wiki: wiki, - attachments: [FactoryBot.build(:attachment, container: nil, filename: 'attachment.pdf')] + attachments: [build(:attachment, container: nil, filename: 'attachment.pdf')] end let(:parent_field) { ::FormFields::SelectFormField.new :parent } @@ -236,24 +236,24 @@ describe 'Projects copy', end describe 'copying a set of ordered work packages' do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project, types: [type] } - let(:type) { FactoryBot.create :type } - let(:status) { FactoryBot.create :status } - let(:priority) { FactoryBot.create :priority } + let(:user) { create :admin } + let(:project) { create :project, types: [type] } + let(:type) { create :type } + let(:status) { create :status } + let(:priority) { create :priority } let(:default_params) do { type: type, status: status, project: project, priority: priority } end - let(:parent1) { FactoryBot.create :work_package, default_params.merge(subject: 'Initial phase') } - let(:child1_1) { FactoryBot.create :work_package, default_params.merge(parent: parent1, subject: 'Confirmation phase') } - let(:child1_2) { FactoryBot.create :work_package, default_params.merge(parent: parent1, subject: 'Initiation') } - let(:parent2) { FactoryBot.create :work_package, default_params.merge(subject: 'Execution') } - let(:child2_1) { FactoryBot.create :work_package, default_params.merge(parent: parent2, subject: 'Define goal') } - let(:child2_2) { FactoryBot.create :work_package, default_params.merge(parent: parent2, subject: 'Specify metrics') } - let(:child2_3) { FactoryBot.create :work_package, default_params.merge(parent: parent2, subject: 'Prepare launch') } - let(:child2_4) { FactoryBot.create :work_package, default_params.merge(parent: parent2, subject: 'Launch') } + let(:parent1) { create :work_package, default_params.merge(subject: 'Initial phase') } + let(:child1_1) { create :work_package, default_params.merge(parent: parent1, subject: 'Confirmation phase') } + let(:child1_2) { create :work_package, default_params.merge(parent: parent1, subject: 'Initiation') } + let(:parent2) { create :work_package, default_params.merge(subject: 'Execution') } + let(:child2_1) { create :work_package, default_params.merge(parent: parent2, subject: 'Define goal') } + let(:child2_2) { create :work_package, default_params.merge(parent: parent2, subject: 'Specify metrics') } + let(:child2_3) { create :work_package, default_params.merge(parent: parent2, subject: 'Prepare launch') } + let(:child2_4) { create :work_package, default_params.merge(parent: parent2, subject: 'Launch') } let(:order) do [parent1, child1_1, child1_2, parent2, child2_1, child2_2, child2_3, child2_4] diff --git a/spec/features/projects/create_spec.rb b/spec/features/projects/create_spec.rb index e063cb833f1..b49172e1812 100644 --- a/spec/features/projects/create_spec.rb +++ b/spec/features/projects/create_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe 'Projects', 'creation', type: :feature, js: true do let(:name_field) { ::FormFields::InputFormField.new :name } - current_user { FactoryBot.create(:admin) } + current_user { create(:admin) } - shared_let(:project) { FactoryBot.create(:project, name: 'Foo project', identifier: 'foo-project') } + shared_let(:project) { create(:project, name: 'Foo project', identifier: 'foo-project') } before do visit projects_path @@ -64,7 +64,7 @@ describe 'Projects', 'creation', type: :feature, js: true do end context 'with a multi-select custom field' do - let!(:list_custom_field) { FactoryBot.create(:list_project_custom_field, name: 'List CF', multi_value: true) } + let!(:list_custom_field) { create(:list_project_custom_field, name: 'List CF', multi_value: true) } let(:list_field) { ::FormFields::SelectFormField.new list_custom_field } it 'can create a project' do @@ -100,12 +100,12 @@ describe 'Projects', 'creation', type: :feature, js: true do context 'with optional and required custom fields' do let!(:optional_custom_field) do - FactoryBot.create(:custom_field, name: 'Optional Foo', + create(:custom_field, name: 'Optional Foo', type: ProjectCustomField, is_for_all: true) end let!(:required_custom_field) do - FactoryBot.create(:custom_field, name: 'Required Foo', + create(:custom_field, name: 'Required Foo', type: ProjectCustomField, is_for_all: true, is_required: true) diff --git a/spec/features/projects/destroy_spec.rb b/spec/features/projects/destroy_spec.rb index 91e33b524d9..ecdc3b29a00 100644 --- a/spec/features/projects/destroy_spec.rb +++ b/spec/features/projects/destroy_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe 'Projects#destroy', type: :feature, js: true do - let!(:project) { FactoryBot.create(:project, name: 'foo', identifier: 'foo') } + let!(:project) { create(:project, name: 'foo', identifier: 'foo') } let(:project_page) { Pages::Projects::Destroy.new(project) } let(:danger_zone) { DangerZone.new(page) } - current_user { FactoryBot.create(:admin) } + current_user { create(:admin) } before do # Disable background worker diff --git a/spec/features/projects/edit_settings_spec.rb b/spec/features/projects/edit_settings_spec.rb index 893a0f1874d..8e04ecb572b 100644 --- a/spec/features/projects/edit_settings_spec.rb +++ b/spec/features/projects/edit_settings_spec.rb @@ -34,13 +34,13 @@ describe 'Projects', 'editing settings', type: :feature, js: true do let(:permissions) { %i(edit_project) } current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end shared_let(:project) do - FactoryBot.create(:project, name: 'Foo project', identifier: 'foo-project') + create(:project, name: 'Foo project', identifier: 'foo-project') end it 'hides the field whose functionality is presented otherwise' do @@ -84,12 +84,12 @@ describe 'Projects', 'editing settings', type: :feature, js: true do context 'with optional and required custom fields' do let!(:optional_custom_field) do - FactoryBot.create(:custom_field, name: 'Optional Foo', + create(:custom_field, name: 'Optional Foo', type: ProjectCustomField, is_for_all: true) end let!(:required_custom_field) do - FactoryBot.create(:custom_field, name: 'Required Foo', + create(:custom_field, name: 'Required Foo', type: ProjectCustomField, is_for_all: true, is_required: true) @@ -108,7 +108,7 @@ describe 'Projects', 'editing settings', type: :feature, js: true do context 'with a length restricted custom field' do let!(:required_custom_field) do - FactoryBot.create(:string_project_custom_field, + create(:string_project_custom_field, name: 'Foo', type: ProjectCustomField, min_length: 1, @@ -137,7 +137,7 @@ describe 'Projects', 'editing settings', type: :feature, js: true do context 'with a multi-select custom field' do include_context 'ng-select-autocomplete helpers' - let!(:list_custom_field) { FactoryBot.create(:list_project_custom_field, name: 'List CF', multi_value: true) } + let!(:list_custom_field) { create(:list_project_custom_field, name: 'List CF', multi_value: true) } let(:form_field) { ::FormFields::SelectFormField.new list_custom_field } it 'can select multiple values' do @@ -158,7 +158,7 @@ describe 'Projects', 'editing settings', type: :feature, js: true do end context 'with a date custom field' do - let!(:date_custom_field) { FactoryBot.create(:date_project_custom_field, name: 'Date') } + let!(:date_custom_field) { create(:date_project_custom_field, name: 'Date') } let(:form_field) { ::FormFields::InputFormField.new date_custom_field } it 'can save and remove the date (Regression #37459)' do @@ -181,7 +181,7 @@ describe 'Projects', 'editing settings', type: :feature, js: true do context 'with a user not allowed to see the parent project' do include_context 'ng-select-autocomplete helpers' - let(:parent_project) { FactoryBot.create(:project) } + let(:parent_project) { create(:project) } let(:parent_field) { ::FormFields::SelectFormField.new 'parent' } before do diff --git a/spec/features/projects/export_spec.rb b/spec/features/projects/export_spec.rb index acc8b5dda25..0fcb0a8db7b 100644 --- a/spec/features/projects/export_spec.rb +++ b/spec/features/projects/export_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'project export', type: :feature, js: true do - shared_let(:important_project) { FactoryBot.create :project, name: 'Important schedule plan' } - shared_let(:party_project) { FactoryBot.create :project, name: 'Christmas party' } + shared_let(:important_project) { create :project, name: 'Important schedule plan' } + shared_let(:party_project) { create :project, name: 'Christmas party' } shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_projects: [important_project, party_project], member_with_permissions: %w[view_project edit_project view_work_packages] end diff --git a/spec/features/projects/modules_spec.rb b/spec/features/projects/modules_spec.rb index 4a34ba62b8c..a3f0618b544 100644 --- a/spec/features/projects/modules_spec.rb +++ b/spec/features/projects/modules_spec.rb @@ -32,19 +32,19 @@ describe 'Projects module administration', type: :feature do let!(:project) do - FactoryBot.create(:project, + create(:project, enabled_module_names: []) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end let(:permissions) { %i(edit_project select_project_modules) } let(:settings_page) { Pages::Projects::Settings.new(project) } current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -104,7 +104,7 @@ describe 'Projects module administration', context 'with a user who does not have the correct permissions (#38097)' do let(:user_without_permission) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i(edit_project)) end diff --git a/spec/features/projects/project_autocomplete_spec.rb b/spec/features/projects/project_autocomplete_spec.rb index ee2016d9c05..70240ffcad4 100644 --- a/spec/features/projects/project_autocomplete_spec.rb +++ b/spec/features/projects/project_autocomplete_spec.rb @@ -29,22 +29,22 @@ require 'spec_helper' describe 'Projects autocomplete page', type: :feature, js: true do - let!(:user) { FactoryBot.create :user } + let!(:user) { create :user } let!(:project) do - FactoryBot.create(:project, + create(:project, name: 'Plain project', identifier: 'plain-project') end let!(:project2) do - FactoryBot.create(:project, + create(:project, name: 'foobar', identifier: 'foobar') end let!(:project3) do - FactoryBot.create(:project, + create(:project, name: 'Plain other project', parent: project2, identifier: 'plain-project-2') @@ -61,19 +61,19 @@ describe 'Projects autocomplete page', type: :feature, js: true do names.map do |name| identifier = name.gsub(/[ \-]+/, "-").downcase - FactoryBot.create :project, name: name, identifier: identifier + create :project, name: name, identifier: identifier end end let!(:non_member_project) do - FactoryBot.create :project + create :project end let!(:public_project) do - FactoryBot.create :public_project + create :public_project end # necessary to be able to see public projects - let!(:non_member_role) { FactoryBot.create :non_member } + let!(:non_member_role) { create :non_member } # we only need the public permissions: view_project, :view_news - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } include BecomeMember diff --git a/spec/features/projects/project_status_administration_spec.rb b/spec/features/projects/project_status_administration_spec.rb index 24c204f92b9..203ce01e4c9 100644 --- a/spec/features/projects/project_status_administration_spec.rb +++ b/spec/features/projects/project_status_administration_spec.rb @@ -32,16 +32,16 @@ describe 'Projects status administration', type: :feature, js: true do include_context 'ng-select-autocomplete helpers' let(:current_user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:global_member, + create(:user).tap do |u| + create(:global_member, principal: u, - roles: [FactoryBot.create(:global_role, permissions: global_permissions)]) + roles: [create(:global_role, permissions: global_permissions)]) end end let(:global_permissions) { [:add_project] } let(:project_permissions) { [:edit_project] } let!(:project_role) do - FactoryBot.create(:role, permissions: project_permissions).tap do |r| + create(:role, permissions: project_permissions).tap do |r| allow(Setting) .to receive(:new_project_user_role_id) .and_return(r.id.to_s) diff --git a/spec/features/projects/projects_custom_fields_spec.rb b/spec/features/projects/projects_custom_fields_spec.rb index 8c6d3dd2c08..3694f1adb42 100644 --- a/spec/features/projects/projects_custom_fields_spec.rb +++ b/spec/features/projects/projects_custom_fields_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Projects custom fields', type: :feature, js: true do - shared_let(:current_user) { FactoryBot.create(:admin) } - shared_let(:project) { FactoryBot.create(:project, name: 'Foo project', identifier: 'foo-project') } + shared_let(:current_user) { create(:admin) } + shared_let(:project) { create(:project, name: 'Foo project', identifier: 'foo-project') } let(:name_field) { ::FormFields::InputFormField.new :name } let(:identifier) { "[data-qa-field-name='customField#{custom_field.id}'] input[type=checkbox]" } @@ -40,7 +40,7 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with version CF' do let!(:custom_field) do - FactoryBot.create(:version_project_custom_field) + create(:version_project_custom_field) end let(:cf_field) { ::FormFields::SelectFormField.new custom_field } @@ -61,13 +61,13 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with default values' do let!(:default_int_custom_field) do - FactoryBot.create(:int_project_custom_field, default_value: 123) + create(:int_project_custom_field, default_value: 123) end let!(:default_string_custom_field) do - FactoryBot.create(:string_project_custom_field, default_value: 'lorem') + create(:string_project_custom_field, default_value: 'lorem') end let!(:no_default_string_custom_field) do - FactoryBot.create(:string_project_custom_field) + create(:string_project_custom_field) end let(:name_field) { ::FormFields::InputFormField.new :name } @@ -102,7 +102,7 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with long text CF' do let!(:custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end let(:editor) { ::Components::WysiwygEditor.new "[data-qa-field-name='customField#{custom_field.id}']" } @@ -132,13 +132,13 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with float CF' do let!(:float_cf) do - FactoryBot.create(:float_project_custom_field, name: 'MyFloat') + create(:float_project_custom_field, name: 'MyFloat') end let(:float_field) { ::FormFields::InputFormField.new float_cf } context 'with english locale' do - let(:current_user) { FactoryBot.create :admin, language: 'en' } + let(:current_user) { create :admin, language: 'en' } it 'displays the float with english locale' do visit new_project_path @@ -163,7 +163,7 @@ describe 'Projects custom fields', type: :feature, js: true do context 'with german locale', driver: :firefox_de do - let(:current_user) { FactoryBot.create :admin, language: 'de' } + let(:current_user) { create :admin, language: 'de' } it 'displays the float with german locale' do I18n.locale = :de @@ -193,7 +193,7 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with boolean CF' do let!(:custom_field) do - FactoryBot.create(:bool_project_custom_field) + create(:bool_project_custom_field) end scenario 'allows settings the project boolean CF (regression #26313)' do @@ -213,17 +213,17 @@ describe 'Projects custom fields', type: :feature, js: true do describe 'with user CF' do let!(:custom_field) do - FactoryBot.create(:user_project_custom_field) + create(:user_project_custom_field) end # Create a second project for visible options - let!(:existing_project) { FactoryBot.create :project } + let!(:existing_project) { create :project } # Assume one user is visible - let!(:invisible_user) { FactoryBot.create :user, firstname: 'Invisible', lastname: 'User' } - let!(:visible_user) { FactoryBot.create :user, firstname: 'Visible', lastname: 'User', member_in_project: existing_project } + let!(:invisible_user) { create :user, firstname: 'Invisible', lastname: 'User' } + let!(:visible_user) { create :user, firstname: 'Visible', lastname: 'User', member_in_project: existing_project } current_user do - FactoryBot.create :user, + create :user, firstname: 'Itsa me', lastname: 'Mario', member_in_project: existing_project, diff --git a/spec/features/projects/projects_index_spec.rb b/spec/features/projects/projects_index_spec.rb index 9d0b763a4da..ad9404680a0 100644 --- a/spec/features/projects/projects_index_spec.rb +++ b/spec/features/projects/projects_index_spec.rb @@ -33,21 +33,21 @@ describe 'Projects index page', clear_cache: true, js: true, with_settings: { login_required?: false } do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - shared_let(:manager) { FactoryBot.create :role, name: 'Manager' } - shared_let(:developer) { FactoryBot.create :role, name: 'Developer' } + shared_let(:manager) { create :role, name: 'Manager' } + shared_let(:developer) { create :role, name: 'Developer' } - shared_let(:custom_field) { FactoryBot.create :project_custom_field } - shared_let(:invisible_custom_field) { FactoryBot.create :project_custom_field, visible: false } + shared_let(:custom_field) { create :project_custom_field } + shared_let(:invisible_custom_field) { create :project_custom_field, visible: false } shared_let(:project) do - FactoryBot.create(:project, + create(:project, name: 'Plain project', identifier: 'plain-project') end shared_let(:public_project) do - project = FactoryBot.create(:project, + project = create(:project, name: 'Public project', identifier: 'public-project', public: true) @@ -56,11 +56,11 @@ describe 'Projects index page', project end shared_let(:development_project) do - FactoryBot.create(:project, + create(:project, name: 'Development project', identifier: 'development-project') end - let(:news) { FactoryBot.create(:news, project: project) } + let(:news) { create(:news, project: project) } let(:projects_page) { Pages::Projects::Index.new } def load_and_open_filters(user) @@ -105,7 +105,7 @@ describe 'Projects index page', feature 'for project members' do shared_let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: development_project, member_through_role: developer, login: 'nerd', @@ -341,12 +341,12 @@ describe 'Projects index page', feature 'Active or archived' do shared_let(:parent_project) do - FactoryBot.create(:project, + create(:project, name: 'Parent project', identifier: 'parent-project') end shared_let(:child_project) do - FactoryBot.create(:project, + create(:project, name: 'Child project', identifier: 'child-project', parent: parent_project) @@ -426,21 +426,21 @@ describe 'Projects index page', feature 'project status filter' do shared_let(:no_status_project) do # A project that never had project status associated. - FactoryBot.create(:project, + create(:project, name: 'No status project') end shared_let(:green_project) do # A project that has a project status associated. - FactoryBot.create(:project, + create(:project, name: 'Green project', - status: FactoryBot.create(:project_status)) + status: create(:project_status)) end shared_let(:gray_project) do # A project that once had a project status associated, that was later unset. - FactoryBot.create(:project, + create(:project, name: 'Gray project', - status: FactoryBot.create(:project_status, code: nil)) + status: create(:project_status, code: nil)) end scenario 'sort and filter on project status' do @@ -511,8 +511,8 @@ describe 'Projects index page', end feature 'other filter types' do - shared_let(:list_custom_field) { FactoryBot.create :list_project_custom_field } - shared_let(:date_custom_field) { FactoryBot.create :date_project_custom_field } + shared_let(:list_custom_field) { create :list_project_custom_field } + shared_let(:date_custom_field) { create :date_project_custom_field } shared_let(:datetime_of_this_week) do today = Date.today # Ensure that the date is not today but still in the middle of the week to not run into week-start-issues here. @@ -522,7 +522,7 @@ describe 'Projects index page', shared_let(:fixed_datetime) { DateTime.parse('2017-11-11T11:11:11+00:00') } shared_let(:project_created_on_today) do - project = FactoryBot.create(:project, + project = create(:project, name: 'Created today project', created_at: DateTime.now) project.custom_field_values = { list_custom_field.id => list_custom_field.possible_values[2], @@ -531,23 +531,23 @@ describe 'Projects index page', project end shared_let(:project_created_on_this_week) do - FactoryBot.create(:project, + create(:project, name: 'Created on this week project', created_at: datetime_of_this_week) end shared_let(:project_created_on_six_days_ago) do - FactoryBot.create(:project, + create(:project, name: 'Created on six days ago project', created_at: DateTime.now - 6.days) end shared_let(:project_created_on_fixed_date) do - FactoryBot.create(:project, + create(:project, name: 'Created on fixed date project', created_at: fixed_datetime) end shared_let(:todays_wp) do # This WP should trigger a change to the project's 'latest activity at' DateTime - FactoryBot.create(:work_package, + create(:work_package, updated_at: DateTime.now, project: project_created_on_today) end @@ -759,30 +759,30 @@ describe 'Projects index page', feature 'Non-admins with role with permission' do shared_let(:can_copy_projects_role) do - FactoryBot.create :role, name: 'Can Copy Projects Role', permissions: [:copy_projects] + create :role, name: 'Can Copy Projects Role', permissions: [:copy_projects] end shared_let(:can_add_subprojects_role) do - FactoryBot.create :role, name: 'Can Add Subprojects Role', permissions: [:add_subprojects] + create :role, name: 'Can Add Subprojects Role', permissions: [:add_subprojects] end shared_let(:parent_project) do - FactoryBot.create(:project, + create(:project, name: 'Parent project', identifier: 'parent-project') end shared_let(:can_copy_projects_manager) do - FactoryBot.create(:user, + create(:user, member_in_project: parent_project, member_through_role: can_copy_projects_role) end shared_let(:can_add_subprojects_manager) do - FactoryBot.create(:user, + create(:user, member_in_project: parent_project, member_through_role: can_add_subprojects_role) end let(:simple_member) do - FactoryBot.create(:user, + create(:user, member_in_project: parent_project, member_through_role: developer) end @@ -865,21 +865,21 @@ describe 'Projects index page', end feature 'order' do - shared_let(:integer_custom_field) { FactoryBot.create(:int_project_custom_field) } + shared_let(:integer_custom_field) { create(:int_project_custom_field) } # order is important here as the implementation uses lft # first but then reorders in ruby shared_let(:child_project_z) do - FactoryBot.create(:project, + create(:project, parent: project, name: "Z Child") end shared_let(:child_project_m) do - FactoryBot.create(:project, + create(:project, parent: project, name: "m Child") # intentionally written lowercase to test for case insensitive sorting end shared_let(:child_project_a) do - FactoryBot.create(:project, + create(:project, parent: project, name: "A Child") end @@ -971,7 +971,7 @@ describe 'Projects index page', end context 'with a multi-value custom field' do - let!(:list_custom_field) { FactoryBot.create(:list_project_custom_field, multi_value: true) } + let!(:list_custom_field) { create(:list_project_custom_field, multi_value: true) } before do project.custom_values << CustomValue.new(custom_field: list_custom_field, value: list_custom_field.value_of('A')) diff --git a/spec/features/projects/projects_portfolio_spec.rb b/spec/features/projects/projects_portfolio_spec.rb index f1dcdeee78a..5a5ae65acf3 100644 --- a/spec/features/projects/projects_portfolio_spec.rb +++ b/spec/features/projects/projects_portfolio_spec.rb @@ -33,7 +33,7 @@ describe 'Projects index page', with_ee: %i[custom_fields_in_projects_list], js: true, with_settings: { login_required?: false } do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:modal) { ::Components::WorkPackages::TableConfigurationModal.new } let(:model_filters) { ::Components::WorkPackages::TableConfiguration::Filters.new } @@ -58,7 +58,7 @@ describe 'Projects index page', end describe 'with only an archived project on index' do - let!(:project) { FactoryBot.create :project, active: false } + let!(:project) { create :project, active: false } it 'disables the button' do visit projects_path @@ -68,18 +68,18 @@ describe 'Projects index page', end describe 'with projects defined' do - let!(:string_cf) { FactoryBot.create(:string_project_custom_field, name: 'Foobar') } + let!(:string_cf) { create(:string_project_custom_field, name: 'Foobar') } - let(:cv_a) { FactoryBot.build :custom_value, custom_field: string_cf, value: 'A' } - let(:cv_b) { FactoryBot.build :custom_value, custom_field: string_cf, value: 'B' } + let(:cv_a) { build :custom_value, custom_field: string_cf, value: 'A' } + let(:cv_b) { build :custom_value, custom_field: string_cf, value: 'B' } - let!(:project_a) { FactoryBot.create :project, name: 'A', types: [type_milestone], custom_values: [cv_a] } - let!(:project_b) { FactoryBot.create :project, name: 'B', types: [type_milestone], custom_values: [cv_b] } + let!(:project_a) { create :project, name: 'A', types: [type_milestone], custom_values: [cv_a] } + let!(:project_b) { create :project, name: 'B', types: [type_milestone], custom_values: [cv_b] } - let!(:type_milestone) { FactoryBot.create :type, name: 'Milestone', is_milestone: true } + let!(:type_milestone) { create :type, name: 'Milestone', is_milestone: true } - let!(:work_package_a) { FactoryBot.create :work_package, subject: 'WP A', type: type_milestone, project: project_a } - let!(:work_package_b) { FactoryBot.create :work_package, subject: 'WP B', type: type_milestone, project: project_b } + let!(:work_package_a) { create :work_package, subject: 'WP A', type: type_milestone, project: project_a } + let!(:work_package_b) { create :work_package, subject: 'WP B', type: type_milestone, project: project_b } it 'can manage and browse the project portfolio Gantt' do visit admin_settings_projects_path diff --git a/spec/features/projects/subproject_creation_spec.rb b/spec/features/projects/subproject_creation_spec.rb index 1fcb038c866..ea7f9075d4a 100644 --- a/spec/features/projects/subproject_creation_spec.rb +++ b/spec/features/projects/subproject_creation_spec.rb @@ -31,21 +31,21 @@ require 'spec_helper' describe 'Subproject creation', type: :feature, js: true do let(:name_field) { ::FormFields::InputFormField.new :name } let(:parent_field) { ::FormFields::SelectFormField.new :parent } - let(:add_subproject_role) { FactoryBot.create(:role, permissions: %i[edit_project add_subprojects]) } - let(:view_project_role) { FactoryBot.create(:role, permissions: %i[edit_project]) } + let(:add_subproject_role) { create(:role, permissions: %i[edit_project add_subprojects]) } + let(:view_project_role) { create(:role, permissions: %i[edit_project]) } let!(:parent_project) do - FactoryBot.create(:project, + create(:project, name: 'Foo project', members: { current_user => add_subproject_role }) end let!(:other_project) do - FactoryBot.create(:project, + create(:project, name: 'Other project', members: { current_user => view_project_role }) end current_user do - FactoryBot.create(:user) + create(:user) end before do diff --git a/spec/features/projects/template_spec.rb b/spec/features/projects/template_spec.rb index 40298ffe76c..e1f29d6ad55 100644 --- a/spec/features/projects/template_spec.rb +++ b/spec/features/projects/template_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe 'Project templates', type: :feature, js: true do describe 'making project a template' do - let(:project) { FactoryBot.create :project } - shared_let(:admin) { FactoryBot.create :admin } + let(:project) { create :project } + shared_let(:admin) { create :admin } before do login_as admin @@ -58,17 +58,17 @@ describe 'Project templates', type: :feature, js: true do describe 'instantiating templates' do let!(:template) do - FactoryBot.create(:template_project, name: 'My template', enabled_module_names: %w[wiki work_package_tracking]) + create(:template_project, name: 'My template', enabled_module_names: %w[wiki work_package_tracking]) end - let!(:template_status) { FactoryBot.create(:project_status, project: template, explanation: 'source') } - let!(:other_project) { FactoryBot.create(:project, name: 'Some other project') } - let!(:work_package) { FactoryBot.create :work_package, project: template } - let!(:wiki_page) { FactoryBot.create(:wiki_page_with_content, wiki: template.wiki) } + let!(:template_status) { create(:project_status, project: template, explanation: 'source') } + let!(:other_project) { create(:project, name: 'Some other project') } + let!(:work_package) { create :work_package, project: template } + let!(:wiki_page) { create(:wiki_page_with_content, wiki: template.wiki) } let!(:role) do - FactoryBot.create(:role, permissions: %i[view_project view_work_packages copy_projects add_subprojects add_project]) + create(:role, permissions: %i[view_project view_work_packages copy_projects add_subprojects add_project]) end - let!(:current_user) { FactoryBot.create(:user, member_in_projects: [template, other_project], member_through_role: role) } + let!(:current_user) { create(:user, member_in_projects: [template, other_project], member_through_role: role) } let(:status_field_selector) { 'ckeditor-augmented-textarea[textarea-selector="#project_status_explanation"]' } let(:status_description) { ::Components::WysiwygEditor.new status_field_selector } diff --git a/spec/features/projects/work_package_type_mgmt_spec.rb b/spec/features/projects/work_package_type_mgmt_spec.rb index 0739b099cf9..02505626446 100644 --- a/spec/features/projects/work_package_type_mgmt_spec.rb +++ b/spec/features/projects/work_package_type_mgmt_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'Projects', 'work package type mgmt', type: :feature, js: true do - current_user { FactoryBot.create(:user, member_in_project: project, member_with_permissions: %i[edit_project manage_types]) } + current_user { create(:user, member_in_project: project, member_with_permissions: %i[edit_project manage_types]) } - let(:phase_type) { FactoryBot.create(:type, name: 'Phase', is_default: true) } - let(:milestone_type) { FactoryBot.create(:type, name: 'Milestone', is_default: false) } - let!(:project) { FactoryBot.create(:project, name: 'Foo project', types: [phase_type, milestone_type]) } + let(:phase_type) { create(:type, name: 'Phase', is_default: true) } + let(:milestone_type) { create(:type, name: 'Milestone', is_default: false) } + let!(:project) { create(:project, name: 'Foo project', types: [phase_type, milestone_type]) } it "have the correct types checked for the project's types" do visit projects_path diff --git a/spec/features/repositories/checkout_instructions_spec.rb b/spec/features/repositories/checkout_instructions_spec.rb index 2b505585fc8..6e4fac191a2 100644 --- a/spec/features/repositories/checkout_instructions_spec.rb +++ b/spec/features/repositories/checkout_instructions_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Create repository', type: :feature, js: true do - let(:current_user) { FactoryBot.create (:admin) } - let(:project) { FactoryBot.create(:project) } + let(:current_user) { create (:admin) } + let(:project) { create(:project) } let(:enabled_scms) { %w[git] } before do @@ -54,7 +54,7 @@ describe 'Create repository', type: :feature, js: true do end let!(:repository) do - repo = FactoryBot.build(:repository_git, scm_type: :managed) + repo = build(:repository_git, scm_type: :managed) repo.project = project repo.configure(:managed, nil) repo.save! diff --git a/spec/features/repositories/create_repository_spec.rb b/spec/features/repositories/create_repository_spec.rb index 0e3581fc2aa..e6cd05a3250 100644 --- a/spec/features/repositories/create_repository_spec.rb +++ b/spec/features/repositories/create_repository_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' require 'features/repositories/repository_settings_page' describe 'Create repository', type: :feature, js: true, selenium: true do - let(:current_user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:current_user) { create(:admin) } + let(:project) { create(:project) } let(:settings_page) { RepositorySettingsPage.new(project) } # Allow to override configuration values to determine diff --git a/spec/features/repositories/repository_settings_spec.rb b/spec/features/repositories/repository_settings_spec.rb index 9257413be8f..af0e4857af3 100644 --- a/spec/features/repositories/repository_settings_spec.rb +++ b/spec/features/repositories/repository_settings_spec.rb @@ -31,8 +31,8 @@ require 'features/repositories/repository_settings_page' require 'features/support/components/danger_zone' describe 'Repository Settings', type: :feature, js: true do - let(:current_user) { FactoryBot.create (:admin) } - let(:project) { FactoryBot.create(:project) } + let(:current_user) { create (:admin) } + let(:project) { create(:project) } let(:settings_page) { RepositorySettingsPage.new(project) } let(:dangerzone) { DangerZone.new(page) } @@ -105,7 +105,7 @@ describe 'Repository Settings', type: :feature, js: true do shared_examples 'manages the repository with' do |name, type, _repository_type, _project_name| let(:repository) do - FactoryBot.create("repository_#{name}".to_sym, + create("repository_#{name}".to_sym, scm_type: type, project: project) end @@ -179,7 +179,7 @@ describe 'Repository Settings', type: :feature, js: true do describe 'update repositories' do let(:repository) do - FactoryBot.create(:repository_subversion, + create(:repository_subversion, scm_type: :existing, project: project) end diff --git a/spec/features/roles/create_spec.rb b/spec/features/roles/create_spec.rb index 4ffd3231a9d..9a4e0696d08 100644 --- a/spec/features/roles/create_spec.rb +++ b/spec/features/roles/create_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe 'Role creation', type: :feature, js: true do - let!(:admin) { FactoryBot.create(:admin) } - let!(:existing_role) { FactoryBot.create(:role) } - let!(:existing_workflow) { FactoryBot.create(:workflow_with_default_status, role: existing_role, type: type) } - let!(:type) { FactoryBot.create(:type) } + let!(:admin) { create(:admin) } + let!(:existing_role) { create(:role) } + let!(:existing_workflow) { create(:workflow_with_default_status, role: existing_role, type: type) } + let!(:type) { create(:type) } let!(:non_member) do - FactoryBot.create(:non_member, permissions: %i[view_work_packages view_wiki_pages]) + create(:non_member, permissions: %i[view_work_packages view_wiki_pages]) end before do diff --git a/spec/features/search_spec.rb b/spec/features/search_spec.rb index 7b8d537111a..80f168c161a 100644 --- a/spec/features/search_spec.rb +++ b/spec/features/search_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe 'Search', type: :feature, js: true, with_settings: { per_page_options: '5' }, with_mail: false do include ::Components::NgSelectAutocompleteHelpers - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:searchable) { true } let(:is_filter) { true } @@ -41,7 +41,7 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: (1..12).map do |n| Timecop.freeze("2016-11-21 #{n}:00".to_datetime) do subject = "Subject No. #{n} WP" - FactoryBot.create :work_package, + create :work_package, subject: subject, project: project end @@ -49,13 +49,13 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: end let(:custom_field_text_value) { 'cf text value' } let!(:custom_field_text) do - FactoryBot.create(:text_wp_custom_field, + create(:text_wp_custom_field, is_filter: is_filter, searchable: searchable).tap do |custom_field| project.work_package_custom_fields << custom_field work_packages.first.type.custom_fields << custom_field - FactoryBot.create(:work_package_custom_value, + create(:work_package_custom_value, custom_field: custom_field, customized: work_packages[0], value: custom_field_text_value) @@ -63,14 +63,14 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: end let(:custom_field_string_value) { 'cf string value' } let!(:custom_field_string) do - FactoryBot.create(:string_wp_custom_field, + create(:string_wp_custom_field, is_for_all: true, is_filter: is_filter, searchable: searchable).tap do |custom_field| custom_field.save work_packages.first.type.custom_fields << custom_field - FactoryBot.create(:work_package_custom_value, + create(:work_package_custom_value, custom_field: custom_field, customized: work_packages[1], value: custom_field_string_value) @@ -101,7 +101,7 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: end describe 'autocomplete' do - let!(:other_work_package) { FactoryBot.create(:work_package, subject: 'Other work package', project: project) } + let!(:other_work_package) { create(:work_package, subject: 'Other work package', project: project) } it 'provides suggestions' do global_search.search(query, submit: false) @@ -211,9 +211,9 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: # rubocop:disable RSpec/MultipleMemoizedHelpers context 'project search' do - let(:subproject) { FactoryBot.create :project, parent: project } + let(:subproject) { create :project, parent: project } let!(:other_work_package) do - FactoryBot.create(:work_package, subject: 'Other work package', project: subproject) + create(:work_package, subject: 'Other work package', project: subproject) end let(:filters) { ::Components::WorkPackages::Filters.new } @@ -341,7 +341,7 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: context 'for a project search with attachments' do let!(:attachment) do - FactoryBot.create(:attachment, + create(:attachment, container: work_packages[9]).tap do |a| Attachment .where(id: a.id) @@ -378,8 +378,8 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: # rubocop:enable RSpec/MultipleMemoizedHelpers describe 'search for projects' do - let!(:searched_for_project) { FactoryBot.create(:project, name: 'Searched for project') } - let!(:other_project) { FactoryBot.create(:project, name: 'Other project') } + let!(:searched_for_project) { create(:project, name: 'Searched for project') } + let!(:other_project) { create(:project, name: 'Other project') } context 'globally' do it 'finds the project' do @@ -435,10 +435,10 @@ describe 'Search', type: :feature, js: true, with_settings: { per_page_options: end describe 'params escaping' do - let(:wp_1) { FactoryBot.create :work_package, subject: "Foo && Bar", project: project } - let(:wp_2) { FactoryBot.create :work_package, subject: "Foo # Bar", project: project } - let(:wp_3) { FactoryBot.create :work_package, subject: "Foo &# Bar", project: project } - let(:wp_4) { FactoryBot.create :work_package, subject: %(Foo '' "" \(\) Bar), project: project } + let(:wp_1) { create :work_package, subject: "Foo && Bar", project: project } + let(:wp_2) { create :work_package, subject: "Foo # Bar", project: project } + let(:wp_3) { create :work_package, subject: "Foo &# Bar", project: project } + let(:wp_4) { create :work_package, subject: %(Foo '' "" \(\) Bar), project: project } let!(:work_packages) { [wp_1, wp_2, wp_3, wp_4] } let(:table) { Pages::EmbeddedWorkPackagesTable.new(find('.work-packages-embedded-view--container')) } diff --git a/spec/features/security/expire_sessions_spec.rb b/spec/features/security/expire_sessions_spec.rb index 3195effdd5d..99a8b973996 100644 --- a/spec/features/security/expire_sessions_spec.rb +++ b/spec/features/security/expire_sessions_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe 'Expire old user sessions', with_config: { session_store: :active_record_store }, type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:admin_password) { 'adminADMIN!' } before do diff --git a/spec/features/security/session_ttl_spec.rb b/spec/features/security/session_ttl_spec.rb index eb6d4cbef55..922f96e1d8d 100644 --- a/spec/features/security/session_ttl_spec.rb +++ b/spec/features/security/session_ttl_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe 'Session TTL', with_settings: { session_ttl_enabled?: true, session_ttl: '10' }, type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:admin_password) { 'adminADMIN!' } - let!(:work_package) { FactoryBot.create :work_package } + let!(:work_package) { create :work_package } before do login_with(admin.login, admin_password) diff --git a/spec/features/statuses/read_only_statuses_spec.rb b/spec/features/statuses/read_only_statuses_spec.rb index 835cfdf5094..31f413b462b 100644 --- a/spec/features/statuses/read_only_statuses_spec.rb +++ b/spec/features/statuses/read_only_statuses_spec.rb @@ -32,34 +32,34 @@ describe 'Read-only statuses affect work package editing', with_ee: %i[readonly_work_packages], type: :feature, js: true do - let(:locked_status) { FactoryBot.create :status, name: 'Locked', is_readonly: true } - let(:unlocked_status) { FactoryBot.create :status, name: 'Unlocked', is_readonly: false } + let(:locked_status) { create :status, name: 'Locked', is_readonly: true } + let(:unlocked_status) { create :status, name: 'Unlocked', is_readonly: false } - let(:type) { FactoryBot.create :type_bug } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type_bug } + let(:project) { create :project, types: [type] } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, status: unlocked_status end - let(:role) { FactoryBot.create :role, permissions: %i[edit_work_packages view_work_packages] } + let(:role) { create :role, permissions: %i[edit_work_packages view_work_packages] } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let!(:workflow1) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: unlocked_status, new_status: locked_status, role: role end let!(:workflow2) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: locked_status, new_status: unlocked_status, diff --git a/spec/features/statuses/statuses_administration_spec.rb b/spec/features/statuses/statuses_administration_spec.rb index 10bd0b1be56..0a95d7466bb 100644 --- a/spec/features/statuses/statuses_administration_spec.rb +++ b/spec/features/statuses/statuses_administration_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Statuses administration', type: :feature do - let(:admin) { FactoryBot.create :admin } + let(:admin) { create :admin } before do login_as(admin) diff --git a/spec/features/types/activate_in_project_spec.rb b/spec/features/types/activate_in_project_spec.rb index 05ab029004f..21c74223a5f 100644 --- a/spec/features/types/activate_in_project_spec.rb +++ b/spec/features/types/activate_in_project_spec.rb @@ -31,13 +31,13 @@ require 'support/pages/custom_fields' describe 'types', js: true do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i(edit_project manage_types add_work_packages view_work_packages) end - let!(:active_type) { FactoryBot.create(:type) } - let!(:type) { FactoryBot.create(:type) } - let!(:project) { FactoryBot.create(:project, types: [active_type]) } + let!(:active_type) { create(:type) } + let!(:type) { create(:type) } + let!(:project) { create(:project, types: [active_type]) } let(:project_settings_page) { Pages::Projects::Settings.new(project) } let(:work_packages_page) { Pages::WorkPackagesTable.new(project) } diff --git a/spec/features/types/crud_spec.rb b/spec/features/types/crud_spec.rb index 109debdff38..a65852b72d9 100644 --- a/spec/features/types/crud_spec.rb +++ b/spec/features/types/crud_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' feature 'Types', type: :feature do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let!(:existing_role) { FactoryBot.create(:role) } - let!(:existing_workflow) { FactoryBot.create(:workflow_with_default_status, role: existing_role, type: existing_type) } - let!(:existing_type) { FactoryBot.create(:type) } + let!(:existing_role) { create(:role) } + let!(:existing_workflow) { create(:workflow_with_default_status, role: existing_role, type: existing_type) } + let!(:existing_type) { create(:type) } let(:index_page) { Pages::Types::Index.new } before do diff --git a/spec/features/types/form_configuration_query_spec.rb b/spec/features/types/form_configuration_query_spec.rb index ea55d23178a..8af01ea166a 100644 --- a/spec/features/types/form_configuration_query_spec.rb +++ b/spec/features/types/form_configuration_query_spec.rb @@ -30,14 +30,14 @@ require 'spec_helper' # rubocop:disable RSpec/MultipleMemoizedHelpers describe 'form query configuration', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } - let(:type_bug) { FactoryBot.create :type_bug } - let(:type_task) { FactoryBot.create :type_task } + shared_let(:admin) { create :admin } + let(:type_bug) { create :type_bug } + let(:type_task) { create :type_task } - let(:project) { FactoryBot.create :project, types: [type_bug, type_task] } - let(:other_project) { FactoryBot.create :project, types: [type_task] } + let(:project) { create :project, types: [type_bug, type_task] } + let(:other_project) { create :project, types: [type_task] } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, new_relation.merge( project: project, type: type_bug @@ -52,19 +52,19 @@ describe 'form query configuration', type: :feature, js: true do relation end let!(:related_task) do - FactoryBot.create :work_package, project: project, type: type_task + create :work_package, project: project, type: type_task end let!(:unrelated_task) do - FactoryBot.create :work_package, subject: 'Unrelated task', type: type_task, project: project + create :work_package, subject: 'Unrelated task', type: type_task, project: project end let!(:unrelated_bug) do - FactoryBot.create :work_package, subject: 'Unrelated bug', type: type_bug, project: project + create :work_package, subject: 'Unrelated bug', type: type_bug, project: project end let!(:related_task_other_project) do - FactoryBot.create :work_package, project: other_project, type: type_task + create :work_package, project: other_project, type: type_task end let!(:related_bug) do - FactoryBot.create :work_package, project: project, type: type_bug + create :work_package, project: project, type: type_bug end let(:wp_page) { Pages::FullWorkPackage.new(work_package) } @@ -133,7 +133,7 @@ describe 'form query configuration', type: :feature, js: true do end context 'with an archived project' do - let!(:archived) { FactoryBot.create :project, name: 'To be archived' } + let!(:archived) { create :project, name: 'To be archived' } it 'uses the valid subset of the query (Regression #40324)' do form.add_query_group('Archived project', :children) diff --git a/spec/features/types/form_configuration_spec.rb b/spec/features/types/form_configuration_spec.rb index 3ce7b9163ce..80bb7edae8b 100644 --- a/spec/features/types/form_configuration_spec.rb +++ b/spec/features/types/form_configuration_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe 'form configuration', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } - let(:type) { FactoryBot.create :type } + shared_let(:admin) { create :admin } + let(:type) { create :type } - let(:project) { FactoryBot.create :project, types: [type] } - let(:category) { FactoryBot.create :category, project: project } + let(:project) { create :project, types: [type] } + let(:category) { create :category, project: project } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, done_ratio: 10, @@ -247,7 +247,7 @@ describe 'form configuration', type: :feature, js: true do describe 'required custom field' do let(:custom_fields) { [custom_field] } - let(:custom_field) { FactoryBot.create(:integer_issue_custom_field, is_required: true, name: 'MyNumber') } + let(:custom_field) { create(:integer_issue_custom_field, is_required: true, name: 'MyNumber') } let(:cf_identifier) { "custom_field_#{custom_field.id}" } let(:cf_identifier_api) { "customField#{custom_field.id}" } @@ -277,7 +277,7 @@ describe 'form configuration', type: :feature, js: true do let(:project_settings_page) { Pages::Projects::Settings.new(project) } let(:custom_fields) { [custom_field] } - let(:custom_field) { FactoryBot.create(:integer_issue_custom_field, name: 'MyNumber') } + let(:custom_field) { create(:integer_issue_custom_field, name: 'MyNumber') } let(:cf_identifier) { "custom_field_#{custom_field.id}" } let(:cf_identifier_api) { "customField#{custom_field.id}" } @@ -336,7 +336,7 @@ describe 'form configuration', type: :feature, js: true do context 'active in project' do let(:project) do - FactoryBot.create :project, + create :project, types: [type], work_package_custom_fields: custom_fields end diff --git a/spec/features/types/reset_form_configuration_spec.rb b/spec/features/types/reset_form_configuration_spec.rb index d054c8ae246..f1e16930e33 100644 --- a/spec/features/types/reset_form_configuration_spec.rb +++ b/spec/features/types/reset_form_configuration_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' describe 'Reset form configuration', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } - let(:type) { FactoryBot.create :type } + shared_let(:admin) { create :admin } + let(:type) { create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:project) { create :project, types: [type] } let(:form) { ::Components::Admin::TypeConfigurationForm.new } let(:dialog) { ::Components::ConfirmationDialog.new } describe "with EE token and CFs" do let(:custom_fields) { [custom_field] } - let(:custom_field) { FactoryBot.create(:integer_issue_custom_field, is_required: true, name: 'MyNumber') } + let(:custom_field) { create(:integer_issue_custom_field, is_required: true, name: 'MyNumber') } let(:cf_identifier) { "custom_field_#{custom_field.id}" } let(:cf_identifier_api) { "customField#{custom_field.id}" } diff --git a/spec/features/users/brute_force_spec.rb b/spec/features/users/brute_force_spec.rb index 3f6b2ac5135..9b13983d073 100644 --- a/spec/features/users/brute_force_spec.rb +++ b/spec/features/users/brute_force_spec.rb @@ -33,7 +33,7 @@ describe 'Loggin (with brute force protection)', type: :feature do let(:password) { "PassW0rd!!!" } let(:invalid_password) { password[0..-2] } let!(:user) do - FactoryBot.create(:user, + create(:user, login: login, password: password, password_confirmation: password) diff --git a/spec/features/users/create_spec.rb b/spec/features/users/create_spec.rb index 84bd7689a6d..34e6a3d1de4 100644 --- a/spec/features/users/create_spec.rb +++ b/spec/features/users/create_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe 'create users', type: :feature, selenium: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } - let!(:auth_source) { FactoryBot.create :dummy_auth_source } + let!(:auth_source) { create :dummy_auth_source } let(:new_user_page) { Pages::NewUser.new } let(:mail) do ActionMailer::Base.deliveries.last @@ -144,7 +144,7 @@ describe 'create users', type: :feature, selenium: true do end context 'as global user' do - shared_let(:global_manage_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:global_manage_user) { create :user, global_permission: :manage_user } let(:current_user) { global_manage_user } context 'with internal authentication' do diff --git a/spec/features/users/delete_spec.rb b/spec/features/users/delete_spec.rb index 8fc69b3e563..cc70fcd6cad 100644 --- a/spec/features/users/delete_spec.rb +++ b/spec/features/users/delete_spec.rb @@ -38,7 +38,7 @@ describe 'user deletion: ', type: :feature, js: true do context 'regular user' do let(:user_password) { 'bob!' * 4 } let(:current_user) do - FactoryBot.create(:user, + create(:user, password: user_password, password_confirmation: user_password) end @@ -67,8 +67,8 @@ describe 'user deletion: ', type: :feature, js: true do end context 'user with global add role' do - let!(:user) { FactoryBot.create :user } - let(:current_user) { FactoryBot.create :user, global_permission: :manage_user } + let!(:user) { create :user } + let(:current_user) { create :user, global_permission: :manage_user } it 'can not delete even if settings allow it', js: true do Setting.users_deletable_by_admins = 1 @@ -83,10 +83,10 @@ describe 'user deletion: ', type: :feature, js: true do end context 'admin user' do - let!(:user) { FactoryBot.create :user } + let!(:user) { create :user } let(:user_password) { 'admin! * 4' } let(:current_user) do - FactoryBot.create(:admin, + create(:admin, password: user_password, password_confirmation: user_password) end diff --git a/spec/features/users/edit_users_spec.rb b/spec/features/users/edit_users_spec.rb index 3e7c099b63f..51f6636a1dc 100644 --- a/spec/features/users/edit_users_spec.rb +++ b/spec/features/users/edit_users_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'edit users', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } - let(:user) { FactoryBot.create :user, mail: 'foo@example.com' } + let(:user) { create :user, mail: 'foo@example.com' } - let!(:auth_source) { FactoryBot.create :auth_source } + let!(:auth_source) { create :auth_source } before do allow(User).to receive(:current).and_return current_user @@ -85,7 +85,7 @@ describe 'edit users', type: :feature, js: true do end context 'as global user' do - shared_let(:global_manage_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:global_manage_user) { create :user, global_permission: :manage_user } let(:current_user) { global_manage_user } it 'can too edit the user' do diff --git a/spec/features/users/index_spec.rb b/spec/features/users/index_spec.rb index 11554141a0c..86e92af055e 100644 --- a/spec/features/users/index_spec.rb +++ b/spec/features/users/index_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'index users', type: :feature do - shared_let(:current_user) { FactoryBot.create :admin, firstname: 'admin', lastname: 'admin', created_at: 1.hour.ago } + shared_let(:current_user) { create :admin, firstname: 'admin', lastname: 'admin', created_at: 1.hour.ago } let(:index_page) { Pages::Admin::Users::Index.new } before do @@ -37,9 +37,9 @@ describe 'index users', type: :feature do end describe 'with some sortable users' do - let!(:a_user) { FactoryBot.create :user, login: 'aa_login', firstname: 'aa_first', lastname: 'xxx_a' } - let!(:b_user) { FactoryBot.create :user, login: 'bb_login', firstname: 'bb_first', lastname: 'nnn_b' } - let!(:z_user) { FactoryBot.create :user, login: 'zz_login', firstname: 'zz_first', lastname: 'ccc_z' } + let!(:a_user) { create :user, login: 'aa_login', firstname: 'aa_first', lastname: 'xxx_a' } + let!(:b_user) { create :user, login: 'bb_login', firstname: 'bb_first', lastname: 'nnn_b' } + let!(:z_user) { create :user, login: 'zz_login', firstname: 'zz_first', lastname: 'ccc_z' } it 'sorts them correctly (Regression #35012)' do index_page.visit! @@ -60,10 +60,10 @@ describe 'index users', type: :feature do end describe 'with some more status users' do - shared_let(:anonymous) { FactoryBot.create :anonymous } - shared_let(:active_user) { FactoryBot.create :user, created_at: 1.minute.ago } - shared_let(:registered_user) { FactoryBot.create :user, status: User.statuses[:registered] } - shared_let(:invited_user) { FactoryBot.create :user, status: User.statuses[:invited] } + shared_let(:anonymous) { create :anonymous } + shared_let(:active_user) { create :user, created_at: 1.minute.ago } + shared_let(:registered_user) { create :user, status: User.statuses[:registered] } + shared_let(:invited_user) { create :user, status: User.statuses[:invited] } it 'shows the users by status and allows status manipulations', with_settings: { brute_force_block_after_failed_logins: 5, @@ -147,7 +147,7 @@ describe 'index users', type: :feature do end context 'as global user' do - shared_let(:global_manage_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:global_manage_user) { create :user, global_permission: :manage_user } let(:current_user) { global_manage_user } it 'can too visit the page' do diff --git a/spec/features/users/invitation_spec.rb b/spec/features/users/invitation_spec.rb index c3472a61649..2cadd8703c8 100644 --- a/spec/features/users/invitation_spec.rb +++ b/spec/features/users/invitation_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' feature 'invitation spec', type: :feature, js: true do - let(:user) { FactoryBot.create :invited_user, mail: 'holly@openproject.com' } + let(:user) { create :invited_user, mail: 'holly@openproject.com' } before do allow(User).to receive(:current).and_return current_user @@ -54,12 +54,12 @@ feature 'invitation spec', type: :feature, js: true do end context 'as admin' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:current_user) { admin } end context 'as global user' do - shared_let(:global_manage_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:global_manage_user) { create :user, global_permission: :manage_user } let(:current_user) { global_manage_user } end end diff --git a/spec/features/users/invite_user_modal/custom_fields_spec.rb b/spec/features/users/invite_user_modal/custom_fields_spec.rb index 2ae3a80a5db..8c284591870 100644 --- a/spec/features/users/invite_user_modal/custom_fields_spec.rb +++ b/spec/features/users/invite_user_modal/custom_fields_spec.rb @@ -30,32 +30,32 @@ require 'spec_helper' # rubocop:disable RSpec/MultipleMemoizedHelpers feature 'Invite user modal custom fields', type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project } + shared_let(:project) { create :project } let(:permissions) { %i[view_project manage_members] } let(:global_permissions) { %i[manage_user] } - let(:principal) { FactoryBot.build :invited_user } + let(:principal) { build :invited_user } let(:modal) do ::Components::Users::InviteUserModal.new project: project, principal: principal, role: role end let!(:role) do - FactoryBot.create :role, + create :role, name: 'Member', permissions: permissions end - let!(:boolean_cf) { FactoryBot.create :boolean_user_custom_field, name: 'bool', is_required: true } - let!(:integer_cf) { FactoryBot.create :integer_user_custom_field, name: 'int', is_required: true } - let!(:text_cf) { FactoryBot.create :text_user_custom_field, name: 'Text', is_required: true } - let!(:string_cf) { FactoryBot.create :string_user_custom_field, name: 'String', is_required: true } + let!(:boolean_cf) { create :boolean_user_custom_field, name: 'bool', is_required: true } + let!(:integer_cf) { create :integer_user_custom_field, name: 'int', is_required: true } + let!(:text_cf) { create :text_user_custom_field, name: 'Text', is_required: true } + let!(:string_cf) { create :string_user_custom_field, name: 'String', is_required: true } # TODO float not supported yet - #let!(:float_cf) { FactoryBot.create :float_user_custom_field, name: 'Float', is_required: true } - let!(:list_cf) { FactoryBot.create :list_user_custom_field, name: 'List', is_required: true } - let!(:list_multi_cf) { FactoryBot.create :list_user_custom_field, name: 'Multi list', multi_value: true, is_required: true } + #let!(:float_cf) { create :float_user_custom_field, name: 'Float', is_required: true } + let!(:list_cf) { create :list_user_custom_field, name: 'List', is_required: true } + let!(:list_multi_cf) { create :list_user_custom_field, name: 'Multi list', multi_value: true, is_required: true } - let!(:non_req_cf) { FactoryBot.create :string_user_custom_field, name: 'non req', is_required: false } + let!(:non_req_cf) { create :string_user_custom_field, name: 'non req', is_required: false } let(:boolean_field) { ::FormFields::InputFormField.new boolean_cf } let(:integer_field) { ::FormFields::InputFormField.new integer_cf } @@ -69,7 +69,7 @@ feature 'Invite user modal custom fields', type: :feature, js: true do let(:quick_add) { ::Components::QuickAddMenu.new } current_user do - FactoryBot.create :user, + create :user, :skip_validations, member_in_project: project, member_through_role: role, diff --git a/spec/features/users/invite_user_modal/invite_user_modal_spec.rb b/spec/features/users/invite_user_modal/invite_user_modal_spec.rb index 2cff3316366..6b8006f9357 100644 --- a/spec/features/users/invite_user_modal/invite_user_modal_spec.rb +++ b/spec/features/users/invite_user_modal/invite_user_modal_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Invite user modal', type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } + shared_let(:project) { create :project } + shared_let(:work_package) { create :work_package, project: project } let(:permissions) { %i[view_work_packages edit_work_packages manage_members] } let(:global_permissions) { %i[] } @@ -41,7 +41,7 @@ describe 'Invite user modal', type: :feature, js: true do invite_message: invite_message end let!(:role) do - FactoryBot.create :role, + create :role, name: 'Member', permissions: permissions end @@ -50,7 +50,7 @@ describe 'Invite user modal', type: :feature, js: true do let(:mail_invite_recipients) { [] } current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role, global_permissions: global_permissions @@ -112,7 +112,7 @@ describe 'Invite user modal', type: :feature, js: true do context 'with an existing user' do let!(:principal) do - FactoryBot.create :user, + create :user, firstname: 'Nonproject firstname', lastname: 'nonproject lastname' end @@ -124,7 +124,7 @@ describe 'Invite user modal', type: :feature, js: true do end context 'with a user to be invited' do - let(:principal) { FactoryBot.build :invited_user } + let(:principal) { build :invited_user } context 'when the current user has permissions to create a user' do let(:permissions) { %i[view_work_packages edit_work_packages manage_members] } @@ -151,14 +151,14 @@ describe 'Invite user modal', type: :feature, js: true do let(:permissions) { %i[view_work_packages edit_work_packages manage_members] } let(:global_permissions) { %i[manage_user] } - let(:project_no_permissions) { FactoryBot.create :project } + let(:project_no_permissions) { create :project } let(:role_no_permissions) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages] end let!(:membership_no_permission) do - FactoryBot.create :member, + create :member, user: current_user, project: project_no_permissions, roles: [role_no_permissions] @@ -171,9 +171,9 @@ describe 'Invite user modal', type: :feature, js: true do end context 'with a project that is archived' do - let!(:archived_project) { FactoryBot.create :project, active: false } + let!(:archived_project) { create :project, active: false } # Use admin to ensure all projects are visible - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } it 'disables projects for which you do not have rights' do ngselect = modal.open_select_in_step @@ -183,7 +183,7 @@ describe 'Invite user modal', type: :feature, js: true do end describe 'inviting placeholders' do - let(:principal) { FactoryBot.build :placeholder_user, name: 'MY NEW PLACEHOLDER' } + let(:principal) { build :placeholder_user, name: 'MY NEW PLACEHOLDER' } context 'an enterprise system', with_ee: %i[placeholder_users] do describe 'create a new placeholder' do @@ -212,7 +212,7 @@ describe 'Invite user modal', type: :feature, js: true do end context 'with an existing placeholder' do - let(:principal) { FactoryBot.create :placeholder_user, name: 'EXISTING PLACEHOLDER' } + let(:principal) { create :placeholder_user, name: 'EXISTING PLACEHOLDER' } let(:permissions) { %i[view_work_packages edit_work_packages manage_members] } let(:global_permissions) { %i[] } @@ -234,8 +234,8 @@ describe 'Invite user modal', type: :feature, js: true do end describe 'inviting groups' do - let(:group_user) { FactoryBot.create(:user) } - let(:principal) { FactoryBot.create :group, name: 'MY NEW GROUP', members: [group_user] } + let(:group_user) { create(:user) } + let(:principal) { create :group, name: 'MY NEW GROUP', members: [group_user] } it_behaves_like 'invites the principal to the project' do let(:added_principal) { principal } diff --git a/spec/features/users/invite_user_modal/permission_lacking_current_project_spec.rb b/spec/features/users/invite_user_modal/permission_lacking_current_project_spec.rb index 5ed8fd58c11..c1e5f2272b9 100644 --- a/spec/features/users/invite_user_modal/permission_lacking_current_project_spec.rb +++ b/spec/features/users/invite_user_modal/permission_lacking_current_project_spec.rb @@ -37,20 +37,20 @@ describe 'Inviting user in project the current user is lacking permission in', t let(:quick_add) { ::Components::QuickAddMenu.new } let(:view_role) do - FactoryBot.create :role, + create :role, permissions: [] end let(:invite_role) do - FactoryBot.create :role, + create :role, permissions: %i[manage_members] end - let!(:other_user) { FactoryBot.create(:user) } - let!(:view_project) { FactoryBot.create(:project, members: { current_user => view_role }) } - let!(:invite_project) { FactoryBot.create(:project, members: { current_user => invite_role }) } + let!(:other_user) { create(:user) } + let!(:view_project) { create(:project, members: { current_user => view_role }) } + let!(:invite_project) { create(:project, members: { current_user => invite_role }) } current_user do - FactoryBot.create :user + create :user end it 'user cannot invite in current project but for different one' do diff --git a/spec/features/users/invite_user_modal/subproject_invite_spec.rb b/spec/features/users/invite_user_modal/subproject_invite_spec.rb index fe52563b22a..46ac14c9c70 100644 --- a/spec/features/users/invite_user_modal/subproject_invite_spec.rb +++ b/spec/features/users/invite_user_modal/subproject_invite_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Invite user modal subprojects', type: :feature, js: true do - shared_let(:project) { FactoryBot.create :project, name: 'Parent project' } - shared_let(:subproject) { FactoryBot.create :project, name: 'Subproject', parent: project } - shared_let(:work_package) { FactoryBot.create :work_package, project: subproject } - shared_let(:invitable_user) { FactoryBot.create :user, firstname: 'Invitable', lastname: 'User' } + shared_let(:project) { create :project, name: 'Parent project' } + shared_let(:subproject) { create :project, name: 'Subproject', parent: project } + shared_let(:work_package) { create :work_package, project: subproject } + shared_let(:invitable_user) { create :user, firstname: 'Invitable', lastname: 'User' } let(:permissions) { %i[view_work_packages edit_work_packages manage_members] } let(:global_permissions) { %i[] } @@ -42,7 +42,7 @@ describe 'Invite user modal subprojects', type: :feature, js: true do role: role end let!(:role) do - FactoryBot.create :role, + create :role, name: 'Member', permissions: permissions end @@ -50,7 +50,7 @@ describe 'Invite user modal subprojects', type: :feature, js: true do let(:assignee_field) { wp_page.edit_field :assignee } current_user do - FactoryBot.create :user, + create :user, member_in_projects: [project, subproject], member_through_role: role, global_permissions: global_permissions diff --git a/spec/features/users/my_spec.rb b/spec/features/users/my_spec.rb index 804a97358ec..57fd05ba7b0 100644 --- a/spec/features/users/my_spec.rb +++ b/spec/features/users/my_spec.rb @@ -34,7 +34,7 @@ describe 'my', js: true do let(:user_password) { 'bob' * 4 } let(:user) do - FactoryBot.create(:user, + create(:user, mail: 'old@mail.com', login: 'bob', password: user_password, @@ -100,7 +100,7 @@ describe 'my', end context 'as admin' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } it 'requires the password' do diff --git a/spec/features/users/notifications/shared_examples.rb b/spec/features/users/notifications/shared_examples.rb index 252669f642f..c538b72ebec 100644 --- a/spec/features/users/notifications/shared_examples.rb +++ b/spec/features/users/notifications/shared_examples.rb @@ -1,10 +1,10 @@ shared_examples 'notification settings workflow' do describe 'with another project the user can see' do - let!(:project) { FactoryBot.create :project } - let!(:project_alt) { FactoryBot.create :project } - let!(:role) { FactoryBot.create :role, permissions: %i[view_project] } - let!(:member) { FactoryBot.create :member, user: user, project: project, roles: [role] } - let!(:member_two) { FactoryBot.create :member, user: user, project: project_alt, roles: [role] } + let!(:project) { create :project } + let!(:project_alt) { create :project } + let!(:role) { create :role, permissions: %i[view_project] } + let!(:member) { create :member, user: user, project: project, roles: [role] } + let!(:member_two) { create :member, user: user, project: project_alt, roles: [role] } it 'allows to control notification settings' do # Expect default settings diff --git a/spec/features/users/notifications/user_notifications_settings_spec.rb b/spec/features/users/notifications/user_notifications_settings_spec.rb index ade96cd49be..20462b38840 100644 --- a/spec/features/users/notifications/user_notifications_settings_spec.rb +++ b/spec/features/users/notifications/user_notifications_settings_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' require_relative './shared_examples' describe "user notifications settings", type: :feature, js: true do - shared_let(:user) { FactoryBot.create :user } + shared_let(:user) { create :user } let(:settings_page) { ::Pages::Notifications::Settings.new(user) } @@ -12,13 +12,13 @@ describe "user notifications settings", type: :feature, js: true do end context 'as admin' do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } it_behaves_like 'notification settings workflow' end context 'as regular user' do - let(:current_user) { FactoryBot.create :user } + let(:current_user) { create :user } it 'does not allow to visit the page' do expect(page).to have_text 'You are not authorized to access this page.' diff --git a/spec/features/users/password_change_spec.rb b/spec/features/users/password_change_spec.rb index 5fade508b01..5a52e7461e7 100644 --- a/spec/features/users/password_change_spec.rb +++ b/spec/features/users/password_change_spec.rb @@ -32,12 +32,12 @@ describe 'random password generation', with_config: { session_store: :active_record_store }, type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:auth_source) { FactoryBot.build :dummy_auth_source } + let(:auth_source) { build :dummy_auth_source } let(:old_password) { 'old_Password!123' } let(:new_password) { 'new_Password!123' } - let(:user) { FactoryBot.create :user, password: old_password, password_confirmation: old_password } + let(:user) { create :user, password: old_password, password_confirmation: old_password } let(:user_page) { ::Pages::Admin::Users::Edit.new(user.id) } describe 'as admin user' do diff --git a/spec/features/users/self_registration_spec.rb b/spec/features/users/self_registration_spec.rb index ccdfee231f7..9bcd9db76dc 100644 --- a/spec/features/users/self_registration_spec.rb +++ b/spec/features/users/self_registration_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe 'user self registration', type: :feature, js: true do let(:admin_password) { 'Test123Test123' } - let(:admin) { FactoryBot.create :admin, password: admin_password, password_confirmation: admin_password } + let(:admin) { create :admin, password: admin_password, password_confirmation: admin_password } let(:home_page) { Pages::Home.new } context 'with "manual account activation"', diff --git a/spec/features/users/user_memberships_spec.rb b/spec/features/users/user_memberships_spec.rb index c44740d4a43..7a28bf4f8e0 100644 --- a/spec/features/users/user_memberships_spec.rb +++ b/spec/features/users/user_memberships_spec.rb @@ -32,11 +32,11 @@ require_relative '../principals/shared_memberships_examples' feature 'user memberships through user page', type: :feature, js: true do include_context 'principal membership management context' - shared_let(:principal) { FactoryBot.create :user, firstname: 'Foobar', lastname: 'Blabla' } + shared_let(:principal) { create :user, firstname: 'Foobar', lastname: 'Blabla' } shared_let(:principal_page) { Pages::Admin::IndividualPrincipals::Edit.new(principal) } context 'as admin' do - current_user { FactoryBot.create :admin } + current_user { create :admin } it_behaves_like 'principal membership management flows' end diff --git a/spec/features/versions/create_spec.rb b/spec/features/versions/create_spec.rb index a64488756b6..558d9c370a7 100644 --- a/spec/features/versions/create_spec.rb +++ b/spec/features/versions/create_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' describe 'version create', type: :feature, js: false do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[manage_versions view_work_packages]) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:new_version_name) { 'A new version name' } before do diff --git a/spec/features/versions/edit_spec.rb b/spec/features/versions/edit_spec.rb index 672f40cb48d..176eb580034 100644 --- a/spec/features/versions/edit_spec.rb +++ b/spec/features/versions/edit_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' feature 'version edit', type: :feature do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: version.project, member_with_permissions: %i[manage_versions view_work_packages]) end - let(:version) { FactoryBot.create(:version) } + let(:version) { create(:version) } let(:new_version_name) { 'A new version name' } before do diff --git a/spec/features/versions/graph_spec.rb b/spec/features/versions/graph_spec.rb index 09a8f856b12..d2af9ccffaf 100644 --- a/spec/features/versions/graph_spec.rb +++ b/spec/features/versions/graph_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe 'version show graph', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } - let(:version) { FactoryBot.create(:version, project: project) } + let(:user) { create :admin } + let(:project) { create(:project) } + let(:version) { create(:version, project: project) } let!(:wp) do - FactoryBot.create :work_package, + create :work_package, project: project, version: version end diff --git a/spec/features/versions/project_settings_index_spec.rb b/spec/features/versions/project_settings_index_spec.rb index 0952aa6501d..e67543fcdd1 100644 --- a/spec/features/versions/project_settings_index_spec.rb +++ b/spec/features/versions/project_settings_index_spec.rb @@ -30,17 +30,17 @@ require 'spec_helper' feature 'project settings index', type: :feature do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[manage_versions]) end - let(:project) { FactoryBot.create(:project) } - let!(:version1) { FactoryBot.create(:version, name: "aaaaa 1.", project: project) } - let!(:version2) { FactoryBot.create(:version, name: "aaaaa", project: project) } - let!(:version3) { FactoryBot.create(:version, name: "1.10. aaa", project: project) } - let!(:version4) { FactoryBot.create(:version, name: "1.1. zzz", project: project) } - let!(:version5) { FactoryBot.create(:version, name: "1.2. mmm", project: project) } - let!(:version6) { FactoryBot.create(:version, name: "1. xxxx", project: project) } + let(:project) { create(:project) } + let!(:version1) { create(:version, name: "aaaaa 1.", project: project) } + let!(:version2) { create(:version, name: "aaaaa", project: project) } + let!(:version3) { create(:version, name: "1.10. aaa", project: project) } + let!(:version4) { create(:version, name: "1.1. zzz", project: project) } + let!(:version5) { create(:version, name: "1.2. mmm", project: project) } + let!(:version6) { create(:version, name: "1. xxxx", project: project) } before do login_as(user) diff --git a/spec/features/watching/toggle_watching_spec.rb b/spec/features/watching/toggle_watching_spec.rb index a68b85034db..2af07b74ba1 100644 --- a/spec/features/watching/toggle_watching_spec.rb +++ b/spec/features/watching/toggle_watching_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe 'Toggle watching', type: :feature, js: true do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: %i[view_messages view_wiki_pages]) } - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:news) { FactoryBot.create(:news, project: project) } - let(:forum) { FactoryBot.create(:forum, project: project) } - let(:message) { FactoryBot.create(:message, forum: forum) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: %i[view_messages view_wiki_pages]) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:news) { create(:news, project: project) } + let(:forum) { create(:forum, project: project) } + let(:message) { create(:message, forum: forum) } let(:wiki) { project.wiki } - let(:wiki_page) { FactoryBot.create(:wiki_page_with_content, wiki: wiki) } + let(:wiki_page) { create(:wiki_page_with_content, wiki: wiki) } before do allow(User).to receive(:current).and_return user diff --git a/spec/features/wiki/adding_editing_history_spec.rb b/spec/features/wiki/adding_editing_history_spec.rb index 91061d10212..8dfe6673c6e 100644 --- a/spec/features/wiki/adding_editing_history_spec.rb +++ b/spec/features/wiki/adding_editing_history_spec.rb @@ -30,20 +30,20 @@ require 'spec_helper' describe 'wiki pages', type: :feature, js: true, with_settings: { journal_aggregation_time_minutes: 0 } do let(:project) do - FactoryBot.create(:project, enabled_module_names: [:news]) + create(:project, enabled_module_names: [:news]) end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:other_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_wiki_pages edit_wiki_pages view_wiki_edits diff --git a/spec/features/wiki/attachment_upload_spec.rb b/spec/features/wiki/attachment_upload_spec.rb index fa604f3a444..ecd50badb76 100644 --- a/spec/features/wiki/attachment_upload_spec.rb +++ b/spec/features/wiki/attachment_upload_spec.rb @@ -33,11 +33,11 @@ require 'features/page_objects/notification' describe 'Upload attachment to wiki page', js: true do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_wiki_pages edit_wiki_pages] end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:attachments) { ::Components::Attachments.new } let(:image_fixture) { UploadedFile.load_from('spec/fixtures/files/image.png') } let(:editor) { ::Components::WysiwygEditor.new } diff --git a/spec/features/wiki/child_pages_spec.rb b/spec/features/wiki/child_pages_spec.rb index 5dbb2f54da0..b3039a32d5f 100644 --- a/spec/features/wiki/child_pages_spec.rb +++ b/spec/features/wiki/child_pages_spec.rb @@ -30,19 +30,19 @@ require 'spec_helper' describe 'wiki child pages', type: :feature, js: true do let(:project) do - FactoryBot.create(:project) + create(:project) end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_wiki_pages edit_wiki_pages]) end let(:parent_page) do - FactoryBot.create(:wiki_page_with_content, + create(:wiki_page_with_content, wiki: project.wiki) end let(:child_page_name) { 'The child page !@#{$%^&*()_},./<>?;\':' } diff --git a/spec/features/wiki/edit_new_page_spec.rb b/spec/features/wiki/edit_new_page_spec.rb index 4d942aff40f..63aafbfaf0b 100644 --- a/spec/features/wiki/edit_new_page_spec.rb +++ b/spec/features/wiki/edit_new_page_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Editing a new wiki page', type: :feature, js: true do - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } - let(:user) { FactoryBot.create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } + let(:user) { create :admin } before do login_as(user) diff --git a/spec/features/wiki/rename_spec.rb b/spec/features/wiki/rename_spec.rb index 6b947e7b642..2d48e5dc81b 100644 --- a/spec/features/wiki/rename_spec.rb +++ b/spec/features/wiki/rename_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe 'Wiki page', type: :feature, js: true do - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_wiki_pages rename_wiki_pages] end let!(:wiki_page) do - FactoryBot.create(:wiki_page_with_content, wiki: project.wiki, title: initial_name) + create(:wiki_page_with_content, wiki: project.wiki, title: initial_name) end let(:initial_name) { 'Initial name' } let(:rename_name) { 'Rename name' } diff --git a/spec/features/wiki/wiki_page_navigation_spec.rb b/spec/features/wiki/wiki_page_navigation_spec.rb index 0f4587562a2..18c718acbd5 100644 --- a/spec/features/wiki/wiki_page_navigation_spec.rb +++ b/spec/features/wiki/wiki_page_navigation_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe 'Wiki page navigation spec', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } current_user { admin } - let(:project) { FactoryBot.create :project, enabled_module_names: %w[wiki] } + let(:project) { create :project, enabled_module_names: %w[wiki] } let!(:wiki_page_55) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, wiki: project.wiki, title: 'Wiki Page No. 55' end let!(:wiki_pages) do - FactoryBot.create_list(:wiki_page_with_content, 30, wiki: project.wiki) + create_list(:wiki_page_with_content, 30, wiki: project.wiki) end # Always use the same user for the wiki pages diff --git a/spec/features/wiki/wiki_unicode_spec.rb b/spec/features/wiki/wiki_unicode_spec.rb index dadc3763bde..bb73a44186e 100644 --- a/spec/features/wiki/wiki_unicode_spec.rb +++ b/spec/features/wiki/wiki_unicode_spec.rb @@ -29,20 +29,20 @@ require 'spec_helper' describe 'Wiki unicode title spec', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:wiki_page_1) do - FactoryBot.build :wiki_page_with_content, + build :wiki_page_with_content, title: '' end let(:wiki_page_2) do - FactoryBot.build :wiki_page_with_content, + build :wiki_page_with_content, title: 'Base de données' end let(:wiki_page_3) do - FactoryBot.build :wiki_page_with_content, + build :wiki_page_with_content, title: 'Base_de_données' end diff --git a/spec/features/work_package_show_spec.rb b/spec/features/work_package_show_spec.rb index c17da7ba700..79270c8df91 100644 --- a/spec/features/work_package_show_spec.rb +++ b/spec/features/work_package_show_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' RSpec.feature 'Work package show page', selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, project: project, assigned_to: user, responsible: user) diff --git a/spec/features/work_packages/attachments/attachment_upload_spec.rb b/spec/features/work_packages/attachments/attachment_upload_spec.rb index 5baddbcba5e..8a44ade81ca 100644 --- a/spec/features/work_packages/attachments/attachment_upload_spec.rb +++ b/spec/features/work_packages/attachments/attachment_upload_spec.rb @@ -3,18 +3,18 @@ require 'features/page_objects/notification' describe 'Upload attachment to work package', js: true do let(:role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages add_work_packages edit_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: role end - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project, description: 'Initial description') } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project, description: 'Initial description') } let(:wp_page) { ::Pages::FullWorkPackage.new(work_package, project) } let(:attachments) { ::Components::Attachments.new } let(:field) { TextEditorField.new wp_page, 'description' } @@ -50,7 +50,7 @@ describe 'Upload attachment to work package', js: true do context 'with a user that is not allowed to add images (Regression #28541)' do let(:role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages add_work_packages add_work_package_notes] end let(:selector) { '.work-packages--activity--add-comment' } @@ -79,11 +79,11 @@ describe 'Upload attachment to work package', js: true do context 'on a new page' do shared_examples 'it supports image uploads via drag & drop' do let!(:new_page) { Pages::FullWorkPackageCreate.new } - let!(:type) { FactoryBot.create(:type_task) } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } + let!(:type) { create(:type_task) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } let!(:project) do - FactoryBot.create(:project, types: [type]) + create(:project, types: [type]) end let(:post_conditions) { nil } diff --git a/spec/features/work_packages/attribute_help_texts_spec.rb b/spec/features/work_packages/attribute_help_texts_spec.rb index b9fb4ed0b33..3bf4f912fb4 100644 --- a/spec/features/work_packages/attribute_help_texts_spec.rb +++ b/spec/features/work_packages/attribute_help_texts_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'Work package attribute help texts', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:project) { create :project } + let(:work_package) { create :work_package, project: project } let(:instance) do - FactoryBot.create :work_package_help_text, + create :work_package_help_text, attribute_name: :status, help_text: 'Some **help text** for status.' end @@ -64,16 +64,16 @@ describe 'Work package attribute help texts', type: :feature, js: true do end describe 'as admin' do - let(:user) { FactoryBot.create(:admin) } + let(:user) { create(:admin) } it_behaves_like 'allows to view help texts' end describe 'as regular user' do let(:view_wps_role) do - FactoryBot.create :role, permissions: [:view_work_packages] + create :role, permissions: [:view_work_packages] end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: view_wps_role end diff --git a/spec/features/work_packages/bulk/copy_work_package_spec.rb b/spec/features/work_packages/bulk/copy_work_package_spec.rb index 5db7536dafa..e826cb6103e 100644 --- a/spec/features/work_packages/bulk/copy_work_package_spec.rb +++ b/spec/features/work_packages/bulk/copy_work_package_spec.rb @@ -2,21 +2,21 @@ require 'spec_helper' require 'features/page_objects/notification' describe 'Copy work packages through Rails view', js: true do - shared_let(:type) { FactoryBot.create :type, name: 'Bug' } - shared_let(:type2) { FactoryBot.create :type, name: 'Risk' } + shared_let(:type) { create :type, name: 'Bug' } + shared_let(:type2) { create :type, name: 'Risk' } - shared_let(:project) { FactoryBot.create(:project, name: 'Source', types: [type, type2]) } - shared_let(:project2) { FactoryBot.create(:project, name: 'Target', types: [type, type2]) } + shared_let(:project) { create(:project, name: 'Source', types: [type, type2]) } + shared_let(:project2) { create(:project, name: 'Target', types: [type, type2]) } shared_let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_with_permissions: %i[view_work_packages] end shared_let(:mover) do - FactoryBot.create :user, + create :user, firstname: 'Manager', lastname: 'Guy', member_in_projects: [project, project2], @@ -29,18 +29,18 @@ describe 'Copy work packages through Rails view', js: true do end shared_let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type) end shared_let(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type) end - shared_let(:version) { FactoryBot.create :version, project: project2 } + shared_let(:version) { create :version, project: project2 } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:context_menu) { Components::WorkPackages::ContextMenu.new } @@ -95,7 +95,7 @@ describe 'Copy work packages through Rails view', js: true do context 'with a work package having a child' do let!(:child) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type, @@ -124,7 +124,7 @@ describe 'Copy work packages through Rails view', js: true do context 'when the target project does not have the type' do let!(:child) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type, diff --git a/spec/features/work_packages/bulk/move_work_package_spec.rb b/spec/features/work_packages/bulk/move_work_package_spec.rb index 59a2ade73da..4139b4e5da0 100644 --- a/spec/features/work_packages/bulk/move_work_package_spec.rb +++ b/spec/features/work_packages/bulk/move_work_package_spec.rb @@ -4,49 +4,49 @@ require 'features/page_objects/notification' # rubocop:disable RSpec/MultipleMemoizedHelpers describe 'Moving a work package through Rails view', js: true do let(:dev_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages add_work_packages] end let(:mover_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages move_work_packages manage_subtasks add_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: dev_role end let(:mover) do - FactoryBot.create :admin, + create :admin, firstname: 'Manager', lastname: 'Guy', member_in_project: project, member_through_role: mover_role end - let(:type) { FactoryBot.create :type, name: 'Bug' } - let(:type2) { FactoryBot.create :type, name: 'Risk' } + let(:type) { create :type, name: 'Bug' } + let(:type2) { create :type, name: 'Risk' } - let!(:project) { FactoryBot.create(:project, name: 'Source', types: [type, type2]) } - let!(:project2) { FactoryBot.create(:project, name: 'Target', types: [type, type2]) } + let!(:project) { create(:project, name: 'Source', types: [type, type2]) } + let!(:project2) { create(:project, name: 'Target', types: [type, type2]) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type, status: status) end let(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, project: project, type: type, status: work_package2_status) end - let(:status) { FactoryBot.create(:status) } + let(:status) { create(:status) } let(:work_package2_status) { status } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } @@ -65,7 +65,7 @@ describe 'Moving a work package through Rails view', js: true do describe 'moving a work package and its children' do let(:work_packages) { [work_package, child_wp] } let(:child_wp) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, parent: work_package, project: project, @@ -97,7 +97,7 @@ describe 'Moving a work package through Rails view', js: true do end context 'when the target project does not have the type' do - let!(:project2) { FactoryBot.create(:project, name: 'Target', types: [type2]) } + let!(:project2) { create(:project, name: 'Target', types: [type2]) } it 'does moves the work package and changes the type' do expect_angular_frontend_initialized @@ -127,7 +127,7 @@ describe 'Moving a work package through Rails view', js: true do describe 'moving an unmovable (e.g. readonly status) and a movable work package', with_ee: %i[readonly_work_packages] do let(:work_packages) { [work_package, work_package2] } - let(:work_package2_status) { FactoryBot.create(:status, is_readonly: true) } + let(:work_package2_status) { create(:status, is_readonly: true) } before do loading_indicator_saveguard diff --git a/spec/features/work_packages/bulk/update_work_package_spec.rb b/spec/features/work_packages/bulk/update_work_package_spec.rb index b92c73ba44a..b1641d541d6 100644 --- a/spec/features/work_packages/bulk/update_work_package_spec.rb +++ b/spec/features/work_packages/bulk/update_work_package_spec.rb @@ -4,53 +4,53 @@ require 'features/page_objects/notification' # rubocop:disable RSpec/MultipleMemoizedHelpers describe 'Bulk update work packages through Rails view', js: true do let(:dev_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages] end let(:mover_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages copy_work_packages move_work_packages manage_subtasks add_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: dev_role end let(:mover) do - FactoryBot.create :admin, + create :admin, firstname: 'Manager', lastname: 'Guy', member_in_project: project, member_through_role: mover_role end - let(:type) { FactoryBot.create :type, name: 'Bug' } + let(:type) { create :type, name: 'Bug' } - let!(:project) { FactoryBot.create(:project, name: 'Source', types: [type]) } + let!(:project) { create(:project, name: 'Source', types: [type]) } - let!(:status) { FactoryBot.create :status } + let!(:status) { create :status } let(:work_package2_status) { status } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, status: status, project: project, type: type) end let!(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, author: dev, status: work_package2_status, project: project, type: type) end - let!(:status2) { FactoryBot.create :default_status } + let!(:status2) { create :default_status } let!(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: work_package.status, new_status: status2, @@ -101,7 +101,7 @@ describe 'Bulk update work packages through Rails view', js: true do end context 'when making an error in the form' do - let(:work_package2_status) { FactoryBot.create(:status) } # without creating a workflow + let(:work_package2_status) { create(:status) } # without creating a workflow it 'does not update the work packages' do fill_in 'work_package_start_date', with: '123' diff --git a/spec/features/work_packages/cancel_editing_spec.rb b/spec/features/work_packages/cancel_editing_spec.rb index 09e656255b0..0a1aaa3d63e 100644 --- a/spec/features/work_packages/cancel_editing_spec.rb +++ b/spec/features/work_packages/cancel_editing_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Cancel editing work package', js: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:work_package2) { FactoryBot.create(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } + let(:work_package2) { create(:work_package, project: project) } let(:wp_page) { ::Pages::AbstractWorkPackage.new(work_package) } let(:wp_table) { ::Pages::WorkPackagesTable.new } let(:paths) do @@ -182,7 +182,7 @@ describe 'Cancel editing work package', js: true do context 'when user does not want to be warned' do before do - FactoryBot.create(:user_preference, user: user, others: { warn_on_leaving_unsaved: false }) + create(:user_preference, user: user, others: { warn_on_leaving_unsaved: false }) end it 'does not alert when moving anywhere' do diff --git a/spec/features/work_packages/cards/wp_card_status_spec.rb b/spec/features/work_packages/cards/wp_card_status_spec.rb index 70f578bb1ff..20423864b90 100644 --- a/spec/features/work_packages/cards/wp_card_status_spec.rb +++ b/spec/features/work_packages/cards/wp_card_status_spec.rb @@ -30,22 +30,22 @@ require 'spec_helper' describe 'Update status from WP card', type: :feature, js: true do let(:manager_role) do - FactoryBot.create :role, permissions: %i[view_work_packages edit_work_packages] + create :role, permissions: %i[view_work_packages edit_work_packages] end let(:manager) do - FactoryBot.create :user, + create :user, firstname: 'Manager', lastname: 'Guy', member_in_project: project, member_through_role: manager_role end - let(:status1) { FactoryBot.create :status } - let(:status2) { FactoryBot.create :status } + let(:status1) { create :status } + let(:status2) { create :status } - let(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type } + let!(:project) { create(:project, types: [type]) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, status: status1, @@ -53,7 +53,7 @@ describe 'Update status from WP card', type: :feature, js: true do end let!(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status1, new_status: status2, diff --git a/spec/features/work_packages/copy_spec.rb b/spec/features/work_packages/copy_spec.rb index 02eb8d23267..3acd372ae4c 100644 --- a/spec/features/work_packages/copy_spec.rb +++ b/spec/features/work_packages/copy_spec.rb @@ -30,30 +30,30 @@ require 'spec_helper' RSpec.feature 'Work package copy', js: true, selenium: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: create_role) end let(:work_flow) do - FactoryBot.create(:workflow, + create(:workflow, role: create_role, type_id: original_work_package.type_id, old_status: original_work_package.status, - new_status: FactoryBot.create(:status)) + new_status: create(:status)) end let(:create_role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_work_packages add_work_packages manage_work_package_relations edit_work_packages assign_versions]) end - let(:type) { FactoryBot.create(:type) } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create(:type) } + let(:project) { create(:project, types: [type]) } let(:original_work_package) do - FactoryBot.build(:work_package, + build(:work_package, project: project, assigned_to: assignee, responsible: responsible, @@ -61,30 +61,30 @@ RSpec.feature 'Work package copy', js: true, selenium: true do type: type, author: author) end - let(:role) { FactoryBot.build(:role, permissions: [:view_work_packages]) } + let(:role) { build(:role, permissions: [:view_work_packages]) } let(:assignee) do - FactoryBot.create(:user, + create(:user, firstname: 'An', lastname: 'assignee', member_in_project: project, member_through_role: role) end let(:responsible) do - FactoryBot.create(:user, + create(:user, firstname: 'The', lastname: 'responsible', member_in_project: project, member_through_role: role) end let(:author) do - FactoryBot.create(:user, + create(:user, firstname: 'The', lastname: 'author', member_in_project: project, member_through_role: role) end let(:version) do - FactoryBot.build(:version, + build(:version, project: project) end diff --git a/spec/features/work_packages/custom_actions/custom_actions_me_value_spec.rb b/spec/features/work_packages/custom_actions/custom_actions_me_value_spec.rb index 1b89181bff9..cb0c98fda76 100644 --- a/spec/features/work_packages/custom_actions/custom_actions_me_value_spec.rb +++ b/spec/features/work_packages/custom_actions/custom_actions_me_value_spec.rb @@ -29,27 +29,27 @@ require 'spec_helper' describe 'Custom actions me value', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:permissions) { %i(view_work_packages edit_work_packages) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:type) { FactoryBot.create(:type_task) } - let(:project) { FactoryBot.create(:project, types: [type], name: 'This project') } - let!(:custom_field) { FactoryBot.create :user_wp_custom_field, types: [type], projects: [project] } + let(:type) { create(:type_task) } + let(:project) { create(:project, types: [type], name: 'This project') } + let!(:custom_field) { create :user_wp_custom_field, types: [type], projects: [project] } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project) end let(:wp_page) { Pages::FullWorkPackage.new(work_package) } let(:default_priority) do - FactoryBot.create(:default_priority, name: 'Normal') + create(:default_priority, name: 'Normal') end let(:index_ca_page) { Pages::Admin::CustomActions::Index.new } diff --git a/spec/features/work_packages/custom_actions/custom_actions_spec.rb b/spec/features/work_packages/custom_actions/custom_actions_spec.rb index 82b12280593..712a3ad290e 100644 --- a/spec/features/work_packages/custom_actions/custom_actions_spec.rb +++ b/spec/features/work_packages/custom_actions/custom_actions_spec.rb @@ -29,38 +29,38 @@ require 'spec_helper' describe 'Custom actions', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:permissions) { %i(view_work_packages edit_work_packages move_work_packages) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let!(:other_role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } + let!(:other_role) { create(:role, permissions: permissions) } let(:user) do - user = FactoryBot.create(:user, + user = create(:user, firstname: 'A', lastname: 'User') - FactoryBot.create(:member, + create(:member, project: project, roles: [role], user: user) - FactoryBot.create(:member, + create(:member, project: other_project, roles: [role], user: user) user end let!(:other_member_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Other member', lastname: 'User', member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project, name: 'This project') } - let(:other_project) { FactoryBot.create(:project, name: 'Other project') } + let(:project) { create(:project, name: 'This project') } + let(:other_project) { create(:project, name: 'Other project') } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, assigned_to: user, priority: default_priority, @@ -69,54 +69,54 @@ describe 'Custom actions', type: :feature, js: true do let(:wp_page) { Pages::FullWorkPackage.new(work_package) } let(:default_priority) do - FactoryBot.create(:default_priority, name: 'Normal') + create(:default_priority, name: 'Normal') end let!(:immediate_priority) do - FactoryBot.create(:issue_priority, + create(:issue_priority, name: 'At once', position: IssuePriority.maximum(:position) + 1) end let(:default_status) do - FactoryBot.create(:default_status, name: 'Default status') + create(:default_status, name: 'Default status') end let(:closed_status) do - FactoryBot.create(:closed_status, name: 'Closed') + create(:closed_status, name: 'Closed') end let(:rejected_status) do - FactoryBot.create(:closed_status, name: 'Rejected') + create(:closed_status, name: 'Rejected') end let(:other_type) do - type = FactoryBot.create(:type) + type = create(:type) other_project.types << type type end let!(:workflows) do - FactoryBot.create(:workflow, + create(:workflow, old_status: default_status, new_status: closed_status, role: role, type: work_package.type) - FactoryBot.create(:workflow, + create(:workflow, new_status: default_status, old_status: closed_status, role: role, type: work_package.type) - FactoryBot.create(:workflow, + create(:workflow, old_status: default_status, new_status: rejected_status, role: role, type: work_package.type) - FactoryBot.create(:workflow, + create(:workflow, old_status: rejected_status, new_status: default_status, role: role, type: other_type) end let!(:list_custom_field) do - cf = FactoryBot.create(:list_wp_custom_field, multi_value: true) + cf = create(:list_wp_custom_field, multi_value: true) project.work_package_custom_fields = [cf] work_package.type.custom_fields = [cf] @@ -124,13 +124,13 @@ describe 'Custom actions', type: :feature, js: true do cf end let!(:int_custom_field) do - FactoryBot.create(:int_wp_custom_field) + create(:int_wp_custom_field) end let(:selected_list_custom_field_options) do [list_custom_field.custom_options.first, list_custom_field.custom_options.last] end let!(:date_custom_field) do - cf = FactoryBot.create(:date_wp_custom_field) + cf = create(:date_wp_custom_field) other_project.work_package_custom_fields = [cf] other_type.custom_fields = [cf] diff --git a/spec/features/work_packages/details/closed_status_and_version_spec.rb b/spec/features/work_packages/details/closed_status_and_version_spec.rb index 2019869eac6..d278feab282 100644 --- a/spec/features/work_packages/details/closed_status_and_version_spec.rb +++ b/spec/features/work_packages/details/closed_status_and_version_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' describe 'Closed status and version in full view', js: true do - let(:type) { FactoryBot.create(:type) } - let(:status) { FactoryBot.create(:closed_status) } + let(:type) { create(:type) } + let(:status) { create(:closed_status) } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:project) { create(:project, types: [type]) } - let(:version) { FactoryBot.create :version, status: 'closed', project: project } - let(:work_package) { FactoryBot.create :work_package, project: project, status: status, version: version } + let(:version) { create :version, status: 'closed', project: project } + let(:work_package) { create :work_package, project: project, status: status, version: version } let(:wp_page) { ::Pages::FullWorkPackage.new(work_package, project) } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do login_as(user) diff --git a/spec/features/work_packages/details/custom_fields/custom_field_spec.rb b/spec/features/work_packages/details/custom_fields/custom_field_spec.rb index 62dd2525c6d..e01673084ef 100644 --- a/spec/features/work_packages/details/custom_fields/custom_field_spec.rb +++ b/spec/features/work_packages/details/custom_fields/custom_field_spec.rb @@ -3,16 +3,16 @@ require 'features/work_packages/work_packages_page' require 'features/work_packages/details/inplace_editor/shared_examples' describe 'custom field inplace editor', js: true do - let(:user) { FactoryBot.create :admin } - let(:type) { FactoryBot.create(:type_standard, custom_fields: custom_fields) } + let(:user) { create :admin } + let(:type) { create(:type_standard, custom_fields: custom_fields) } let(:project) do - FactoryBot.create :project, + create :project, types: [type], work_package_custom_fields: custom_fields end let(:custom_fields) { [custom_field] } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: initial_custom_values @@ -40,7 +40,7 @@ describe 'custom field inplace editor', js: true do describe 'long text' do let(:custom_field) do - FactoryBot.create(:text_issue_custom_field, name: 'LongText') + create(:text_issue_custom_field, name: 'LongText') end let(:field) { TextEditorField.new wp_page, property_name } let(:initial_custom_values) { { custom_field.id => 'foo' } } @@ -63,12 +63,12 @@ describe 'custom field inplace editor', js: true do describe 'custom field lists' do let(:custom_field1) do - FactoryBot.create(:list_wp_custom_field, + create(:list_wp_custom_field, is_required: false, possible_values: %w(foo bar baz)) end let(:custom_field2) do - FactoryBot.create(:list_wp_custom_field, + create(:list_wp_custom_field, is_required: false, possible_values: %w(X Y Z)) end @@ -123,7 +123,7 @@ describe 'custom field inplace editor', js: true do describe 'integer type' do let(:custom_field) do - FactoryBot.create(:integer_issue_custom_field, args.merge(name: 'MyNumber')) + create(:integer_issue_custom_field, args.merge(name: 'MyNumber')) end let(:initial_custom_values) { { custom_field.id => 123 } } @@ -193,13 +193,13 @@ describe 'custom field inplace editor', js: true do describe 'float type' do let(:custom_field) do - FactoryBot.create(:float_wp_custom_field, args.merge(name: 'MyFloat')) + create(:float_wp_custom_field, args.merge(name: 'MyFloat')) end let(:args) { {} } let(:initial_custom_values) { { custom_field.id => 123.50 } } context 'with zero value' do - let(:user) { FactoryBot.create :admin, language: 'en' } + let(:user) { create :admin, language: 'en' } let(:initial_custom_values) { { custom_field.id => 0 } } it 'displays the zero (Regression #37157)' do @@ -208,7 +208,7 @@ describe 'custom field inplace editor', js: true do end context 'with english locale' do - let(:user) { FactoryBot.create :admin, language: 'en' } + let(:user) { create :admin, language: 'en' } it 'displays the float with english locale and allows editing' do field.expect_state_text '123.5' @@ -222,7 +222,7 @@ describe 'custom field inplace editor', js: true do context 'with german locale', driver: :firefox_de do - let(:user) { FactoryBot.create :admin, language: 'de' } + let(:user) { create :admin, language: 'de' } it 'displays the float with german locale and allows editing' do field.expect_state_text '123,5' @@ -237,7 +237,7 @@ describe 'custom field inplace editor', js: true do describe 'date type' do let(:custom_field) do - FactoryBot.create(:date_wp_custom_field, args.merge(name: 'MyDate')) + create(:date_wp_custom_field, args.merge(name: 'MyDate')) end let(:args) { {} } let(:initial_custom_values) { {} } diff --git a/spec/features/work_packages/details/date_editor_spec.rb b/spec/features/work_packages/details/date_editor_spec.rb index a46b6997d1c..6fe1e56605e 100644 --- a/spec/features/work_packages/details/date_editor_spec.rb +++ b/spec/features/work_packages/details/date_editor_spec.rb @@ -36,9 +36,9 @@ require 'features/work_packages/work_packages_page' describe 'date inplace editor', with_settings: { date_format: '%Y-%m-%d' }, js: true, selenium: true do - let(:project) { FactoryBot.create :project_with_types, public: true } - let(:work_package) { FactoryBot.create :work_package, project: project, start_date: '2016-01-01' } - let(:user) { FactoryBot.create :admin } + let(:project) { create :project_with_types, public: true } + let(:work_package) { create :work_package, project: project, start_date: '2016-01-01' } + let(:user) { create :admin } let(:work_packages_page) { Pages::FullWorkPackage.new(work_package, project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } @@ -80,7 +80,7 @@ describe 'date inplace editor', end context 'with the start date empty' do - let(:work_package) { FactoryBot.create :work_package, project: project, start_date: nil } + let(:work_package) { create :work_package, project: project, start_date: nil } it 'can set "today" as a date via the provided link' do start_date.activate! @@ -148,13 +148,13 @@ describe 'date inplace editor', end context 'with a date custom field' do - let!(:type) { FactoryBot.create :type } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:priority) { FactoryBot.create :default_priority } - let!(:status) { FactoryBot.create :default_status } + let!(:type) { create :type } + let!(:project) { create :project, types: [type] } + let!(:priority) { create :default_priority } + let!(:status) { create :default_status } let!(:date_cf) do - FactoryBot.create( + create( :date_wp_custom_field, name: "My date", types: [type], diff --git a/spec/features/work_packages/details/details_refreshing_spec.rb b/spec/features/work_packages/details/details_refreshing_spec.rb index 2e8cb09ca30..461a3d8487e 100644 --- a/spec/features/work_packages/details/details_refreshing_spec.rb +++ b/spec/features/work_packages/details/details_refreshing_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Work package table refreshing due to split view', js: true do - let(:project) { FactoryBot.create :project_with_types } - let!(:work_package) { FactoryBot.create :work_package, project: project } + let(:project) { create :project_with_types } + let!(:work_package) { create :work_package, project: project } let(:wp_split) { ::Pages::SplitWorkPackage.new work_package } let(:wp_table) { ::Pages::WorkPackagesTable.new project } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do login_as(user) diff --git a/spec/features/work_packages/details/details_toolbar_spec.rb b/spec/features/work_packages/details/details_toolbar_spec.rb index 56a1a181e11..d9a05797ff2 100644 --- a/spec/features/work_packages/details/details_toolbar_spec.rb +++ b/spec/features/work_packages/details/details_toolbar_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Work package details toolbar', js: true, selenium: true do - let(:project) { FactoryBot.create :project_with_types, public: true } - let!(:work_package) { FactoryBot.create :work_package, project: project } + let(:project) { create :project_with_types, public: true } + let!(:work_package) { create :work_package, project: project } let(:work_packages_page) { WorkPackagesPage.new(project) } describe 'toggle watch state' do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do login_as(user) work_packages_page.visit_index(work_package) diff --git a/spec/features/work_packages/details/inplace_editor/shared_examples.rb b/spec/features/work_packages/details/inplace_editor/shared_examples.rb index b7c77b26b24..e94859c8de5 100644 --- a/spec/features/work_packages/details/inplace_editor/shared_examples.rb +++ b/spec/features/work_packages/details/inplace_editor/shared_examples.rb @@ -36,10 +36,10 @@ shared_examples 'an auth aware field' do context 'when user is not authorized' do let(:user) do - FactoryBot.create( + create( :user, member_in_project: project, - member_through_role: FactoryBot.build( + member_through_role: build( :role, permissions: [:view_work_packages] ) @@ -102,7 +102,7 @@ shared_examples 'a cancellable field' do end shared_examples 'a workpackage autocomplete field' do - let!(:wp2) { FactoryBot.create(:work_package, project: project, subject: 'AutoFoo') } + let!(:wp2) { create(:work_package, project: project, subject: 'AutoFoo') } it 'autocompletes the other work package' do field.activate! @@ -113,23 +113,23 @@ shared_examples 'a workpackage autocomplete field' do end shared_examples 'a principal autocomplete field' do - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages edit_work_packages]) } + let(:role) { create(:role, permissions: %i[view_work_packages edit_work_packages]) } let!(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role, firstname: 'John' end let!(:mentioned_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role, firstname: 'Laura', lastname: 'Foobar' end let!(:mentioned_group) do - FactoryBot.create(:group, lastname: 'Laudators').tap do |group| - FactoryBot.create :member, + create(:group, lastname: 'Laudators').tap do |group| + create :member, principal: group, project: project, roles: [role] diff --git a/spec/features/work_packages/details/inplace_editor/subject_editor_spec.rb b/spec/features/work_packages/details/inplace_editor/subject_editor_spec.rb index 48c0d5a60fe..c0d050e1fa6 100644 --- a/spec/features/work_packages/details/inplace_editor/subject_editor_spec.rb +++ b/spec/features/work_packages/details/inplace_editor/subject_editor_spec.rb @@ -6,11 +6,11 @@ require 'support/edit_fields/edit_field' require 'features/work_packages/work_packages_page' describe 'subject inplace editor', js: true, selenium: true do - let(:project) { FactoryBot.create :project_with_types, public: true } + let(:project) { create :project_with_types, public: true } let(:property_name) { :subject } let(:property_title) { 'Subject' } - let(:work_package) { FactoryBot.create :work_package, project: project } - let(:user) { FactoryBot.create :admin } + let(:work_package) { create :work_package, project: project } + let(:user) { create :admin } let(:work_packages_page) { Pages::SplitWorkPackage.new(work_package, project) } let(:field) { work_packages_page.edit_field(property_name) } let(:notification) { ::PageObjects::Notifications.new(page) } diff --git a/spec/features/work_packages/details/inplace_editor/version_editor_spec.rb b/spec/features/work_packages/details/inplace_editor/version_editor_spec.rb index 8c2c2b97488..739363161b9 100644 --- a/spec/features/work_packages/details/inplace_editor/version_editor_spec.rb +++ b/spec/features/work_packages/details/inplace_editor/version_editor_spec.rb @@ -5,12 +5,12 @@ require 'support/edit_fields/edit_field' require 'features/work_packages/work_packages_page' describe 'subject inplace editor', js: true, selenium: true do - let(:project) { FactoryBot.create :project_with_types, name: 'Root', public: true } - let(:subproject1) { FactoryBot.create :project_with_types, name: 'Child', parent: project } - let(:subproject2) { FactoryBot.create :project_with_types, name: 'Aunt', parent: project } + let(:project) { create :project_with_types, name: 'Root', public: true } + let(:subproject1) { create :project_with_types, name: 'Child', parent: project } + let(:subproject2) { create :project_with_types, name: 'Aunt', parent: project } let!(:version) do - FactoryBot.create(:version, + create(:version, name: '1. First version', status: 'open', sharing: 'tree', @@ -19,7 +19,7 @@ describe 'subject inplace editor', js: true, selenium: true do project: project) end let!(:version2) do - FactoryBot.create(:version, + create(:version, status: 'open', sharing: 'tree', name: '2. Second version', @@ -28,7 +28,7 @@ describe 'subject inplace editor', js: true, selenium: true do project: subproject1) end let!(:version3) do - FactoryBot.create(:version, + create(:version, status: 'open', sharing: 'tree', start_date: nil, @@ -38,14 +38,14 @@ describe 'subject inplace editor', js: true, selenium: true do end let(:property_name) { :version } - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:work_package) { create :work_package, project: project } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages edit_work_packages manage_versions assign_versions] end let(:second_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages edit_work_packages assign_versions] end diff --git a/spec/features/work_packages/details/markdown/activity_comments_spec.rb b/spec/features/work_packages/details/markdown/activity_comments_spec.rb index f5a66f2b3a7..4c63ea2fb7d 100644 --- a/spec/features/work_packages/details/markdown/activity_comments_spec.rb +++ b/spec/features/work_packages/details/markdown/activity_comments_spec.rb @@ -4,9 +4,9 @@ require 'features/work_packages/shared_contexts' require 'features/work_packages/details/inplace_editor/shared_examples' describe 'activity comments', js: true, with_mail: false do - let(:project) { FactoryBot.create :project, public: true } + let(:project) { create :project, public: true } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, journal_notes: initial_comment) end @@ -25,7 +25,7 @@ describe 'activity comments', js: true, with_mail: false do end context 'with permission' do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } before do wp_page.visit! @@ -120,7 +120,7 @@ describe 'activity comments', js: true, with_mail: false do describe 'autocomplete' do describe 'work packages' do - let!(:wp2) { FactoryBot.create(:work_package, project: project, subject: 'AutoFoo') } + let!(:wp2) { create(:work_package, project: project, subject: 'AutoFoo') } it 'can move to the work package by click (Regression #30928)' do comment_field.input_element.send_keys("##{wp2.id}") @@ -220,8 +220,8 @@ describe 'activity comments', js: true, with_mail: false do end context 'with no permission' do - let(:current_user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_work_packages) } + let(:current_user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create :role, permissions: %i(view_work_packages) } before do wp_page.visit! diff --git a/spec/features/work_packages/details/markdown/description_editor_spec.rb b/spec/features/work_packages/details/markdown/description_editor_spec.rb index b5615af4cbe..18fe85179fa 100644 --- a/spec/features/work_packages/details/markdown/description_editor_spec.rb +++ b/spec/features/work_packages/details/markdown/description_editor_spec.rb @@ -33,18 +33,18 @@ require 'support/edit_fields/edit_field' require 'features/work_packages/work_packages_page' describe 'description inplace editor', js: true, selenium: true do - let(:project) { FactoryBot.create :project_with_types, public: true } + let(:project) { create :project_with_types, public: true } let(:property_name) { :description } let(:property_title) { 'Description' } let(:description_text) { 'Ima description' } let!(:work_package) do - FactoryBot.create( + create( :work_package, project: project, description: description_text ) end - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:field) { TextEditorField.new wp_page, 'description' } let(:wp_page) { Pages::SplitWorkPackage.new(work_package, project) } @@ -106,8 +106,8 @@ describe 'description inplace editor', js: true, selenium: true do end context 'with no permission' do - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_work_packages) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create :role, permissions: %i(view_work_packages) } it 'does not show the field' do expect(page).to have_no_selector('.inline-edit--display-field.description.-editable') diff --git a/spec/features/work_packages/details/markdown/todolist_spec.rb b/spec/features/work_packages/details/markdown/todolist_spec.rb index 1ec22818c8f..4afddacfe61 100644 --- a/spec/features/work_packages/details/markdown/todolist_spec.rb +++ b/spec/features/work_packages/details/markdown/todolist_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe 'Todolists in CKEditor', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do login_as user end describe 'with an existing work package' do - let(:work_package) { FactoryBot.create :work_package } + let(:work_package) { create :work_package } let(:wp_page) { ::Pages::FullWorkPackage.new(work_package) } let(:field) { wp_page.edit_field :description } let(:ckeditor) { field.ckeditor } @@ -137,10 +137,10 @@ describe 'Todolists in CKEditor', js: true do end describe 'creating a new work package' do - let!(:status) { FactoryBot.create :default_status } - let!(:priority) { FactoryBot.create :default_priority } - let!(:type) { FactoryBot.create :type_task } - let(:project) { FactoryBot.create :project, types: [type] } + let!(:status) { create :default_status } + let!(:priority) { create :default_priority } + let!(:type) { create :type_task } + let(:project) { create :project, types: [type] } let(:wp_page) { ::Pages::FullWorkPackageCreate.new project: project } let(:field) { wp_page.edit_field :description } let(:ckeditor) { field.ckeditor } diff --git a/spec/features/work_packages/details/milestones_spec.rb b/spec/features/work_packages/details/milestones_spec.rb index 5addbd1ccdc..55e25b5392f 100644 --- a/spec/features/work_packages/details/milestones_spec.rb +++ b/spec/features/work_packages/details/milestones_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe 'Milestones full screen v iew', js: true do - let(:type) { FactoryBot.create :type, is_milestone: true } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type, is_milestone: true } + let(:project) { create(:project, types: [type]) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, subject: 'Foobar') @@ -20,9 +20,9 @@ describe 'Milestones full screen v iew', js: true do context 'user has :add_work_packages permission' do let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) do %i[view_work_packages add_work_packages] end @@ -37,9 +37,9 @@ describe 'Milestones full screen v iew', js: true do context 'user has :view_work_packages permission only' do let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) do %i[view_work_packages] end diff --git a/spec/features/work_packages/details/query_groups/relation_query_group_spec.rb b/spec/features/work_packages/details/query_groups/relation_query_group_spec.rb index 18e4cb5b6b0..ed684724c51 100644 --- a/spec/features/work_packages/details/query_groups/relation_query_group_spec.rb +++ b/spec/features/work_packages/details/query_groups/relation_query_group_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe 'Work package with relation query group', js: true, selenium: true do include_context 'ng-select-autocomplete helpers' - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project, types: [type] } + let(:user) { create :admin } + let(:project) { create :project, types: [type] } let(:relation_type) { :parent } let(:relation_target) { work_package } let(:new_relation) do @@ -41,16 +41,16 @@ describe 'Work package with relation query group', js: true, selenium: true do rel end let(:type) do - FactoryBot.create :type_with_relation_query_group, + create :type_with_relation_query_group, relation_filter: relation_type end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type end let!(:related_work_package) do - FactoryBot.create :work_package, + create :work_package, new_relation.merge( project: project, type: type @@ -110,18 +110,18 @@ describe 'Work package with relation query group', js: true, selenium: true do describe 'follower table with project filters', clear_cache: true do let(:visit) { false } - let!(:project2) { FactoryBot.create(:project, types: [type]) } - let!(:project3) { FactoryBot.create(:project, types: [type]) } + let!(:project2) { create(:project, types: [type]) } + let!(:project3) { create(:project, types: [type]) } let(:relation_type) { :follows } let!(:related_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project2, type: type, follows: [work_package] end let(:type) do - FactoryBot.create :type_with_relation_query_group, relation_filter: relation_type + create :type_with_relation_query_group, relation_filter: relation_type end let(:query_text) { 'Embedded Table for follows'.upcase } @@ -134,15 +134,15 @@ describe 'Work package with relation query group', js: true, selenium: true do end context 'with a user who has permission in one project' do - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages add_work_packages edit_work_packages manage_work_package_relations] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:project2_member) do - member = FactoryBot.build(:member, user: user, project: project2) + member = build(:member, user: user, project: project2) member.roles = [role] member.save! end @@ -165,10 +165,10 @@ describe 'Work package with relation query group', js: true, selenium: true do end context 'with a user who has no permission in any project' do - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -188,7 +188,7 @@ describe 'Work package with relation query group', js: true, selenium: true do let(:relation_type) { :follows } let(:relation_target) { [work_package] } let!(:independent_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project end diff --git a/spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb b/spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb index 5f3e248518b..5c4f6686d15 100644 --- a/spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb +++ b/spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe 'creating a child directly after the wp itself was created', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:user) { create :admin } + let(:project) { create(:project, types: [type]) } let(:wp_page) { Pages::FullWorkPackageCreate.new } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } - let(:type) { FactoryBot.create(:type, custom_fields: [custom_field]) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } + let(:type) { create(:type, custom_fields: [custom_field]) } let(:custom_field) do - FactoryBot.create :work_package_custom_field, + create :work_package_custom_field, field_format: 'int', is_for_all: true end diff --git a/spec/features/work_packages/details/relations/hierarchy_milestone_spec.rb b/spec/features/work_packages/details/relations/hierarchy_milestone_spec.rb index 47aa0056e8a..7f23b3e4d52 100644 --- a/spec/features/work_packages/details/relations/hierarchy_milestone_spec.rb +++ b/spec/features/work_packages/details/relations/hierarchy_milestone_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'work package hierarchies for milestones', js: true, selenium: true do - let(:user) { FactoryBot.create :admin } - let(:type) { FactoryBot.create(:type, is_milestone: true) } - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:work_package) { FactoryBot.create(:work_package, project: project, type: type) } + let(:user) { create :admin } + let(:type) { create(:type, is_milestone: true) } + let(:project) { create(:project, types: [type]) } + let(:work_package) { create(:work_package, project: project, type: type) } let(:relations) { ::Components::WorkPackages::Relations.new(work_package) } let(:tabs) { ::Components::WorkPackages::Tabs.new(work_package) } let(:wp_page) { Pages::FullWorkPackage.new(work_package) } diff --git a/spec/features/work_packages/details/relations/hierarchy_spec.rb b/spec/features/work_packages/details/relations/hierarchy_spec.rb index 0f1bc5fbe6e..dceddf58ba7 100644 --- a/spec/features/work_packages/details/relations/hierarchy_spec.rb +++ b/spec/features/work_packages/details/relations/hierarchy_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' shared_examples 'work package relations tab', js: true, selenium: true do include_context 'ng-select-autocomplete helpers' - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:relations) { ::Components::WorkPackages::Relations.new(work_package) } let(:tabs) { ::Components::WorkPackages::Tabs.new(work_package) } @@ -58,9 +58,9 @@ shared_examples 'work package relations tab', js: true, selenium: true do end describe 'as admin' do - let!(:parent) { FactoryBot.create(:work_package, project: project, subject: 'Parent WP') } - let!(:child) { FactoryBot.create(:work_package, project: project, subject: 'Child WP') } - let!(:child2) { FactoryBot.create(:work_package, project: project, subject: 'Another child WP') } + let!(:parent) { create(:work_package, project: project, subject: 'Parent WP') } + let!(:child) { create(:work_package, project: project, subject: 'Child WP') } + let!(:child2) { create(:work_package, project: project, subject: 'Another child WP') } it 'allows to manage hierarchy' do # Add parent @@ -87,7 +87,7 @@ shared_examples 'work package relations tab', js: true, selenium: true do context 'when switching to custom field with required CF' do let(:custom_field) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', default_value: nil, @@ -95,10 +95,10 @@ shared_examples 'work package relations tab', js: true, selenium: true do is_for_all: true ) end - let(:type2) { FactoryBot.create(:type, custom_fields: [custom_field]) } + let(:type2) { create(:type, custom_fields: [custom_field]) } let(:relations) { ::Components::WorkPackages::Relations.new(parent) } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } before do project.types << type2 @@ -136,11 +136,11 @@ shared_examples 'work package relations tab', js: true, selenium: true do end describe 'inline create' do - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } - let(:type_bug) { FactoryBot.create(:type_bug) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } + let(:type_bug) { create(:type_bug) } let!(:project) do - FactoryBot.create(:project, types: [type_bug]) + create(:project, types: [type_bug]) end it 'can inline-create children' do @@ -158,21 +158,21 @@ shared_examples 'work package relations tab', js: true, selenium: true do end describe 'relation group-by toggler' do - let(:project) { FactoryBot.create :project, types: [type_1, type_2] } - let(:type_1) { FactoryBot.create :type } - let(:type_2) { FactoryBot.create :type } + let(:project) { create :project, types: [type_1, type_2] } + let(:type_1) { create :type } + let(:type_2) { create :type } - let(:to_1) { FactoryBot.create(:work_package, type: type_1, project: project) } - let(:to_2) { FactoryBot.create(:work_package, type: type_2, project: project) } + let(:to_1) { create(:work_package, type: type_1, project: project) } + let(:to_2) { create(:work_package, type: type_2, project: project) } let!(:relation_1) do - FactoryBot.create :relation, + create :relation, from: work_package, to: to_1, relation_type: Relation::TYPE_FOLLOWS end let!(:relation_2) do - FactoryBot.create :relation, + create :relation, from: work_package, to: to_2, relation_type: Relation::TYPE_RELATES @@ -192,18 +192,18 @@ shared_examples 'work package relations tab', js: true, selenium: true do describe 'with limited permissions' do let(:permissions) { %i(view_work_packages) } let(:user_role) do - FactoryBot.create :role, permissions: permissions + create :role, permissions: permissions end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: user_role end context 'as view-only user, with parent set' do - let!(:parent) { FactoryBot.create(:work_package, project: project, subject: 'Parent WP') } - let!(:work_package) { FactoryBot.create(:work_package, parent: parent, project: project, subject: 'Child WP') } + let!(:parent) { create(:work_package, project: project, subject: 'Parent WP') } + let!(:work_package) { create(:work_package, parent: parent, project: project, subject: 'Child WP') } it 'shows no links to create relations' do # No create buttons should exist @@ -229,8 +229,8 @@ shared_examples 'work package relations tab', js: true, selenium: true do context 'with manage_subtasks permissions' do let(:permissions) { %i(view_work_packages manage_subtasks) } - let!(:parent) { FactoryBot.create(:work_package, project: project, subject: 'Parent WP') } - let!(:child) { FactoryBot.create(:work_package, project: project, subject: 'Child WP') } + let!(:parent) { create(:work_package, project: project, subject: 'Parent WP') } + let!(:child) { create(:work_package, project: project, subject: 'Child WP') } it 'should be able to link parent and children' do # Add parent diff --git a/spec/features/work_packages/details/relations/relations_spec.rb b/spec/features/work_packages/details/relations/relations_spec.rb index 3c0e2644768..8bd226558b5 100644 --- a/spec/features/work_packages/details/relations/relations_spec.rb +++ b/spec/features/work_packages/details/relations/relations_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe 'Work package relations tab', js: true, selenium: true do include_context 'ng-select-autocomplete helpers' - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create :project } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create :project } + let(:work_package) { create(:work_package, project: project) } let(:work_packages_page) { ::Pages::SplitWorkPackage.new(work_package) } let(:full_wp) { ::Pages::FullWorkPackage.new(work_package) } let(:relations) { ::Components::WorkPackages::Relations.new(work_package) } @@ -60,21 +60,21 @@ describe 'Work package relations tab', js: true, selenium: true do end describe 'relation group-by toggler' do - let(:project) { FactoryBot.create :project, types: [type_1, type_2] } - let(:type_1) { FactoryBot.create :type } - let(:type_2) { FactoryBot.create :type } + let(:project) { create :project, types: [type_1, type_2] } + let(:type_1) { create :type } + let(:type_2) { create :type } - let(:to_1) { FactoryBot.create(:work_package, type: type_1, project: project) } - let(:to_2) { FactoryBot.create(:work_package, type: type_2, project: project) } + let(:to_1) { create(:work_package, type: type_1, project: project) } + let(:to_2) { create(:work_package, type: type_2, project: project) } let!(:relation_1) do - FactoryBot.create :relation, + create :relation, from: work_package, to: to_1, relation_type: Relation::TYPE_FOLLOWS end let!(:relation_2) do - FactoryBot.create :relation, + create :relation, from: work_package, to: to_2, relation_type: Relation::TYPE_RELATES @@ -149,17 +149,17 @@ describe 'Work package relations tab', js: true, selenium: true do describe 'with limited permissions' do let(:permissions) { %i(view_work_packages) } let(:user_role) do - FactoryBot.create :role, permissions: permissions + create :role, permissions: permissions end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: user_role end context 'as view-only user, with parent set' do - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:work_package) { create(:work_package, project: project) } it 'shows no links to create relations' do # No create buttons should exist @@ -175,7 +175,7 @@ describe 'Work package relations tab', js: true, selenium: true do %i(view_work_packages add_work_packages manage_subtasks manage_work_package_relations) end - let!(:relatable) { FactoryBot.create(:work_package, project: project) } + let!(:relatable) { create(:work_package, project: project) } it 'should allow to manage relations' do relations.add_relation(type: 'follows', to: relatable) diff --git a/spec/features/work_packages/display_fields/date_field_display_spec.rb b/spec/features/work_packages/display_fields/date_field_display_spec.rb index a5970bd59b4..febd509b389 100644 --- a/spec/features/work_packages/display_fields/date_field_display_spec.rb +++ b/spec/features/work_packages/display_fields/date_field_display_spec.rb @@ -29,24 +29,24 @@ require 'spec_helper' describe 'Show the date of a Work Package', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:admin) { FactoryBot.create :admin } + let(:project) { create :project } + let(:admin) { create :admin } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, due_date: Date.yesterday, type: type, status: open_status end - let(:open_status) { FactoryBot.create :default_status } - let(:closed_status) { FactoryBot.create :closed_status } + let(:open_status) { create :default_status } + let(:closed_status) { create :closed_status } let(:wp_page) { Pages::FullWorkPackage.new(work_package, project) } - let(:type) { FactoryBot.create :type } + let(:type) { create :type } let!(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: open_status, new_status: closed_status diff --git a/spec/features/work_packages/display_fields/estimated_hours_display_spec.rb b/spec/features/work_packages/display_fields/estimated_hours_display_spec.rb index 4b72af7b683..5c047a22b94 100644 --- a/spec/features/work_packages/display_fields/estimated_hours_display_spec.rb +++ b/spec/features/work_packages/display_fields/estimated_hours_display_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' RSpec.feature 'Estimated hours display' do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:hierarchy) { [] } @@ -49,7 +49,7 @@ RSpec.feature 'Estimated hours display' do let(:child) { work_packages.last } let!(:query) do - query = FactoryBot.build :query, user: user, project: project + query = build :query, user: user, project: project query.column_names = %w[id subject estimated_hours] query.save! diff --git a/spec/features/work_packages/display_fields/spent_time_display_spec.rb b/spec/features/work_packages/display_fields/spent_time_display_spec.rb index 477483ce8e4..e0f04b1d13e 100644 --- a/spec/features/work_packages/display_fields/spent_time_display_spec.rb +++ b/spec/features/work_packages/display_fields/spent_time_display_spec.rb @@ -29,18 +29,18 @@ require 'spec_helper' describe 'Logging time within the work package view', type: :feature, js: true do - let(:project) { FactoryBot.create :project } - let(:admin) { FactoryBot.create :admin } + let(:project) { create :project } + let(:admin) { create :admin } let(:user_without_permissions) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_time_entries view_work_packages edit_work_packages]) end - let!(:activity) { FactoryBot.create :time_entry_activity, project: project } + let!(:activity) { create :time_entry_activity, project: project } let(:spent_time_field) { ::SpentTimeEditField.new(page, 'spentTime') } - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:work_package) { create :work_package, project: project } let(:wp_page) { Pages::FullWorkPackage.new(work_package, project) } let(:time_logging_modal) { ::Components::TimeLoggingModal.new } @@ -89,7 +89,7 @@ describe 'Logging time within the work package view', type: :feature, js: true d end context 'with a user with non-one unit numbers', with_settings: { available_languages: %w[en ja] } do - let(:admin) { FactoryBot.create :admin, language: 'ja' } + let(:admin) { create :admin, language: 'ja' } before do I18n.locale = 'ja' @@ -121,8 +121,8 @@ describe 'Logging time within the work package view', type: :feature, js: true d context 'within the table' do let(:wp_table) { Pages::WorkPackagesTable.new(project) } - let(:second_work_package) { FactoryBot.create :work_package, project: project } - let(:query) { FactoryBot.create :public_query, project: project, column_names: ['subject', 'spent_hours'] } + let(:second_work_package) { create :work_package, project: project } + let(:query) { create :public_query, project: project, column_names: ['subject', 'spent_hours'] } before do work_package diff --git a/spec/features/work_packages/display_representations/switch_display_representations_spec.rb b/spec/features/work_packages/display_representations/switch_display_representations_spec.rb index 8b5f1c0437a..5229d0eeaf6 100644 --- a/spec/features/work_packages/display_representations/switch_display_representations_spec.rb +++ b/spec/features/work_packages/display_representations/switch_display_representations_spec.rb @@ -31,25 +31,25 @@ require 'spec_helper' describe 'Switching work package view', with_ee: %i[conditional_highlighting], js: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:highlighting) { ::Components::WorkPackages::Highlighting.new } let(:cards) { ::Pages::WorkPackageCards.new(project) } let(:display_representation) { ::Components::WorkPackages::DisplayRepresentation.new } - let(:priority1) { FactoryBot.create :issue_priority, color: FactoryBot.create(:color, hexcode: '#123456') } - let(:priority2) { FactoryBot.create :issue_priority, color: FactoryBot.create(:color, hexcode: '#332211') } - let(:status) { FactoryBot.create :status, color: FactoryBot.create(:color, hexcode: '#654321') } + let(:priority1) { create :issue_priority, color: create(:color, hexcode: '#123456') } + let(:priority2) { create :issue_priority, color: create(:color, hexcode: '#332211') } + let(:status) { create :status, color: create(:color, hexcode: '#654321') } let(:wp_1) do - FactoryBot.create :work_package, + create :work_package, project: project, priority: priority1, status: status end let(:wp_2) do - FactoryBot.create :work_package, + create :work_package, project: project, priority: priority2, status: status diff --git a/spec/features/work_packages/edit_on_assign_version_permission_spec.rb b/spec/features/work_packages/edit_on_assign_version_permission_spec.rb index cc2affd992e..a8c36488ea5 100644 --- a/spec/features/work_packages/edit_on_assign_version_permission_spec.rb +++ b/spec/features/work_packages/edit_on_assign_version_permission_spec.rb @@ -3,7 +3,7 @@ require 'features/page_objects/notification' describe 'edit work package', js: true do let(:current_user) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, @@ -12,13 +12,13 @@ describe 'edit work package', js: true do let(:permissions) { %i[view_work_packages assign_versions] } let(:cf_all) do - FactoryBot.create :work_package_custom_field, is_for_all: true, field_format: 'text' + create :work_package_custom_field, is_for_all: true, field_format: 'text' end - let(:type) { FactoryBot.create :type, custom_fields: [cf_all] } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type, custom_fields: [cf_all] } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, author: current_user, project: project, type: type, @@ -27,7 +27,7 @@ describe 'edit work package', js: true do let(:status) { work_package.status } let(:wp_page) { Pages::FullWorkPackage.new(work_package) } - let(:version) { FactoryBot.create :version, project: project } + let(:version) { create :version, project: project } def visit! wp_page.visit! diff --git a/spec/features/work_packages/edit_work_package_spec.rb b/spec/features/work_packages/edit_work_package_spec.rb index 429d405acdb..4ffac4153c5 100644 --- a/spec/features/work_packages/edit_work_package_spec.rb +++ b/spec/features/work_packages/edit_work_package_spec.rb @@ -3,52 +3,52 @@ require 'features/page_objects/notification' describe 'edit work package', js: true do let(:dev_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages add_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: dev_role end let(:manager_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages] end let(:manager) do - FactoryBot.create :admin, + create :admin, firstname: 'Manager', lastname: 'Guy', member_in_project: project, member_through_role: manager_role end let(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, member_in_project: project, member_through_role: manager_role end let(:cf_all) do - FactoryBot.create :work_package_custom_field, is_for_all: true, field_format: 'text' + create :work_package_custom_field, is_for_all: true, field_format: 'text' end let(:cf_tp1) do - FactoryBot.create :work_package_custom_field, is_for_all: true, field_format: 'text' + create :work_package_custom_field, is_for_all: true, field_format: 'text' end let(:cf_tp2) do - FactoryBot.create :work_package_custom_field, is_for_all: true, field_format: 'text' + create :work_package_custom_field, is_for_all: true, field_format: 'text' end - let(:type) { FactoryBot.create :type, custom_fields: [cf_all, cf_tp1] } - let(:type2) { FactoryBot.create :type, custom_fields: [cf_all, cf_tp2] } - let(:project) { FactoryBot.create(:project, types: [type, type2]) } + let(:type) { create :type, custom_fields: [cf_all, cf_tp1] } + let(:type2) { create :type, custom_fields: [cf_all, cf_tp2] } + let(:project) { create(:project, types: [type, type2]) } let(:work_package) do - work_package = FactoryBot.create(:work_package, + work_package = create(:work_package, author: dev, project: project, type: type, @@ -63,17 +63,17 @@ describe 'edit work package', js: true do let(:new_subject) { 'Some other subject' } let(:wp_page) { Pages::FullWorkPackage.new(work_package) } - let(:priority2) { FactoryBot.create :priority } - let(:status2) { FactoryBot.create :status } + let(:priority2) { create :priority } + let(:status2) { create :status } let(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type2.id, old_status: work_package.status, new_status: status2, role: manager_role end - let(:version) { FactoryBot.create :version, project: project } - let(:category) { FactoryBot.create :category, project: project } + let(:version) { create :version, project: project } + let(:category) { create :category, project: project } let(:visit_before) { true } @@ -98,8 +98,8 @@ describe 'edit work package', js: true do context 'as an admin without roles' do let(:visit_before) { false } - let(:work_package) { FactoryBot.create(:work_package, project: project, type: type2) } - let(:admin) { FactoryBot.create :admin } + let(:work_package) { create(:work_package, project: project, type: type2) } + let(:admin) { create :admin } it 'can still use the manager role' do # A role must still exist @@ -194,7 +194,7 @@ describe 'edit work package', js: true do context 'switching to custom field with required CF' do let(:custom_field) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', default_value: nil, @@ -202,7 +202,7 @@ describe 'edit work package', js: true do is_for_all: true ) end - let!(:type2) { FactoryBot.create(:type, custom_fields: [custom_field]) } + let!(:type2) { create(:type, custom_fields: [custom_field]) } it 'shows the required field when switching' do type_field = wp_page.edit_field(:type) diff --git a/spec/features/work_packages/export_spec.rb b/spec/features/work_packages/export_spec.rb index 0d1bbadf1a3..b8405435aa4 100644 --- a/spec/features/work_packages/export_spec.rb +++ b/spec/features/work_packages/export_spec.rb @@ -30,16 +30,16 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'work package export', type: :feature do - let(:project) { FactoryBot.create :project_with_types, types: [type_a, type_b] } - let(:current_user) { FactoryBot.create :admin } + let(:project) { create :project_with_types, types: [type_a, type_b] } + let(:current_user) { create :admin } - let(:type_a) { FactoryBot.create :type, name: "Type A" } - let(:type_b) { FactoryBot.create :type, name: "Type B" } + let(:type_a) { create :type, name: "Type A" } + let(:type_b) { create :type, name: "Type B" } - let(:wp_1) { FactoryBot.create :work_package, project: project, done_ratio: 25, type: type_a } - let(:wp_2) { FactoryBot.create :work_package, project: project, done_ratio: 0, type: type_a } - let(:wp_3) { FactoryBot.create :work_package, project: project, done_ratio: 0, type: type_b } - let(:wp_4) { FactoryBot.create :work_package, project: project, done_ratio: 0, type: type_a } + let(:wp_1) { create :work_package, project: project, done_ratio: 25, type: type_a } + let(:wp_2) { create :work_package, project: project, done_ratio: 0, type: type_a } + let(:wp_3) { create :work_package, project: project, done_ratio: 0, type: type_b } + let(:wp_4) { create :work_package, project: project, done_ratio: 0, type: type_a } let(:work_packages_page) { WorkPackagesPage.new(project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } @@ -172,7 +172,7 @@ describe 'work package export', type: :feature do describe 'with a manually sorted query', js: true do let(:query) do - FactoryBot.create :query, + create :query, user: current_user, project: project end @@ -212,7 +212,7 @@ describe 'work package export', type: :feature do context 'PDF export', js: true do let(:export_type) { 'PDF' } let(:query) do - FactoryBot.create :query, + create :query, user: current_user, project: project end diff --git a/spec/features/work_packages/highlighting_spec.rb b/spec/features/work_packages/highlighting_spec.rb index 35d6656185e..f75a3749dfe 100644 --- a/spec/features/work_packages/highlighting_spec.rb +++ b/spec/features/work_packages/highlighting_spec.rb @@ -3,20 +3,20 @@ require 'spec_helper' describe 'Work Package highlighting fields', with_ee: %i[conditional_highlighting], js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } - let(:status1) { FactoryBot.create :status, color: FactoryBot.create(:color, hexcode: '#FF0000') } # rgba(255, 0, 0, 1) - let(:status2) { FactoryBot.create :status, color: FactoryBot.create(:color, hexcode: '#F0F0F0') } # rgba(240, 240, 240, 1) + let(:status1) { create :status, color: create(:color, hexcode: '#FF0000') } # rgba(255, 0, 0, 1) + let(:status2) { create :status, color: create(:color, hexcode: '#F0F0F0') } # rgba(240, 240, 240, 1) let(:priority1) do - FactoryBot.create :issue_priority, color: FactoryBot.create(:color, hexcode: '#123456') + create :issue_priority, color: create(:color, hexcode: '#123456') end - let(:priority_no_color) { FactoryBot.create :issue_priority, color: nil } + let(:priority_no_color) { create :issue_priority, color: nil } let!(:wp_1) do - FactoryBot.create :work_package, + create :work_package, project: project, status: status1, subject: 'B', @@ -25,7 +25,7 @@ describe 'Work Package highlighting fields', end let!(:wp_2) do - FactoryBot.create :work_package, + create :work_package, project: project, status: status2, subject: 'A', @@ -39,7 +39,7 @@ describe 'Work Package highlighting fields', let(:query_title) { ::Components::WorkPackages::QueryTitle.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w[id subject status priority due_date] query.highlighted_attributes = %i[status priority due_date] query.highlighting_mode = :inline diff --git a/spec/features/work_packages/index_sums_spec.rb b/spec/features/work_packages/index_sums_spec.rb index 53545b6f691..fd8678d840a 100644 --- a/spec/features/work_packages/index_sums_spec.rb +++ b/spec/features/work_packages/index_sums_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' RSpec.feature 'Work package index sums', js: true do let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_own_hourly_rate view_work_packages @@ -41,54 +41,54 @@ RSpec.feature 'Work package index sums', js: true do log_costs] end let(:project) do - FactoryBot.create(:project, name: 'project1', identifier: 'project1') + create(:project, name: 'project1', identifier: 'project1') end - let(:type) { FactoryBot.create(:type) } + let(:type) { create(:type) } let!(:int_cf) do - FactoryBot.create(:int_wp_custom_field).tap do |cf| + create(:int_wp_custom_field).tap do |cf| project.work_package_custom_fields << cf type.custom_fields << cf end end let!(:float_cf) do - FactoryBot.create(:float_wp_custom_field).tap do |cf| + create(:float_wp_custom_field).tap do |cf| project.work_package_custom_fields << cf type.custom_fields << cf end end let!(:work_package_1) do - FactoryBot.create(:work_package, project: project, type: type, estimated_hours: 10).tap do |wp| + create(:work_package, project: project, type: type, estimated_hours: 10).tap do |wp| wp.custom_field_values = { int_cf.id => 5, float_cf.id => 5.5 } wp.save! end end let!(:work_package_2) do - FactoryBot.create(:work_package, project: project, type: type, estimated_hours: 15).tap do |wp| + create(:work_package, project: project, type: type, estimated_hours: 15).tap do |wp| wp.custom_field_values = { int_cf.id => 7, float_cf.id => 7.7 } wp.save! end end let!(:hourly_rate) do - FactoryBot.create :default_hourly_rate, + create :default_hourly_rate, user: user, rate: 10.00 end let!(:time_entry) do - FactoryBot.create :time_entry, + create :time_entry, user: user, work_package: work_package_1, project: project, hours: 1.50 end let(:cost_type) do - type = FactoryBot.create :cost_type, name: 'Translations' - FactoryBot.create :cost_rate, + type = create :cost_type, name: 'Translations' + create :cost_rate, cost_type: type, rate: 3.00 type end let!(:cost_entry) do - FactoryBot.create :cost_entry, + create :cost_entry, work_package: work_package_1, project: project, units: 2.50, diff --git a/spec/features/work_packages/navigation_spec.rb b/spec/features/work_packages/navigation_spec.rb index d0b56535e7d..c3b2ac21551 100644 --- a/spec/features/work_packages/navigation_spec.rb +++ b/spec/features/work_packages/navigation_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' RSpec.feature 'Work package navigation', js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project, name: 'Some project', enabled_module_names: [:work_package_tracking]) } - let(:work_package) { FactoryBot.build(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project, name: 'Some project', enabled_module_names: [:work_package_tracking]) } + let(:work_package) { build(:work_package, project: project) } let(:global_html_title) { ::Components::HtmlTitle.new } let(:project_html_title) { ::Components::HtmlTitle.new project } let(:wp_display) { ::Components::WorkPackages::DisplayRepresentation.new } @@ -40,12 +40,12 @@ RSpec.feature 'Work package navigation', js: true, selenium: true do end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(id subject) query.name = "My fancy query" query.save! - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: query) query @@ -213,9 +213,9 @@ RSpec.feature 'Work package navigation', js: true, selenium: true do end describe 'moving back to filtered list after change' do - let!(:work_package) { FactoryBot.create(:work_package, project: project, subject: 'foo') } + let!(:work_package) { create(:work_package, project: project, subject: 'foo') } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(id subject) query.name = "My fancy query" query.add_filter('subject', '~', ['foo']) @@ -245,9 +245,9 @@ RSpec.feature 'Work package navigation', js: true, selenium: true do end context 'work package with an attachment' do - let!(:attachment) { FactoryBot.build(:attachment, filename: 'attachment-first.pdf') } + let!(:attachment) { build(:attachment, filename: 'attachment-first.pdf') } let!(:wp_with_attachment) do - FactoryBot.create :work_package, subject: 'WP attachment A', project: project, attachments: [attachment] + create :work_package, subject: 'WP attachment A', project: project, attachments: [attachment] end it 'will show it when navigating from table to single view' do @@ -263,8 +263,8 @@ RSpec.feature 'Work package navigation', js: true, selenium: true do end context 'two work packages with card view' do - let!(:work_package) { FactoryBot.create :work_package, project: project } - let!(:work_package2) { FactoryBot.create :work_package, project: project } + let!(:work_package) { create :work_package, project: project } + let!(:work_package2) { create :work_package, project: project } let(:display_representation) { ::Components::WorkPackages::DisplayRepresentation.new } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:cards) { ::Pages::WorkPackageCards.new(project) } diff --git a/spec/features/work_packages/new/attributes_from_filter_spec.rb b/spec/features/work_packages/new/attributes_from_filter_spec.rb index 566f760c5f8..2767e01f20a 100644 --- a/spec/features/work_packages/new/attributes_from_filter_spec.rb +++ b/spec/features/work_packages/new/attributes_from_filter_spec.rb @@ -29,22 +29,22 @@ require 'spec_helper' RSpec.feature 'Work package create uses attributes from filters', js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:type_bug) { FactoryBot.create(:type_bug) } - let(:type_task) { FactoryBot.create(:type_task) } - let(:project) { FactoryBot.create(:project, types: [type_task, type_bug]) } - let(:status) { FactoryBot.create(:default_status) } + let(:user) { create(:admin) } + let(:type_bug) { create(:type_bug) } + let(:type_task) { create(:type_task) } + let(:project) { create(:project, types: [type_task, type_bug]) } + let(:status) { create(:default_status) } - let!(:status) { FactoryBot.create(:default_status) } - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:status) { create(:default_status) } + let!(:priority) { create :priority, is_default: true } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:split_view_create) { ::Pages::SplitWorkPackageCreate.new(project: project) } - let(:role) { FactoryBot.create :existing_role, permissions: [:view_work_packages] } + let(:role) { create :existing_role, permissions: [:view_work_packages] } let!(:query) do - FactoryBot.build(:query, project: project, user: user).tap do |query| + build(:query, project: project, user: user).tap do |query| query.filters.clear filters.each do |filter| @@ -67,15 +67,15 @@ RSpec.feature 'Work package create uses attributes from filters', js: true, sele end context 'with a multi-value custom field' do - let(:type_task) { FactoryBot.create(:type_task, custom_fields: [custom_field]) } + let(:type_task) { create(:type_task, custom_fields: [custom_field]) } let!(:project) do - FactoryBot.create :project, + create :project, types: [type_task], work_package_custom_fields: [custom_field] end let!(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, multi_value: true, is_filter: true, @@ -111,7 +111,7 @@ RSpec.feature 'Work package create uses attributes from filters', js: true, sele context 'with assignee filter' do let!(:assignee) do - FactoryBot.create(:user, + create(:user, firstname: 'An', lastname: 'assignee', member_in_project: project, diff --git a/spec/features/work_packages/new/new_work_package_spec.rb b/spec/features/work_packages/new/new_work_package_spec.rb index 600c7cbe83a..025fe5201f2 100644 --- a/spec/features/work_packages/new/new_work_package_spec.rb +++ b/spec/features/work_packages/new/new_work_package_spec.rb @@ -4,18 +4,18 @@ require 'features/work_packages/work_packages_page' require 'features/page_objects/notification' describe 'new work package', js: true do - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_bug) { FactoryBot.create(:type_bug) } + let(:type_task) { create(:type_task) } + let(:type_bug) { create(:type_bug) } let(:types) { [type_task, type_bug] } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } let!(:project) do - FactoryBot.create(:project, types: types) + create(:project, types: types) end let(:permissions) { %i[view_work_packages add_work_packages edit_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -33,7 +33,7 @@ describe 'new work package', js: true do let(:toaster) { PageObjects::Notifications.new(page) } def disable_leaving_unsaved_warning - FactoryBot.create(:user_preference, user: user, others: { warn_on_leaving_unsaved: false }) + create(:user_preference, user: user, others: { warn_on_leaving_unsaved: false }) end def save_work_package!(expect_success = true) @@ -163,7 +163,7 @@ describe 'new work package', js: true do context 'custom fields' do let(:custom_field1) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', is_required: true, @@ -171,7 +171,7 @@ describe 'new work package', js: true do ) end let(:custom_field2) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'list', possible_values: %w(foo bar xyz), @@ -182,9 +182,9 @@ describe 'new work package', js: true do let(:custom_fields) do [custom_field1, custom_field2] end - let(:type_task) { FactoryBot.create(:type_task, custom_fields: custom_fields) } + let(:type_task) { create(:type_task, custom_fields: custom_fields) } let(:project) do - FactoryBot.create(:project, + create(:project, types: types, work_package_custom_fields: custom_fields) end @@ -276,7 +276,7 @@ describe 'new work package', js: true do context 'full screen' do let(:safeguard_selector) { '.work-package--new-state' } - let(:existing_wp) { FactoryBot.create :work_package, type: type_bug, project: project } + let(:existing_wp) { create :work_package, type: type_bug, project: project } let(:wp_page) { Pages::FullWorkPackage.new(existing_wp) } before do @@ -340,7 +340,7 @@ describe 'new work package', js: true do context 'with a project without type_bug' do let!(:project_without_bug) do - FactoryBot.create(:project, name: 'Unrelated project', types: [type_task]) + create(:project, name: 'Unrelated project', types: [type_task]) end it 'will not show that value in the project drop down' do @@ -357,8 +357,8 @@ describe 'new work package', js: true do end context 'as a user with no permissions' do - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_work_packages) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create :role, permissions: %i(view_work_packages) } let(:wp_page) { ::Pages::Page.new } let(:paths) do @@ -379,8 +379,8 @@ describe 'new work package', js: true do end context 'as a user with add_work_packages permission, but not edit_work_packages permission (Regression 28580)' do - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_work_packages add_work_packages) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create :role, permissions: %i(view_work_packages add_work_packages) } let(:wp_page) { Pages::FullWorkPackageCreate.new } before do @@ -405,7 +405,7 @@ describe 'new work package', js: true do end context 'an anonymous user is prompted to login' do - let(:user) { FactoryBot.create(:anonymous) } + let(:user) { create(:anonymous) } let(:wp_page) { ::Pages::Page.new } let(:paths) do @@ -427,7 +427,7 @@ describe 'new work package', js: true do context 'creating child work packages' do let!(:parent) do - FactoryBot.create(:work_package, + create(:work_package, project: project, author: user, start_date: Date.today - 5.days, diff --git a/spec/features/work_packages/new/work_package_default_description_spec.rb b/spec/features/work_packages/new/work_package_default_description_spec.rb index 1451bc33eea..c83a03465ca 100644 --- a/spec/features/work_packages/new/work_package_default_description_spec.rb +++ b/spec/features/work_packages/new/work_package_default_description_spec.rb @@ -4,16 +4,16 @@ require 'features/work_packages/work_packages_page' require 'features/page_objects/notification' describe 'new work package', js: true, with_mail: false do - let(:type_task) { FactoryBot.create(:type_task, description: "# New Task template\n\nHello there") } - let(:type_feature) { FactoryBot.create(:type_feature, description: "", is_default: true) } - let(:type_bug) { FactoryBot.create(:type_bug, description: "# New Bug template\n\nGeneral Kenobi") } - let!(:status) { FactoryBot.create(:status, is_default: true) } - let!(:priority) { FactoryBot.create(:priority, is_default: true) } + let(:type_task) { create(:type_task, description: "# New Task template\n\nHello there") } + let(:type_feature) { create(:type_feature, description: "", is_default: true) } + let(:type_bug) { create(:type_bug, description: "# New Bug template\n\nGeneral Kenobi") } + let!(:status) { create(:status, is_default: true) } + let!(:priority) { create(:priority, is_default: true) } let!(:project) do - FactoryBot.create(:project, types: [type_feature, type_task, type_bug], no_types: true) + create(:project, types: [type_feature, type_task, type_bug], no_types: true) end - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:subject_field) { wp_page.edit_field :subject } let(:description_field) { wp_page.edit_field :description } diff --git a/spec/features/work_packages/pagination_spec.rb b/spec/features/work_packages/pagination_spec.rb index d8a6da397da..2da73645998 100644 --- a/spec/features/work_packages/pagination_spec.rb +++ b/spec/features/work_packages/pagination_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' RSpec.feature 'Work package pagination', js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:project) do - FactoryBot.create(:project, name: 'project1', identifier: 'project1') + create(:project, name: 'project1', identifier: 'project1') end shared_examples_for 'paginated work package list' do - let!(:work_package_1) { FactoryBot.create(:work_package, project: project) } - let!(:work_package_2) { FactoryBot.create(:work_package, project: project) } + let!(:work_package_1) { create(:work_package, project: project) } + let!(:work_package_2) { create(:work_package, project: project) } before do login_as(admin) diff --git a/spec/features/work_packages/project_context_switch_spec.rb b/spec/features/work_packages/project_context_switch_spec.rb index bb82276ff09..099fd1e275e 100644 --- a/spec/features/work_packages/project_context_switch_spec.rb +++ b/spec/features/work_packages/project_context_switch_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe 'Project context switching spec', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new } let(:wp_page) { Pages::FullWorkPackage.new(work_package, project) } diff --git a/spec/features/work_packages/reports_spec.rb b/spec/features/work_packages/reports_spec.rb index 0e4e6d0a9f0..345c76eaeb0 100644 --- a/spec/features/work_packages/reports_spec.rb +++ b/spec/features/work_packages/reports_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe 'work package reports', type: :feature, js: true do - let(:project) { FactoryBot.create :project_with_types, types: [type_a] } - let(:user) { FactoryBot.create :user, member_in_project: project, member_with_permissions: %i(view_work_packages) } + let(:project) { create :project_with_types, types: [type_a] } + let(:user) { create :user, member_in_project: project, member_with_permissions: %i(view_work_packages) } let(:type_a) do - FactoryBot.create(:type_with_workflow, name: 'Type A').tap do |t| + create(:type_with_workflow, name: 'Type A').tap do |t| t.statuses.last.update_attribute(:is_closed, true) end end - let!(:wp_1) { FactoryBot.create :work_package, project: project, type: type_a, status: type_a.statuses.first } - let!(:wp_2) { FactoryBot.create :work_package, project: project, type: type_a, status: type_a.statuses.last } + let!(:wp_1) { create :work_package, project: project, type: type_a, status: type_a.statuses.first } + let!(:wp_2) { create :work_package, project: project, type: type_a, status: type_a.statuses.last } let(:wp_table_page) { Pages::WorkPackagesTable.new(project) } diff --git a/spec/features/work_packages/scheduling/scheduling_mode_spec.rb b/spec/features/work_packages/scheduling/scheduling_mode_spec.rb index b9030de591f..68d413072e4 100644 --- a/spec/features/work_packages/scheduling/scheduling_mode_spec.rb +++ b/spec/features/work_packages/scheduling/scheduling_mode_spec.rb @@ -35,7 +35,7 @@ require 'features/work_packages/work_packages_page' describe 'scheduling mode', js: true do - let(:project) { FactoryBot.create :project_with_types, public: true } + let(:project) { create :project_with_types, public: true } # Constructing a work package graph that looks like this: # # wp_parent wp_suc_parent @@ -50,38 +50,38 @@ describe 'scheduling mode', # v v # wp_child wp_suc_child # - let!(:wp) { FactoryBot.create :work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05' } + let!(:wp) { create :work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05' } let!(:wp_parent) do - FactoryBot.create(:work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05').tap do |parent| - FactoryBot.create(:hierarchy_relation, from: parent, to: wp) + create(:work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05').tap do |parent| + create(:hierarchy_relation, from: parent, to: wp) end end let!(:wp_child) do - FactoryBot.create(:work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05').tap do |child| - FactoryBot.create(:hierarchy_relation, from: wp, to: child) + create(:work_package, project: project, start_date: '2016-01-01', due_date: '2016-01-05').tap do |child| + create(:hierarchy_relation, from: wp, to: child) end end let!(:wp_pre) do - FactoryBot.create(:work_package, project: project, start_date: '2015-12-15', due_date: '2015-12-31').tap do |pre| - FactoryBot.create(:follows_relation, from: wp, to: pre) + create(:work_package, project: project, start_date: '2015-12-15', due_date: '2015-12-31').tap do |pre| + create(:follows_relation, from: wp, to: pre) end end let!(:wp_suc) do - FactoryBot.create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |suc| - FactoryBot.create(:follows_relation, from: suc, to: wp) + create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |suc| + create(:follows_relation, from: suc, to: wp) end end let!(:wp_suc_parent) do - FactoryBot.create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |parent| - FactoryBot.create(:hierarchy_relation, from: parent, to: wp_suc) + create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |parent| + create(:hierarchy_relation, from: parent, to: wp_suc) end end let!(:wp_suc_child) do - FactoryBot.create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |child| - FactoryBot.create(:hierarchy_relation, from: wp_suc, to: child) + create(:work_package, project: project, start_date: '2016-01-06', due_date: '2016-01-10').tap do |child| + create(:hierarchy_relation, from: wp_suc, to: child) end end - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:work_packages_page) { Pages::SplitWorkPackage.new(wp, project) } let(:combined_field) { work_packages_page.edit_field(:combinedDate) } diff --git a/spec/features/work_packages/select/select_card_view.spec.rb b/spec/features/work_packages/select/select_card_view.spec.rb index 303a382810b..e180b0bdaa5 100644 --- a/spec/features/work_packages/select/select_card_view.spec.rb +++ b/spec/features/work_packages/select/select_card_view.spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe 'Selecting cards in the card view (regression #31962)', js: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:cards) { ::Pages::WorkPackageCards.new(project) } let(:display_representation) { ::Components::WorkPackages::DisplayRepresentation.new } - let(:work_package_1) { FactoryBot.create(:work_package, project: project) } - let(:work_package_2) { FactoryBot.create(:work_package, project: project) } - let(:work_package_3) { FactoryBot.create(:work_package, project: project) } + let(:work_package_1) { create(:work_package, project: project) } + let(:work_package_2) { create(:work_package, project: project) } + let(:work_package_3) { create(:work_package, project: project) } before do work_package_1 diff --git a/spec/features/work_packages/select/select_query_spec.rb b/spec/features/work_packages/select/select_query_spec.rb index 49e7bd077b7..8e0c0227543 100644 --- a/spec/features/work_packages/select/select_query_spec.rb +++ b/spec/features/work_packages/select/select_query_spec.rb @@ -30,24 +30,24 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Query selection', type: :feature do - let(:project) { FactoryBot.create :project, identifier: 'test_project', public: false } - let(:role) { FactoryBot.create :role, permissions: [:view_work_packages] } + let(:project) { create :project, identifier: 'test_project', public: false } + let(:role) { create :role, permissions: [:view_work_packages] } let(:current_user) do - FactoryBot.create :user, member_in_project: project, + create :user, member_in_project: project, member_through_role: role end - let(:default_status) { FactoryBot.create(:default_status) } + let(:default_status) { create(:default_status) } let(:wp_page) { ::Pages::WorkPackagesTable.new project } let(:filters) { ::Components::WorkPackages::Filters.new } let(:query) do - FactoryBot.build(:query, project: project, public: true).tap do |query| + build(:query, project: project, public: true).tap do |query| query.filters.clear query.add_filter('assigned_to_id', '=', ['me']) query.add_filter('done_ratio', '>=', [10]) query.save! - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: query) query @@ -94,7 +94,7 @@ describe 'Query selection', type: :feature do context 'when the selected query is changed' do let(:query2) do - FactoryBot.create(:query_with_view_work_packages_table, + create(:query_with_view_work_packages_table, project: project, public: true) end diff --git a/spec/features/work_packages/select/select_work_package_row_spec.rb b/spec/features/work_packages/select/select_work_package_row_spec.rb index 36645827e2b..b43a27bd7fa 100644 --- a/spec/features/work_packages/select/select_work_package_row_spec.rb +++ b/spec/features/work_packages/select/select_work_package_row_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'Select work package row', type: :feature, js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } - let(:work_package_1) { FactoryBot.create(:work_package, project: project) } - let(:work_package_2) { FactoryBot.create(:work_package, project: project) } - let(:work_package_3) { FactoryBot.create(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } + let(:work_package_1) { create(:work_package, project: project) } + let(:work_package_2) { create(:work_package, project: project) } + let(:work_package_3) { create(:work_package, project: project) } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } include_context 'work package table helpers' diff --git a/spec/features/work_packages/select/select_wp_card_spec.rb b/spec/features/work_packages/select/select_wp_card_spec.rb index 2ce6b707496..f7efb412c77 100644 --- a/spec/features/work_packages/select/select_wp_card_spec.rb +++ b/spec/features/work_packages/select/select_wp_card_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Select work package card', type: :feature, js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } - let(:work_package_1) { FactoryBot.create(:work_package, project: project) } - let(:work_package_2) { FactoryBot.create(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } + let(:work_package_1) { create(:work_package, project: project) } + let(:work_package_2) { create(:work_package, project: project) } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:wp_card_view) { ::Pages::WorkPackageCards.new(project) } diff --git a/spec/features/work_packages/sorting/manual_sorting_spec.rb b/spec/features/work_packages/sorting/manual_sorting_spec.rb index 4427c101e66..6c311a6e192 100644 --- a/spec/features/work_packages/sorting/manual_sorting_spec.rb +++ b/spec/features/work_packages/sorting/manual_sorting_spec.rb @@ -30,17 +30,17 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Manual sorting of WP table', type: :feature, js: true do - let(:user) { FactoryBot.create(:admin) } + let(:user) { create(:admin) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } - let(:type_task) { FactoryBot.create :type_task } - let(:type_bug) { FactoryBot.create :type_bug } - let(:project) { FactoryBot.create(:project, types: [type_task, type_bug]) } + let(:type_task) { create :type_task } + let(:type_bug) { create :type_bug } + let(:project) { create(:project, types: [type_task, type_bug]) } let(:work_package_1) do - FactoryBot.create(:work_package, subject: 'WP1', project: project, type: type_task, created_at: Time.now) + create(:work_package, subject: 'WP1', project: project, type: type_task, created_at: Time.now) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'WP2', project: project, parent: work_package_1, @@ -48,7 +48,7 @@ describe 'Manual sorting of WP table', type: :feature, js: true do created_at: Time.now - 1.minutes) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'WP3', project: project, parent: work_package_2, @@ -56,7 +56,7 @@ describe 'Manual sorting of WP table', type: :feature, js: true do created_at: Time.now - 2.minutes) end let(:work_package_4) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'WP4', project: project, parent: work_package_3, @@ -158,10 +158,10 @@ describe 'Manual sorting of WP table', type: :feature, js: true do context 'drag an element partly out of the hierarchy' do let(:work_package_5) do - FactoryBot.create(:work_package, subject: 'WP5', project: project, parent: work_package_1) + create(:work_package, subject: 'WP5', project: project, parent: work_package_1) end let(:work_package_6) do - FactoryBot.create(:work_package, subject: 'WP6', project: project, parent: work_package_1) + create(:work_package, subject: 'WP6', project: project, parent: work_package_1) end before do @@ -233,13 +233,13 @@ describe 'Manual sorting of WP table', type: :feature, js: true do describe 'with a saved query and positions increasing from zero' do let(:query) do - FactoryBot.create(:query, user: user, project: project, show_hierarchies: false).tap do |q| + create(:query, user: user, project: project, show_hierarchies: false).tap do |q| q.sort_criteria = [[:manual_sorting, 'asc']] q.save! end end - let!(:status) { FactoryBot.create :default_status } - let!(:priority) { FactoryBot.create :default_priority } + let!(:status) { create :default_status } + let!(:priority) { create :default_priority } before do ::OrderedWorkPackage.create(query: query, work_package: work_package_1, position: 0) @@ -290,7 +290,7 @@ describe 'Manual sorting of WP table', type: :feature, js: true do describe 'with a saved query that is NOT manually sorted' do let(:query) do - FactoryBot.create(:query, user: user, project: project, show_hierarchies: false).tap do |q| + create(:query, user: user, project: project, show_hierarchies: false).tap do |q| q.sort_criteria = [[:id, 'asc']] q.save! end diff --git a/spec/features/work_packages/sorting/table_sorting_spec.rb b/spec/features/work_packages/sorting/table_sorting_spec.rb index ace4dafd56f..13eef270791 100644 --- a/spec/features/work_packages/sorting/table_sorting_spec.rb +++ b/spec/features/work_packages/sorting/table_sorting_spec.rb @@ -30,25 +30,25 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Select work package row', type: :feature, js: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } let(:work_packages_page) { WorkPackagesPage.new(project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } describe 'sorting by version' do let(:work_package_1) do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end let(:work_package_2) do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end let(:version_1) do - FactoryBot.create(:version, project: project, + create(:version, project: project, name: 'aaa_version') end let(:version_2) do - FactoryBot.create(:version, project: project, + create(:version, project: project, name: 'zzz_version') end let(:columns) { ::Components::WorkPackages::Columns.new } @@ -106,31 +106,31 @@ describe 'Select work package row', type: :feature, js: true do let(:sort_by) { ::Components::WorkPackages::SortBy.new } let(:parent) do - FactoryBot.create :work_package, + create :work_package, project: project end let(:child1) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: parent end let(:child2) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: parent end let(:grand_child1) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: child1 end let(:grand_child2) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: child2 end let(:grand_child3) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: child1 end diff --git a/spec/features/work_packages/table/configuration_modal/column_spec.rb b/spec/features/work_packages/table/configuration_modal/column_spec.rb index a5832501483..6439e44ccfc 100644 --- a/spec/features/work_packages/table/configuration_modal/column_spec.rb +++ b/spec/features/work_packages/table/configuration_modal/column_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' describe 'Work Package table configuration modal columns spec', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let!(:wp_1) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let!(:wp_1) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:columns) { ::Components::WorkPackages::Columns.new } - let!(:work_package) { FactoryBot.create :work_package, project: project } + let!(:work_package) { create :work_package, project: project } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w[id subject] query.save! @@ -48,7 +48,7 @@ describe 'Work Package table configuration modal columns spec', js: true do context 'with three columns', driver: :firefox_de do let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w[id project subject] query.save! diff --git a/spec/features/work_packages/table/configuration_modal/filter_spec.rb b/spec/features/work_packages/table/configuration_modal/filter_spec.rb index 261d38fe7f3..93853e3976c 100644 --- a/spec/features/work_packages/table/configuration_modal/filter_spec.rb +++ b/spec/features/work_packages/table/configuration_modal/filter_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' describe 'Work Package table configuration modal filters spec', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let!(:wp_1) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let!(:wp_1) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:modal) { ::Components::WorkPackages::TableConfigurationModal.new } let(:filters) { ::Components::WorkPackages::TableConfiguration::Filters.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'done_ratio'] query.save! @@ -23,9 +23,9 @@ describe 'Work Package table configuration modal filters spec', js: true do end context 'by version in project' do - let(:version) { FactoryBot.create :version, project: project } - let(:work_package_with_version) { FactoryBot.create :work_package, project: project, version: version } - let(:work_package_without_version) { FactoryBot.create :work_package, project: project } + let(:version) { create :version, project: project } + let(:work_package_with_version) { create :work_package, project: project, version: version } + let(:work_package_without_version) { create :work_package, project: project } before do work_package_with_version diff --git a/spec/features/work_packages/table/configuration_modal/table_configuration_modal_spec.rb b/spec/features/work_packages/table/configuration_modal/table_configuration_modal_spec.rb index 75f9da76d01..c36b8076463 100644 --- a/spec/features/work_packages/table/configuration_modal/table_configuration_modal_spec.rb +++ b/spec/features/work_packages/table/configuration_modal/table_configuration_modal_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' describe 'Work Package table configuration modal', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let!(:wp_1) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let!(:wp_1) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:modal) { ::Components::WorkPackages::TableConfigurationModal.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'done_ratio'] query.save! diff --git a/spec/features/work_packages/table/context_menu_spec.rb b/spec/features/work_packages/table/context_menu_spec.rb index 9e9c239217c..637876fc3e2 100644 --- a/spec/features/work_packages/table/context_menu_spec.rb +++ b/spec/features/work_packages/table/context_menu_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Work package table context menu', js: true do - let(:user) { FactoryBot.create(:admin) } - let(:work_package) { FactoryBot.create(:work_package) } + let(:user) { create(:admin) } + let(:work_package) { create(:work_package) } let(:wp_table) { Pages::WorkPackagesTable.new } let(:wp_timeline) { Pages::WorkPackagesTimeline.new(work_package.project) } @@ -88,7 +88,7 @@ describe 'Work package table context menu', js: true do end context 'for multiple selected WPs' do - let!(:work_package2) { FactoryBot.create(:work_package) } + let!(:work_package2) { create(:work_package) } it 'provides a context menu with a subset of the available menu items' do # Go to table @@ -132,11 +132,11 @@ describe 'Work package table context menu', js: true do end describe 'creating work packages' do - let!(:priority) { FactoryBot.create :issue_priority, is_default: true } - let!(:status) { FactoryBot.create :default_status } - let!(:type) { FactoryBot.create :type_task } - let!(:project) { FactoryBot.create :project, types: [type] } - let!(:work_package) { FactoryBot.create :work_package, project: project, type: type, status: status, priority: priority } + let!(:priority) { create :issue_priority, is_default: true } + let!(:status) { create :default_status } + let!(:type) { create :type_task } + let!(:project) { create :project, types: [type] } + let!(:work_package) { create :work_package, project: project, type: type, status: status, priority: priority } let(:wp_table) { Pages::WorkPackagesTable.new project } it 'can create a new child from the context menu (Regression #33329)' do diff --git a/spec/features/work_packages/table/delete_work_packages_spec.rb b/spec/features/work_packages/table/delete_work_packages_spec.rb index ab35e00289d..46a94d81804 100644 --- a/spec/features/work_packages/table/delete_work_packages_spec.rb +++ b/spec/features/work_packages/table/delete_work_packages_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'Delete work package', js: true do - let(:user) { FactoryBot.create(:admin) } + let(:user) { create(:admin) } let(:context_menu) { Components::WorkPackages::ContextMenu.new } let(:destroy_modal) { Components::WorkPackages::DestroyModal.new } @@ -62,9 +62,9 @@ describe 'Delete work package', js: true do end describe 'deleting multiple work packages in the table' do - let!(:wp1) { FactoryBot.create(:work_package) } - let!(:wp2) { FactoryBot.create(:work_package) } - let!(:wp_child) { FactoryBot.create(:work_package, parent: wp1) } + let!(:wp1) { create(:work_package) } + let!(:wp2) { create(:work_package) } + let!(:wp_child) { create(:work_package, parent: wp1) } let(:wp_table) { Pages::WorkPackagesTable.new } @@ -92,7 +92,7 @@ describe 'Delete work package', js: true do end describe 'when deleting it outside a project context' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:split_view) { Pages::SplitWorkPackage.new(work_package) } let(:wp_table) { Pages::WorkPackagesTable.new } @@ -100,8 +100,8 @@ describe 'Delete work package', js: true do end describe 'when deleting it within a project context' do - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:split_view) { Pages::SplitWorkPackage.new(work_package, project.identifier) } let(:wp_table) { Pages::WorkPackagesTable.new(project.identifier) } diff --git a/spec/features/work_packages/table/edit_work_packages_spec.rb b/spec/features/work_packages/table/edit_work_packages_spec.rb index 4c4505ae580..32fa14a9d15 100644 --- a/spec/features/work_packages/table/edit_work_packages_spec.rb +++ b/spec/features/work_packages/table/edit_work_packages_spec.rb @@ -2,24 +2,24 @@ require 'spec_helper' describe 'Inline editing work packages', js: true do let(:manager_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages] end let(:manager) do - FactoryBot.create :user, + create :user, firstname: 'Manager', lastname: 'Guy', member_in_project: project, member_through_role: manager_role end - let(:type) { FactoryBot.create :type } - let(:status1) { FactoryBot.create :status } - let(:status2) { FactoryBot.create :status } + let(:type) { create :type } + let(:status1) { create :status } + let(:status2) { create :status } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, status: status1, @@ -29,14 +29,14 @@ describe 'Inline editing work packages', js: true do let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status1, new_status: status2, role: manager_role end - let(:version) { FactoryBot.create :version, project: project } - let(:category) { FactoryBot.create :category, project: project } + let(:version) { create :version, project: project } + let(:category) { create :category, project: project } before do login_as(manager) @@ -118,14 +118,14 @@ describe 'Inline editing work packages', js: true do context 'custom field' do let(:custom_fields) do fields = [ - FactoryBot.create( + create( :work_package_custom_field, field_format: 'list', possible_values: %w(foo bar xyz), is_required: true, is_for_all: false ), - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', is_required: true, @@ -135,10 +135,10 @@ describe 'Inline editing work packages', js: true do fields end - let(:type) { FactoryBot.create(:type_task, custom_fields: custom_fields) } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create(:type_task, custom_fields: custom_fields) } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Foobar', status: status1, type: type, diff --git a/spec/features/work_packages/table/empty_filters_spec.rb b/spec/features/work_packages/table/empty_filters_spec.rb index ef6e8d53a5b..21dc2bb8c84 100644 --- a/spec/features/work_packages/table/empty_filters_spec.rb +++ b/spec/features/work_packages/table/empty_filters_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Empty query filters', js: true do - let(:user) { FactoryBot.create(:admin) } - let(:work_package) { FactoryBot.create(:work_package) } + let(:user) { create(:admin) } + let(:work_package) { create(:work_package) } let(:wp_table) { ::Pages::WorkPackagesTable.new } let(:filters) { ::Components::WorkPackages::Filters.new } diff --git a/spec/features/work_packages/table/group_by/group_by_boolean_spec.rb b/spec/features/work_packages/table/group_by/group_by_boolean_spec.rb index 4a14bfcfedd..a91dc413cfe 100644 --- a/spec/features/work_packages/table/group_by/group_by_boolean_spec.rb +++ b/spec/features/work_packages/table/group_by/group_by_boolean_spec.rb @@ -1,15 +1,15 @@ require 'spec_helper' describe 'Work Package group by boolean field', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project, types: [type], work_package_custom_fields: [bool_cf]) } - let(:bool_cf) { FactoryBot.create :bool_wp_custom_field, name: 'booleanField', types: [type] } - let(:type) { FactoryBot.create(:type) } + let(:project) { create(:project, types: [type], work_package_custom_fields: [bool_cf]) } + let(:bool_cf) { create :bool_wp_custom_field, name: 'booleanField', types: [type] } + let(:type) { create(:type) } - let!(:wp1) { FactoryBot.create(:work_package, project: project, type: type) } - let!(:wp2) { FactoryBot.create(:work_package, project: project, type: type, custom_field_values: { bool_cf.id => true }) } - let!(:wp3) { FactoryBot.create(:work_package, project: project, type: type, custom_field_values: { bool_cf.id => false }) } + let!(:wp1) { create(:work_package, project: project, type: type) } + let!(:wp2) { create(:work_package, project: project, type: type, custom_field_values: { bool_cf.id => true }) } + let!(:wp3) { create(:work_package, project: project, type: type, custom_field_values: { bool_cf.id => false }) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:group_by) { ::Components::WorkPackages::GroupBy.new } diff --git a/spec/features/work_packages/table/group_by/group_by_progress_spec.rb b/spec/features/work_packages/table/group_by/group_by_progress_spec.rb index 9eebdbd01ac..05e99a32eef 100644 --- a/spec/features/work_packages/table/group_by/group_by_progress_spec.rb +++ b/spec/features/work_packages/table/group_by/group_by_progress_spec.rb @@ -1,20 +1,20 @@ require 'spec_helper' describe 'Work Package group by progress', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } - let!(:wp_1) { FactoryBot.create(:work_package, project: project) } - let!(:wp_2) { FactoryBot.create(:work_package, project: project, done_ratio: 10) } - let!(:wp_3) { FactoryBot.create(:work_package, project: project, done_ratio: 10) } - let!(:wp_4) { FactoryBot.create(:work_package, project: project, done_ratio: 50) } + let!(:wp_1) { create(:work_package, project: project) } + let!(:wp_2) { create(:work_package, project: project, done_ratio: 10) } + let!(:wp_3) { create(:work_package, project: project, done_ratio: 10) } + let!(:wp_4) { create(:work_package, project: project, done_ratio: 50) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:group_by) { ::Components::WorkPackages::GroupBy.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'done_ratio'] query.save! @@ -52,7 +52,7 @@ describe 'Work Package group by progress', js: true do context 'with grouped query' do let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'done_ratio'] query.group_by = 'done_ratio' diff --git a/spec/features/work_packages/table/group_by/group_headers_spec.rb b/spec/features/work_packages/table/group_by/group_headers_spec.rb index b486d37b649..e64bbf7880d 100644 --- a/spec/features/work_packages/table/group_by/group_headers_spec.rb +++ b/spec/features/work_packages/table/group_by/group_headers_spec.rb @@ -1,20 +1,20 @@ require 'spec_helper' describe 'Work Package table group headers', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project) { FactoryBot.create(:project) } - let(:category) { FactoryBot.create :category, project: project, name: 'Foo' } - let(:category2) { FactoryBot.create :category, project: project, name: 'Bar' } + let(:project) { create(:project) } + let(:category) { create :category, project: project, name: 'Foo' } + let(:category2) { create :category, project: project, name: 'Bar' } - let!(:wp_cat1) { FactoryBot.create(:work_package, project: project, category: category) } - let!(:wp_cat2) { FactoryBot.create(:work_package, project: project, category: category2) } - let!(:wp_none) { FactoryBot.create(:work_package, project: project) } + let!(:wp_cat1) { create(:work_package, project: project, category: category) } + let!(:wp_cat2) { create(:work_package, project: project, category: category2) } + let!(:wp_none) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:group_by) { ::Components::WorkPackages::GroupBy.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'category'] query.show_hierarchies = false diff --git a/spec/features/work_packages/table/hierarchy/hierarchy_indent_spec.rb b/spec/features/work_packages/table/hierarchy/hierarchy_indent_spec.rb index ff5be23bf9a..4c8b52e6867 100644 --- a/spec/features/work_packages/table/hierarchy/hierarchy_indent_spec.rb +++ b/spec/features/work_packages/table/hierarchy/hierarchy_indent_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Work Package table hierarchy and sorting', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } @@ -10,27 +10,27 @@ describe 'Work Package table hierarchy and sorting', js: true do let(:sort_by) { ::Components::WorkPackages::SortBy.new } let!(:wp_root) do - FactoryBot.create :work_package, + create :work_package, project: project, subject: 'Parent' end let!(:wp_child1) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'WP child 1' end let!(:wp_child2) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'WP child 2' end let!(:wp_child3) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'WP child 3' diff --git a/spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb b/spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb index 2d3d0d56cfd..9b383e171f8 100644 --- a/spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb +++ b/spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe 'Work Package table hierarchy parent below', js: true do - let(:user) { FactoryBot.create :admin } - let(:type_bug) { FactoryBot.create(:type_bug) } - let(:type_task) { FactoryBot.create(:type_task) } - let(:project) { FactoryBot.create(:project, types: [type_task, type_bug]) } + let(:user) { create :admin } + let(:type_bug) { create(:type_bug) } + let(:type_task) { create(:type_task) } + let(:project) { create(:project, types: [type_task, type_bug]) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } @@ -34,12 +34,12 @@ describe 'Work Package table hierarchy parent below', js: true do # .... Child # V Grandparent describe 'grand-parent sorted below child, parent invisible' do - let(:child) { FactoryBot.create(:work_package, project: project, type: type_task) } - let(:parent) { FactoryBot.create(:work_package, project: project, type: type_bug) } - let(:grandparent) { FactoryBot.create(:work_package, project: project, type: type_task) } + let(:child) { create(:work_package, project: project, type: type_task) } + let(:parent) { create(:work_package, project: project, type: type_bug) } + let(:grandparent) { create(:work_package, project: project, type: type_task) } let(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'subject', 'type'] query.sort_criteria = [%w(id asc)] query.filters.clear @@ -94,13 +94,13 @@ describe 'Work Package table hierarchy parent below', js: true do end describe 'grand-parent of 2+ children visible anywhere on the page, but parent is not (Regression #29652)' do - let(:child) { FactoryBot.create(:work_package, subject: 'AA Child WP', project: project, type: type_task) } - let(:child2) { FactoryBot.create(:work_package, subject: 'BB Child WP', project: project, type: type_task) } - let(:parent) { FactoryBot.create(:work_package, subject: 'ZZ Parent WP', project: project, type: type_task) } - let(:grandparent) { FactoryBot.create(:work_package, subject: 'Grandparent', project: project, type: type_task) } + let(:child) { create(:work_package, subject: 'AA Child WP', project: project, type: type_task) } + let(:child2) { create(:work_package, subject: 'BB Child WP', project: project, type: type_task) } + let(:parent) { create(:work_package, subject: 'ZZ Parent WP', project: project, type: type_task) } + let(:grandparent) { create(:work_package, subject: 'Grandparent', project: project, type: type_task) } let(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(id subject) query.sort_criteria = [%w(subject asc), %w(id asc)] query.show_hierarchies = true @@ -143,8 +143,8 @@ describe 'Work Package table hierarchy parent below', js: true do end describe 'An arrow is beside parent name' do - let(:child) { FactoryBot.create(:work_package, subject: 'AA Child WP', project: project, parent: parent) } - let(:parent) { FactoryBot.create(:work_package, subject: 'ZZ Parent WP', project: project) } + let(:child) { create(:work_package, subject: 'AA Child WP', project: project, parent: parent) } + let(:parent) { create(:work_package, subject: 'ZZ Parent WP', project: project) } let(:relations) { ::Components::WorkPackages::Relations.new(parent) } before do diff --git a/spec/features/work_packages/table/hierarchy/hierarchy_sorting_spec.rb b/spec/features/work_packages/table/hierarchy/hierarchy_sorting_spec.rb index cdee8d8ced7..e96d5ba43db 100644 --- a/spec/features/work_packages/table/hierarchy/hierarchy_sorting_spec.rb +++ b/spec/features/work_packages/table/hierarchy/hierarchy_sorting_spec.rb @@ -1,15 +1,15 @@ require 'spec_helper' describe 'Work Package table hierarchy and sorting', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } let(:sort_by) { ::Components::WorkPackages::SortBy.new } let!(:wp_root) do - FactoryBot.create :work_package, + create :work_package, project: project, subject: 'Parent', start_date: Date.today - 10.days, @@ -17,7 +17,7 @@ describe 'Work Package table hierarchy and sorting', js: true do end let!(:wp_child1) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'Child at end', @@ -26,7 +26,7 @@ describe 'Work Package table hierarchy and sorting', js: true do end let!(:wp_child2) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'Middle child', @@ -35,7 +35,7 @@ describe 'Work Package table hierarchy and sorting', js: true do end let!(:wp_child3) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, subject: 'Child at beginning', diff --git a/spec/features/work_packages/table/hierarchy/hierarchy_spec.rb b/spec/features/work_packages/table/hierarchy/hierarchy_spec.rb index 48283baaed3..37f45644b52 100644 --- a/spec/features/work_packages/table/hierarchy/hierarchy_spec.rb +++ b/spec/features/work_packages/table/hierarchy/hierarchy_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Work Package table hierarchy', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } @@ -12,15 +12,15 @@ describe 'Work Package table hierarchy', js: true do end describe 'hierarchies in same project' do - let(:category) { FactoryBot.create :category, project: project, name: 'Foo' } + let(:category) { create :category, project: project, name: 'Foo' } - let!(:wp_root) { FactoryBot.create(:work_package, project: project) } - let!(:wp_inter) { FactoryBot.create(:work_package, project: project, parent: wp_root) } - let!(:wp_leaf) { FactoryBot.create(:work_package, project: project, category: category, parent: wp_inter) } - let!(:wp_other) { FactoryBot.create(:work_package, project: project) } + let!(:wp_root) { create(:work_package, project: project) } + let!(:wp_inter) { create(:work_package, project: project, parent: wp_root) } + let!(:wp_leaf) { create(:work_package, project: project, category: category, parent: wp_inter) } + let!(:wp_other) { create(:work_package, project: project) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'category'] query.filters.clear query.add_filter('category_id', '=', [category.id]) @@ -89,9 +89,9 @@ describe 'Work Package table hierarchy', js: true do end describe 'with a cross project hierarchy' do - let(:project2) { FactoryBot.create(:project) } - let!(:wp_root) { FactoryBot.create(:work_package, project: project) } - let!(:wp_inter) { FactoryBot.create(:work_package, project: project2, parent: wp_root) } + let(:project2) { create(:project) } + let!(:wp_root) { create(:work_package, project: project) } + let!(:wp_inter) { create(:work_package, project: project2, parent: wp_root) } let(:global_table) { Pages::WorkPackagesTable.new } it 'shows the hierarchy indicator only when the rows are both shown' do wp_table.visit! @@ -108,12 +108,12 @@ describe 'Work Package table hierarchy', js: true do end describe 'flat table such that the parent appears below the child' do - let!(:wp_root) { FactoryBot.create(:work_package, project: project) } - let!(:wp_inter) { FactoryBot.create(:work_package, project: project, parent: wp_root) } - let!(:wp_leaf) { FactoryBot.create(:work_package, project: project, parent: wp_inter) } + let!(:wp_root) { create(:work_package, project: project) } + let!(:wp_inter) { create(:work_package, project: project, parent: wp_root) } + let!(:wp_leaf) { create(:work_package, project: project, parent: wp_inter) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'category'] query.filters.clear query.show_hierarchies = false @@ -156,35 +156,35 @@ describe 'Work Package table hierarchy', js: true do describe 'sorting by assignee' do include_context 'work package table helpers' let(:root_assigned) do - FactoryBot.create(:work_package, subject: 'root_assigned', project: project, assigned_to: user) + create(:work_package, subject: 'root_assigned', project: project, assigned_to: user) end let(:inter_assigned) do - FactoryBot.create(:work_package, subject: 'inter_assigned', project: project, assigned_to: user, parent: root_assigned) + create(:work_package, subject: 'inter_assigned', project: project, assigned_to: user, parent: root_assigned) end let(:inter) do - FactoryBot.create(:work_package, subject: 'inter', project: project, parent: root_assigned) + create(:work_package, subject: 'inter', project: project, parent: root_assigned) end let(:leaf_assigned) do - FactoryBot.create(:work_package, subject: 'leaf_assigned', project: project, assigned_to: user, parent: inter) + create(:work_package, subject: 'leaf_assigned', project: project, assigned_to: user, parent: inter) end let(:leaf) do - FactoryBot.create(:work_package, subject: 'leaf', project: project, parent: inter) + create(:work_package, subject: 'leaf', project: project, parent: inter) end let(:root) do - FactoryBot.create(:work_package, subject: 'root', project: project) + create(:work_package, subject: 'root', project: project) end let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:permissions) { %i(view_work_packages add_work_packages save_queries) } - let(:role) { FactoryBot.create :role, permissions: permissions } + let(:role) { create :role, permissions: permissions } let(:sort_by) { ::Components::WorkPackages::SortBy.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'subject', 'assigned_to'] query.filters.clear query.sort_criteria = [['assigned_to', 'asc'], ['id', 'asc']] diff --git a/spec/features/work_packages/table/hierarchy/hierarchy_vs_grouping_spec.rb b/spec/features/work_packages/table/hierarchy/hierarchy_vs_grouping_spec.rb index b070d80d30d..5ab5eb2d72e 100644 --- a/spec/features/work_packages/table/hierarchy/hierarchy_vs_grouping_spec.rb +++ b/spec/features/work_packages/table/hierarchy/hierarchy_vs_grouping_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Work Package table hierarchy vs grouping', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } diff --git a/spec/features/work_packages/table/hierarchy/parent_column_spec.rb b/spec/features/work_packages/table/hierarchy/parent_column_spec.rb index e7fc38a7129..1844c4e5db7 100644 --- a/spec/features/work_packages/table/hierarchy/parent_column_spec.rb +++ b/spec/features/work_packages/table/hierarchy/parent_column_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' describe 'Work Package table parent column', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } @@ -10,11 +10,11 @@ describe 'Work Package table parent column', js: true do login_as(user) end - let!(:parent) { FactoryBot.create(:work_package, project: project) } - let!(:child) { FactoryBot.create(:work_package, project: project, parent: parent) } + let!(:parent) { create(:work_package, project: project) } + let!(:child) { create(:work_package, project: project, parent: parent) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'parent'] query.filters.clear query.show_hierarchies = false diff --git a/spec/features/work_packages/table/inline_create/create_work_packages_spec.rb b/spec/features/work_packages/table/inline_create/create_work_packages_spec.rb index e261d2c3dfd..7e6ad4b8783 100644 --- a/spec/features/work_packages/table/inline_create/create_work_packages_spec.rb +++ b/spec/features/work_packages/table/inline_create/create_work_packages_spec.rb @@ -1,28 +1,28 @@ require 'spec_helper' describe 'inline create work package', js: true do - let(:type) { FactoryBot.create(:type) } + let(:type) { create(:type) } let(:types) { [type] } let(:permissions) { %i(view_work_packages add_work_packages edit_work_packages) } - let(:role) { FactoryBot.create :role, permissions: permissions } + let(:role) { create :role, permissions: permissions } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end - let(:status) { FactoryBot.create(:default_status) } + let(:status) { create(:default_status) } let(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status, - new_status: FactoryBot.create(:status), + new_status: create(:status), role: role end - let!(:project) { FactoryBot.create(:project, public: true, types: types) } - let!(:existing_wp) { FactoryBot.create(:work_package, project: project) } - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:project) { create(:project, public: true, types: types) } + let!(:existing_wp) { create(:work_package, project: project) } + let!(:priority) { create :priority, is_default: true } let(:filters) { ::Components::WorkPackages::Filters.new } before do @@ -92,12 +92,12 @@ describe 'inline create work package', js: true do context 'when having filtered by custom field and switching to that type' do let(:cf_list) do - FactoryBot.create(:list_wp_custom_field, is_for_all: true, is_filter: true) + create(:list_wp_custom_field, is_for_all: true, is_filter: true) end let(:cf_accessor_frontend) { "customField#{cf_list.id}" } let(:types) { [type, cf_type] } - let(:type) { FactoryBot.create(:type_standard) } - let(:cf_type) { FactoryBot.create(:type, custom_fields: [cf_list]) } + let(:type) { create(:type_standard) } + let(:cf_type) { create(:type, custom_fields: [cf_list]) } let(:columns) { ::Components::WorkPackages::Columns.new } it 'applies the filter value for the custom field' do @@ -186,14 +186,14 @@ describe 'inline create work package', js: true do context 'user has permissions in other project' do let(:permissions) { [:view_work_packages] } - let(:project2) { FactoryBot.create :project } + let(:project2) { create :project } let(:role2) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages add_work_packages] end let!(:membership) do - FactoryBot.create :member, + create :member, user: user, project: project2, roles: [role2] diff --git a/spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb b/spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb index df34e15233f..3f333d947f0 100644 --- a/spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb +++ b/spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb @@ -1,15 +1,15 @@ require 'spec_helper' describe 'Refreshing in inline-create row', flaky: true, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:work_packages_page) { WorkPackagesPage.new(project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:columns) { ::Components::WorkPackages::Columns.new } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject', 'category'] query.filters.clear diff --git a/spec/features/work_packages/table/inline_create/parallel_creation_spec.rb b/spec/features/work_packages/table/inline_create/parallel_creation_spec.rb index 2fec413ae2d..925343b4095 100644 --- a/spec/features/work_packages/table/inline_create/parallel_creation_spec.rb +++ b/spec/features/work_packages/table/inline_create/parallel_creation_spec.rb @@ -4,23 +4,23 @@ describe 'Parallel work package creation spec', js: true do let(:type) { project.types.first } let(:permissions) { %i(view_work_packages add_work_packages edit_work_packages) } - let(:role) { FactoryBot.create :role, permissions: permissions } + let(:role) { create :role, permissions: permissions } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end - let(:status) { FactoryBot.create(:default_status) } + let(:status) { create(:default_status) } let(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status, - new_status: FactoryBot.create(:status), + new_status: create(:status), role: role end - let!(:project) { FactoryBot.create(:project, public: true) } - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:project) { create(:project, public: true) } + let!(:priority) { create :priority, is_default: true } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } before do diff --git a/spec/features/work_packages/table/invalid_query_spec.rb b/spec/features/work_packages/table/invalid_query_spec.rb index af32d40629e..431596b480a 100644 --- a/spec/features/work_packages/table/invalid_query_spec.rb +++ b/spec/features/work_packages/table/invalid_query_spec.rb @@ -1,28 +1,28 @@ require 'spec_helper' describe 'Invalid query spec', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let(:group_by) { ::Components::WorkPackages::GroupBy.new } let(:member) do - FactoryBot.create(:member, + create(:member, user: user, project: project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end let(:status) do - FactoryBot.create(:status) + create(:status) end let(:status2) do - FactoryBot.create(:status) + create(:status) end let(:invalid_query) do - query = FactoryBot.create(:query, + query = create(:query, project: project, user: user) @@ -31,19 +31,19 @@ describe 'Invalid query spec', js: true do query.group_by = 'cf_0815' query.sort_criteria = [%w(cf_0815 desc)] query.save(validate: false) - FactoryBot.create(:view_work_packages_table, query: query) + create(:view_work_packages_table, query: query) query end let(:valid_query) do - FactoryBot.create(:query, + create(:query, project: project, user: user) end let(:work_package_assigned) do - FactoryBot.create(:work_package, + create(:work_package, project: project, status: status2, assigned_to: user) diff --git a/spec/features/work_packages/table/milestones_spec.rb b/spec/features/work_packages/table/milestones_spec.rb index 4ca43c0d041..e4a9d8dbe5f 100644 --- a/spec/features/work_packages/table/milestones_spec.rb +++ b/spec/features/work_packages/table/milestones_spec.rb @@ -1,12 +1,12 @@ require 'spec_helper' describe 'Inline editing milestones', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:type) { FactoryBot.create :type, is_milestone: true } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type, is_milestone: true } + let(:project) { create(:project, types: [type]) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, subject: 'Foobar') @@ -14,7 +14,7 @@ describe 'Inline editing milestones', js: true do let!(:wp_table) { Pages::WorkPackagesTable.new(project) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(subject start_date due_date) query.filters.clear query.show_hierarchies = false diff --git a/spec/features/work_packages/table/queries/assignee_filter_spec.rb b/spec/features/work_packages/table/queries/assignee_filter_spec.rb index 15c29e23baa..80e0649f2d9 100644 --- a/spec/features/work_packages/table/queries/assignee_filter_spec.rb +++ b/spec/features/work_packages/table/queries/assignee_filter_spec.rb @@ -29,36 +29,36 @@ require 'spec_helper' describe 'Work package filtering by assignee', js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages save_queries]) } let(:other_user) do - FactoryBot.create :user, + create :user, firstname: 'Other', lastname: 'User', member_in_project: project, member_through_role: role end let(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, member_in_project: project, member_through_role: role end let!(:work_package_user_assignee) do - FactoryBot.create :work_package, + create :work_package, project: project, assigned_to: other_user end let!(:work_package_placeholder_user_assignee) do - FactoryBot.create :work_package, + create :work_package, project: project, assigned_to: placeholder_user end current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/features/work_packages/table/queries/bool_cf_filter_spec.rb b/spec/features/work_packages/table/queries/bool_cf_filter_spec.rb index 3bb2b852878..0a8d0aedd3d 100644 --- a/spec/features/work_packages/table/queries/bool_cf_filter_spec.rb +++ b/spec/features/work_packages/table/queries/bool_cf_filter_spec.rb @@ -29,19 +29,19 @@ require 'spec_helper' describe 'Work package filtering by bool custom field', js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:type) { project.types.first } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let!(:bool_cf) do - FactoryBot.create(:bool_wp_custom_field).tap do |cf| + create(:bool_wp_custom_field).tap do |cf| type.custom_fields << cf project.work_package_custom_fields << cf end end - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages save_queries]) } let!(:work_package_true) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project).tap do |wp| wp.custom_field_values = { bool_cf.id => true } @@ -49,7 +49,7 @@ describe 'Work package filtering by bool custom field', js: true do end end let!(:work_package_false) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project).tap do |wp| wp.custom_field_values = { bool_cf.id => false } @@ -58,19 +58,19 @@ describe 'Work package filtering by bool custom field', js: true do end let!(:work_package_without) do # Has no custom field value set - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project) end let!(:work_package_other_type) do # Does not have the custom field at all - FactoryBot.create(:work_package, + create(:work_package, type: project.types.last, project: project) end current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages save_queries] end diff --git a/spec/features/work_packages/table/queries/filter_pagination_spec.rb b/spec/features/work_packages/table/queries/filter_pagination_spec.rb index 367ce529fdb..7785489e735 100644 --- a/spec/features/work_packages/table/queries/filter_pagination_spec.rb +++ b/spec/features/work_packages/table/queries/filter_pagination_spec.rb @@ -31,7 +31,7 @@ require 'features/work_packages/work_packages_page' describe 'Filter updates pagination', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_work_packages]) end @@ -40,9 +40,9 @@ describe 'Filter updates pagination', type: :feature, js: true do let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:filters) { Components::WorkPackages::Filters.new } - let(:project) { FactoryBot.create(:project) } - let(:work_package_1) { FactoryBot.create(:work_package, project: project, assigned_to: user) } - let(:work_package_2) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package_1) { create(:work_package, project: project, assigned_to: user) } + let(:work_package_2) { create(:work_package, project: project) } before do allow(Setting).to receive(:per_page_options).and_return '1' diff --git a/spec/features/work_packages/table/queries/filter_spec.rb b/spec/features/work_packages/table/queries/filter_spec.rb index c39b16486db..42aae0acf55 100644 --- a/spec/features/work_packages/table/queries/filter_spec.rb +++ b/spec/features/work_packages/table/queries/filter_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'filter work packages', js: true do - let(:user) { FactoryBot.create :admin } - let(:watcher) { FactoryBot.create :user } - let(:project) { FactoryBot.create :project, members: { watcher => role } } - let(:role) { FactoryBot.create :existing_role, permissions: [:view_work_packages] } + let(:user) { create :admin } + let(:watcher) { create :user } + let(:project) { create :project, members: { watcher => role } } + let(:role) { create :existing_role, permissions: [:view_work_packages] } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } @@ -40,13 +40,13 @@ describe 'filter work packages', js: true do context 'by watchers' do let(:work_package_with_watcher) do - wp = FactoryBot.build :work_package, project: project + wp = build :work_package, project: project wp.add_watcher watcher wp.save! wp end - let(:work_package_without_watcher) { FactoryBot.create :work_package, project: project } + let(:work_package_without_watcher) { create :work_package, project: project } before do work_package_with_watcher @@ -69,11 +69,11 @@ describe 'filter work packages', js: true do end context 'by version in project' do - let(:version) { FactoryBot.create :version, project: project } + let(:version) { create :version, project: project } let(:work_package_with_version) do - FactoryBot.create :work_package, project: project, subject: 'With version', version: version + create :work_package, project: project, subject: 'With version', version: version end - let(:work_package_without_version) { FactoryBot.create :work_package, subject: 'Without version', project: project } + let(:work_package_without_version) { create :work_package, subject: 'Without version', project: project } before do work_package_with_version @@ -119,8 +119,8 @@ describe 'filter work packages', js: true do end context 'by finish date outside of a project' do - let(:work_package_with_due_date) { FactoryBot.create :work_package, project: project, due_date: Date.today } - let(:work_package_without_due_date) { FactoryBot.create :work_package, project: project, due_date: Date.today + 5.days } + let(:work_package_with_due_date) { create :work_package, project: project, due_date: Date.today } + let(:work_package_without_due_date) { create :work_package, project: project, due_date: Date.today + 5.days } let(:wp_table) { ::Pages::WorkPackagesTable.new } before do @@ -174,7 +174,7 @@ describe 'filter work packages', js: true do context 'by list cf inside a project' do let(:type) do - type = FactoryBot.create(:type) + type = create(:type) project.types << type @@ -182,21 +182,21 @@ describe 'filter work packages', js: true do end let(:work_package_with_list_value) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.send("#{list_cf.accessor_name}=", list_cf.custom_options.first.id) wp.save! wp end let(:work_package_with_anti_list_value) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.send("#{list_cf.accessor_name}=", list_cf.custom_options.last.id) wp.save! wp end let(:list_cf) do - cf = FactoryBot.create :list_wp_custom_field + cf = create :list_wp_custom_field project.work_package_custom_fields << cf type.custom_fields << cf @@ -252,7 +252,7 @@ describe 'filter work packages', js: true do context 'by string cf inside a project with url-query relevant chars' do let(:type) do - type = FactoryBot.create(:type) + type = create(:type) project.types << type @@ -260,21 +260,21 @@ describe 'filter work packages', js: true do end let(:work_package_plus) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.send("#{string_cf.accessor_name}=", 'G+H') wp.save! wp end let(:work_package_and) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.send("#{string_cf.accessor_name}=", 'A&B') wp.save! wp end let(:string_cf) do - cf = FactoryBot.create :string_wp_custom_field + cf = create :string_wp_custom_field project.work_package_custom_fields << cf type.custom_fields << cf @@ -338,15 +338,15 @@ describe 'filter work packages', js: true do end context 'by attachment content' do - let(:attachment_a) { FactoryBot.build(:attachment, filename: 'attachment-first.pdf') } - let(:attachment_b) { FactoryBot.build(:attachment, filename: 'attachment-second.pdf') } + let(:attachment_a) { build(:attachment, filename: 'attachment-first.pdf') } + let(:attachment_b) { build(:attachment, filename: 'attachment-second.pdf') } let(:wp_with_attachment_a) do - FactoryBot.create :work_package, subject: 'WP attachment A', project: project, attachments: [attachment_a] + create :work_package, subject: 'WP attachment A', project: project, attachments: [attachment_a] end let(:wp_with_attachment_b) do - FactoryBot.create :work_package, subject: 'WP attachment B', project: project, attachments: [attachment_b] + create :work_package, subject: 'WP attachment B', project: project, attachments: [attachment_b] end - let(:wp_without_attachment) { FactoryBot.create :work_package, subject: 'WP no attachment', project: project } + let(:wp_without_attachment) { create :work_package, subject: 'WP no attachment', project: project } let(:wp_table) { ::Pages::WorkPackagesTable.new } before do @@ -459,10 +459,10 @@ describe 'filter work packages', js: true do describe 'specific filters' do describe 'filters on date by created_at (Regression #28459)' do let!(:wp_updated_today) do - FactoryBot.create :work_package, subject: 'Created today', project: project, created_at: (Date.today + 12.hours) + create :work_package, subject: 'Created today', project: project, created_at: (Date.today + 12.hours) end let!(:wp_updated_5d_ago) do - FactoryBot.create :work_package, subject: 'Created 5d ago', project: project, created_at: (Date.today - 5.days) + create :work_package, subject: 'Created 5d ago', project: project, created_at: (Date.today - 5.days) end it do @@ -486,8 +486,8 @@ describe 'filter work packages', js: true do end describe 'keep the filter attribute order (Regression #33136)' do - let(:version1) { FactoryBot.create :version, project: project, name: 'Version 1', id: 1 } - let(:version2) { FactoryBot.create :version, project: project, name: 'Version 2', id: 2 } + let(:version1) { create :version, project: project, name: 'Version 1', id: 1 } + let(:version2) { create :version, project: project, name: 'Version 2', id: 2 } it do wp_table.visit! @@ -508,10 +508,10 @@ describe 'filter work packages', js: true do end describe 'add parent WP filter' do - let(:wp_parent) { FactoryBot.create :work_package, project: project, subject: 'project' } - let(:wp_child1) { FactoryBot.create :work_package, project: project, subject: 'child 1', parent: wp_parent } - let(:wp_child2) { FactoryBot.create :work_package, project: project, subject: 'child 2', parent: wp_parent } - let(:wp_default) { FactoryBot.create :work_package, project: project, subject: 'default' } + let(:wp_parent) { create :work_package, project: project, subject: 'project' } + let(:wp_child1) { create :work_package, project: project, subject: 'child 1', parent: wp_parent } + let(:wp_child2) { create :work_package, project: project, subject: 'child 2', parent: wp_parent } + let(:wp_default) { create :work_package, project: project, subject: 'default' } it do wp_parent diff --git a/spec/features/work_packages/table/queries/id_filter_spec.rb b/spec/features/work_packages/table/queries/id_filter_spec.rb index 10a47f711dd..dbcdb257116 100644 --- a/spec/features/work_packages/table/queries/id_filter_spec.rb +++ b/spec/features/work_packages/table/queries/id_filter_spec.rb @@ -29,23 +29,23 @@ require 'spec_helper' describe 'Work package filtering by id', js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages save_queries]) } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project end let!(:other_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project end current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/features/work_packages/table/queries/me_filter_spec.rb b/spec/features/work_packages/table/queries/me_filter_spec.rb index 5ac63713fff..98abcf8b460 100644 --- a/spec/features/work_packages/table/queries/me_filter_spec.rb +++ b/spec/features/work_packages/table/queries/me_filter_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' describe 'filter me value', js: true do - let(:status) { FactoryBot.create :default_status } - let!(:priority) { FactoryBot.create :default_priority } + let(:status) { create :default_status } + let!(:priority) { create :default_priority } let(:project) do - FactoryBot.create :project, + create :project, public: true, members: project_members end - let(:role) { FactoryBot.create :existing_role, permissions: [:view_work_packages] } - let(:admin) { FactoryBot.create :admin } - let(:user) { FactoryBot.create :user } + let(:role) { create :existing_role, permissions: [:view_work_packages] } + let(:admin) { create :admin } + let(:user) { create :user } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let(:project_members) do @@ -47,17 +47,17 @@ describe 'filter me value', js: true do user => role } end - let!(:role_anonymous) { FactoryBot.create(:anonymous_role, permissions: [:view_work_packages]) } + let!(:role_anonymous) { create(:anonymous_role, permissions: [:view_work_packages]) } describe 'assignee' do - let(:wp_admin) { FactoryBot.create :work_package, status: status, project: project, assigned_to: admin } - let(:wp_user) { FactoryBot.create :work_package, status: status, project: project, assigned_to: user } + let(:wp_admin) { create :work_package, status: status, project: project, assigned_to: admin } + let(:wp_user) { create :work_package, status: status, project: project, assigned_to: user } context 'as anonymous', with_settings: { login_required?: false } do current_user { User.anonymous } let(:assignee_query) do - query = FactoryBot.create(:query, + query = create(:query, name: 'Assignee Query', project: project, user: user) @@ -128,15 +128,15 @@ describe 'filter me value', js: true do describe 'custom_field of type user' do let(:custom_field) do - FactoryBot.create( + create( :user_wp_custom_field, name: 'CF user', is_required: false ) end - let(:type_task) { FactoryBot.create(:type_task, custom_fields: [custom_field]) } + let(:type_task) { create(:type_task, custom_fields: [custom_field]) } let(:project) do - FactoryBot.create(:project, + create(:project, types: [type_task], public: true, work_package_custom_fields: [custom_field], @@ -146,14 +146,14 @@ describe 'filter me value', js: true do let(:cf_accessor) { "cf_#{custom_field.id}" } let(:cf_accessor_frontend) { "customField#{custom_field.id}" } let(:wp_admin) do - FactoryBot.create :work_package, + create :work_package, type: type_task, project: project, custom_field_values: { custom_field.id => admin.id } end let(:wp_user) do - FactoryBot.create :work_package, + create :work_package, type: type_task, project: project, custom_field_values: { custom_field.id => user.id } @@ -161,7 +161,7 @@ describe 'filter me value', js: true do context 'as anonymous', with_settings: { login_required?: false } do let(:assignee_query) do - query = FactoryBot.create(:query, + query = create(:query, name: 'CF user Query', project: project, user: user) diff --git a/spec/features/work_packages/table/queries/query_history_spec.rb b/spec/features/work_packages/table/queries/query_history_spec.rb index 4163c42c3b3..6dba005d004 100644 --- a/spec/features/work_packages/table/queries/query_history_spec.rb +++ b/spec/features/work_packages/table/queries/query_history_spec.rb @@ -30,41 +30,41 @@ require 'spec_helper' describe 'Going back and forth through the browser history', type: :feature, js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:type) { project.types.first } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_work_packages save_queries]) end let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, assigned_to: user) end let(:version) do - FactoryBot.create(:version, + create(:version, project: project) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, version: version) end let(:assignee_query) do - query = FactoryBot.create(:query, + query = create(:query, name: 'Assignee Query', project: project, user: user) @@ -75,7 +75,7 @@ describe 'Going back and forth through the browser history', type: :feature, js: query end let(:version_query) do - query = FactoryBot.create(:query, + query = create(:query, name: 'Version Query', project: project, user: user) diff --git a/spec/features/work_packages/table/queries/query_menu_refresh_spec.rb b/spec/features/work_packages/table/queries/query_menu_refresh_spec.rb index f61395b6117..4078b17477a 100644 --- a/spec/features/work_packages/table/queries/query_menu_refresh_spec.rb +++ b/spec/features/work_packages/table/queries/query_menu_refresh_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe 'Refreshing query menu item', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } - let(:work_package) { FactoryBot.create :work_package, project: project } - let(:other_work_package) { FactoryBot.create :work_package, project: project } + let(:work_package) { create :work_package, project: project } + let(:other_work_package) { create :work_package, project: project } before do login_as(user) diff --git a/spec/features/work_packages/table/queries/query_menu_spec.rb b/spec/features/work_packages/table/queries/query_menu_spec.rb index f5c89b730ad..a111073e5dc 100644 --- a/spec/features/work_packages/table/queries/query_menu_spec.rb +++ b/spec/features/work_packages/table/queries/query_menu_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'Query menu item', js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let(:query_title) { ::Components::WorkPackages::QueryTitle.new } @@ -49,9 +49,9 @@ describe 'Query menu item', js: true do end context 'filtering by version in project' do - let(:version) { FactoryBot.create :version, project: project } - let(:work_package_with_version) { FactoryBot.create :work_package, project: project, version: version } - let(:work_package_without_version) { FactoryBot.create :work_package, project: project } + let(:version) { create :version, project: project } + let(:work_package_with_version) { create :work_package, project: project, version: version } + let(:work_package_without_version) { create :work_package, project: project } before do work_package_with_version diff --git a/spec/features/work_packages/table/queries/query_name_inline_edit_spec.rb b/spec/features/work_packages/table/queries/query_name_inline_edit_spec.rb index 638fac5b305..bebe74beb2a 100644 --- a/spec/features/work_packages/table/queries/query_name_inline_edit_spec.rb +++ b/spec/features/work_packages/table/queries/query_name_inline_edit_spec.rb @@ -30,27 +30,27 @@ require 'spec_helper' describe 'Query name inline edit', js: true do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:type) { project.types.first } let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_work_packages save_queries]) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, assigned_to: user, type: type) end let(:assignee_query) do - query = FactoryBot.create(:query, + query = create(:query, name: 'Assignee Query', project: project, user: user) diff --git a/spec/features/work_packages/table/queries/responsible_filter_spec.rb b/spec/features/work_packages/table/queries/responsible_filter_spec.rb index 39edc7c41c6..5927a9a0e70 100644 --- a/spec/features/work_packages/table/queries/responsible_filter_spec.rb +++ b/spec/features/work_packages/table/queries/responsible_filter_spec.rb @@ -29,36 +29,36 @@ require 'spec_helper' describe 'Work package filtering by responsible', js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages save_queries]) } let(:other_user) do - FactoryBot.create :user, + create :user, firstname: 'Other', lastname: 'User', member_in_project: project, member_through_role: role end let(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, member_in_project: project, member_through_role: role end let!(:work_package_user_responsible) do - FactoryBot.create :work_package, + create :work_package, project: project, responsible: other_user end let!(:work_package_placeholder_user_responsible) do - FactoryBot.create :work_package, + create :work_package, project: project, responsible: placeholder_user end current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/features/work_packages/table/queries/subject_filter_spec.rb b/spec/features/work_packages/table/queries/subject_filter_spec.rb index 6752720b5c0..e30edf2fcf9 100644 --- a/spec/features/work_packages/table/queries/subject_filter_spec.rb +++ b/spec/features/work_packages/table/queries/subject_filter_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe 'Work package filtering by subject', js: true do - let(:project) { FactoryBot.create :project, public: true } - let(:admin) { FactoryBot.create :admin } + let(:project) { create :project, public: true } + let(:admin) { create :admin } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } - let!(:wp_match) { FactoryBot.create :work_package, project: project, subject: 'R#1234 Foobar' } - let!(:wp_nomatch) { FactoryBot.create :work_package, project: project, subject: 'R!1234 Foobar' } + let!(:wp_match) { create :work_package, project: project, subject: 'R#1234 Foobar' } + let!(:wp_nomatch) { create :work_package, project: project, subject: 'R!1234 Foobar' } before do login_as admin diff --git a/spec/features/work_packages/table/queries/summary_spec.rb b/spec/features/work_packages/table/queries/summary_spec.rb index f2fd687e3bb..83effdfd968 100644 --- a/spec/features/work_packages/table/queries/summary_spec.rb +++ b/spec/features/work_packages/table/queries/summary_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' require 'features/work_packages/work_packages_page' describe 'Work package query summary item', type: :feature, js: true do - let(:project) { FactoryBot.create :project, identifier: 'test_project', public: false } - let(:role) { FactoryBot.create :role, permissions: [:view_work_packages] } - let(:work_package) { FactoryBot.create :work_package, project: project } + let(:project) { create :project, identifier: 'test_project', public: false } + let(:role) { create :role, permissions: [:view_work_packages] } + let(:work_package) { create :work_package, project: project } let(:wp_page) { ::Pages::WorkPackagesTable.new project } let(:current_user) do - FactoryBot.create :user, member_in_project: project, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/features/work_packages/table/queries/user_cf_filter_spec.rb b/spec/features/work_packages/table/queries/user_cf_filter_spec.rb index 97d3ef233af..3d30e64be3c 100644 --- a/spec/features/work_packages/table/queries/user_cf_filter_spec.rb +++ b/spec/features/work_packages/table/queries/user_cf_filter_spec.rb @@ -29,37 +29,37 @@ require 'spec_helper' describe 'Work package filtering by user custom field', js: true do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:type) { project.types.first } let(:wp_table) { ::Pages::WorkPackagesTable.new(project) } let(:filters) { ::Components::WorkPackages::Filters.new } let!(:user_cf) do - FactoryBot.create(:user_wp_custom_field).tap do |cf| + create(:user_wp_custom_field).tap do |cf| type.custom_fields << cf project.work_package_custom_fields << cf end end - let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages save_queries]) } + let(:role) { create(:role, permissions: %i[view_work_packages save_queries]) } let!(:other_user) do - FactoryBot.create :user, + create :user, firstname: 'Other', lastname: 'User', member_in_project: project, member_through_role: role end let!(:placeholder_user) do - FactoryBot.create :placeholder_user, + create :placeholder_user, member_in_project: project, member_through_role: role end let!(:group) do - FactoryBot.create :group, + create :group, member_in_project: project, member_through_role: role end let!(:work_package_user) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project).tap do |wp| wp.custom_field_values = { user_cf.id => other_user } @@ -67,7 +67,7 @@ describe 'Work package filtering by user custom field', js: true do end end let!(:work_package_placeholder) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project).tap do |wp| wp.custom_field_values = { user_cf.id => placeholder_user } @@ -75,7 +75,7 @@ describe 'Work package filtering by user custom field', js: true do end end let!(:work_package_group) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project).tap do |wp| wp.custom_field_values = { user_cf.id => group } @@ -84,7 +84,7 @@ describe 'Work package filtering by user custom field', js: true do end current_user do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/features/work_packages/table/relations_spec.rb b/spec/features/work_packages/table/relations_spec.rb index 73dbe16b48a..64cadd2b16a 100644 --- a/spec/features/work_packages/table/relations_spec.rb +++ b/spec/features/work_packages/table/relations_spec.rb @@ -1,35 +1,35 @@ require 'spec_helper' describe 'Work Package table relations', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:type) { FactoryBot.create(:type) } - let(:type2) { FactoryBot.create(:type) } - let(:project) { FactoryBot.create(:project, types: [type, type2]) } + let(:type) { create(:type) } + let(:type2) { create(:type) } + let(:project) { create(:project, types: [type, type2]) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:relations) { ::Components::WorkPackages::Relations.new(relations) } let(:columns) { ::Components::WorkPackages::Columns.new } let(:wp_timeline) { Pages::WorkPackagesTimeline.new(project) } - let!(:wp_from) { FactoryBot.create(:work_package, project: project, type: type2) } - let!(:wp_to) { FactoryBot.create(:work_package, project: project, type: type) } - let!(:wp_to2) { FactoryBot.create(:work_package, project: project, type: type) } + let!(:wp_from) { create(:work_package, project: project, type: type2) } + let!(:wp_to) { create(:work_package, project: project, type: type) } + let!(:wp_to2) { create(:work_package, project: project, type: type) } let!(:relation) do - FactoryBot.create(:relation, + create(:relation, from: wp_from, to: wp_to, relation_type: Relation::TYPE_FOLLOWS) end let!(:relation2) do - FactoryBot.create(:relation, + create(:relation, from: wp_from, to: wp_to2, relation_type: Relation::TYPE_FOLLOWS) end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject'] query.filters.clear diff --git a/spec/features/work_packages/table/scheduling/manual_scheduling_spec.rb b/spec/features/work_packages/table/scheduling/manual_scheduling_spec.rb index a5d747379ce..a9102d33a65 100644 --- a/spec/features/work_packages/table/scheduling/manual_scheduling_spec.rb +++ b/spec/features/work_packages/table/scheduling/manual_scheduling_spec.rb @@ -1,20 +1,20 @@ require 'spec_helper' describe 'Manual scheduling', js: true do - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:type) { FactoryBot.create :type } + let(:project) { create(:project, types: [type]) } + let(:type) { create :type } - let(:user) { FactoryBot.create :user, member_in_project: project, member_through_role: role } + let(:user) { create :user, member_in_project: project, member_through_role: role } let!(:parent) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, subject: 'Parent') end let!(:child) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: parent, type: type, @@ -23,7 +23,7 @@ describe 'Manual scheduling', js: true do let!(:wp_table) { Pages::WorkPackagesTable.new(project) } let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = %w(subject start_date due_date) query.filters.clear query.show_hierarchies = false @@ -40,7 +40,7 @@ describe 'Manual scheduling', js: true do end context 'with a user allowed to edit dates' do - let(:role) { FactoryBot.create :role, permissions: %i[view_work_packages edit_work_packages] } + let(:role) { create :role, permissions: %i[view_work_packages edit_work_packages] } it 'allows to edit start and due date multiple times switching between scheduling modes' do start_date = wp_table.edit_field(parent, :startDate) @@ -117,6 +117,6 @@ describe 'Manual scheduling', js: true do end context 'with a user allowed to view only' do - let(:role) { FactoryBot.create :role, permissions: %i[view_work_packages] } + let(:role) { create :role, permissions: %i[view_work_packages] } end end diff --git a/spec/features/work_packages/table/switch_types_spec.rb b/spec/features/work_packages/table/switch_types_spec.rb index 74338e3ad94..33d5305dfbb 100644 --- a/spec/features/work_packages/table/switch_types_spec.rb +++ b/spec/features/work_packages/table/switch_types_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' describe 'Switching types in work package table', js: true do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } describe 'switching to required CF' do let(:cf_req_text) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', name: 'Required CF', @@ -14,7 +14,7 @@ describe 'Switching types in work package table', js: true do ) end let(:cf_text) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', is_required: false, @@ -22,18 +22,18 @@ describe 'Switching types in work package table', js: true do ) end - let(:type_task) { FactoryBot.create(:type_task, custom_fields: [cf_text]) } - let(:type_bug) { FactoryBot.create(:type_bug, custom_fields: [cf_req_text]) } + let(:type_task) { create(:type_task, custom_fields: [cf_text]) } + let(:type_bug) { create(:type_bug, custom_fields: [cf_req_text]) } let(:project) do - FactoryBot.create( + create( :project, types: [type_task, type_bug], work_package_custom_fields: [cf_text, cf_req_text] ) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Foobar', type: type_task, project: project) @@ -41,7 +41,7 @@ describe 'Switching types in work package table', js: true do let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'subject', 'type', "cf_#{cf_text.id}"] query.save! @@ -211,7 +211,7 @@ describe 'Switching types in work package table', js: true do describe 'switching to required bool CF with default value' do let(:cf_req_bool) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'bool', is_required: true, @@ -219,18 +219,18 @@ describe 'Switching types in work package table', js: true do ) end - let(:type_task) { FactoryBot.create(:type_task) } - let(:type_bug) { FactoryBot.create(:type_bug, custom_fields: [cf_req_bool]) } + let(:type_task) { create(:type_task) } + let(:type_bug) { create(:type_bug, custom_fields: [cf_req_bool]) } let(:project) do - FactoryBot.create( + create( :project, types: [type_task, type_bug], work_package_custom_fields: [cf_req_bool] ) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Foobar', type: type_task, project: project) @@ -263,18 +263,18 @@ describe 'Switching types in work package table', js: true do describe 'switching to list CF' do let!(:wp_page) { Pages::FullWorkPackageCreate.new } - let!(:type_with_cf) { FactoryBot.create(:type_task, custom_fields: [custom_field]) } - let!(:type) { FactoryBot.create(:type_bug) } + let!(:type_with_cf) { create(:type_task, custom_fields: [custom_field]) } + let!(:type) { create(:type_bug) } let(:permissions) { %i(view_work_packages add_work_packages) } - let(:role) { FactoryBot.create :role, permissions: permissions } + let(:role) { create :role, permissions: permissions } let(:user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: true, @@ -283,22 +283,22 @@ describe 'Switching types in work package table', js: true do end let!(:project) do - FactoryBot.create( + create( :project, types: [type, type_with_cf], work_package_custom_fields: [custom_field] ) end - let!(:status) { FactoryBot.create(:default_status) } + let!(:status) { create(:default_status) } let!(:workflow) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status, - new_status: FactoryBot.create(:status), + new_status: create(:status), role: role end - let!(:priority) { FactoryBot.create :priority, is_default: true } + let!(:priority) { create :priority, is_default: true } let(:cf_edit_field) do field = wp_page.edit_field "customField#{custom_field.id}" diff --git a/spec/features/work_packages/tabs/activity_notifications_spec.rb b/spec/features/work_packages/tabs/activity_notifications_spec.rb index 4de5743d6a8..c7ff06e5785 100644 --- a/spec/features/work_packages/tabs/activity_notifications_spec.rb +++ b/spec/features/work_packages/tabs/activity_notifications_spec.rb @@ -4,9 +4,9 @@ require 'features/work_packages/work_packages_page' require 'support/edit_fields/edit_field' describe 'Activity tab notifications', js: true, selenium: true do - shared_let(:project) { FactoryBot.create :project_with_types, public: true } + shared_let(:project) { create :project_with_types, public: true } shared_let(:work_package) do - work_package = FactoryBot.create(:work_package, + work_package = create(:work_package, project: project, created_at: 5.days.ago.to_date.to_s(:db)) @@ -19,11 +19,11 @@ describe 'Activity tab notifications', js: true, selenium: true do work_package end - shared_let(:admin) { FactoryBot.create(:admin) } + shared_let(:admin) { create(:admin) } shared_examples_for 'when there are notifications for the work package' do shared_let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: admin, project: project, resource: work_package, @@ -94,7 +94,7 @@ describe 'Activity tab notifications', js: true, selenium: true do context 'when visiting as an anonymous user', with_settings: { login_required?: false } do let(:full_view) { Pages::FullWorkPackage.new(work_package, project) } let!(:anonymous_role) do - FactoryBot.create :anonymous_role, permissions: [:view_work_packages] + create :anonymous_role, permissions: [:view_work_packages] end it 'does not show an error' do diff --git a/spec/features/work_packages/tabs/activity_revisions_spec.rb b/spec/features/work_packages/tabs/activity_revisions_spec.rb index 4780af67ac3..9a84afdec59 100644 --- a/spec/features/work_packages/tabs/activity_revisions_spec.rb +++ b/spec/features/work_packages/tabs/activity_revisions_spec.rb @@ -11,9 +11,9 @@ describe 'Activity tab', js: true, selenium: true do note_journal.update(created_at: at, user: user) end - let(:project) { FactoryBot.create :project_with_types, public: true } + let(:project) { create :project_with_types, public: true } let!(:work_package) do - work_package = FactoryBot.create(:work_package, + work_package = create(:work_package, project: project, created_at: 5.days.ago.to_date.to_s(:db), subject: initial_subject, @@ -51,20 +51,20 @@ describe 'Activity tab', js: true, selenium: true do alter_work_package_at(work_package, attributes: attributes, at: 1.days.ago.to_date.to_s(:db), - user: FactoryBot.create(:admin)) + user: create(:admin)) work_package.journals.last end let!(:revision) do - repo = FactoryBot.build(:repository_subversion, + repo = build(:repository_subversion, project: project) Setting.enabled_scm = Setting.enabled_scm << repo.vendor repo.save! - changeset = FactoryBot.build(:changeset, + changeset = build(:changeset, comments: 'A comment on a changeset', committed_on: 2.days.ago.to_date.to_s(:db), repository: repo, @@ -134,12 +134,12 @@ describe 'Activity tab', js: true, selenium: true do context 'with permission' do let(:role) do - FactoryBot.create(:role, permissions: %i[view_work_packages + create(:role, permissions: %i[view_work_packages view_changesets add_work_package_notes]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -213,10 +213,10 @@ describe 'Activity tab', js: true, selenium: true do context 'with no permission' do let(:role) do - FactoryBot.create(:role, permissions: [:view_work_packages]) + create(:role, permissions: [:view_work_packages]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/features/work_packages/tabs/activity_tab_spec.rb b/spec/features/work_packages/tabs/activity_tab_spec.rb index 20a8ee2f012..520c1da43e0 100644 --- a/spec/features/work_packages/tabs/activity_tab_spec.rb +++ b/spec/features/work_packages/tabs/activity_tab_spec.rb @@ -11,9 +11,9 @@ describe 'Activity tab', js: true, selenium: true do note_journal.update(created_at: at, user: user) end - let(:project) { FactoryBot.create :project_with_types, public: true } + let(:project) { create :project_with_types, public: true } let!(:work_package) do - work_package = FactoryBot.create(:work_package, + work_package = create(:work_package, project: project, created_at: 5.days.ago.to_date.to_s(:db), subject: initial_subject, @@ -51,7 +51,7 @@ describe 'Activity tab', js: true, selenium: true do alter_work_package_at(work_package, attributes: attributes, at: 1.days.ago.to_date.to_s(:db), - user: FactoryBot.create(:admin)) + user: create(:admin)) work_package.journals.last end @@ -113,11 +113,11 @@ describe 'Activity tab', js: true, selenium: true do context 'with permission' do let(:role) do - FactoryBot.create(:role, permissions: %i[view_work_packages + create(:role, permissions: %i[view_work_packages add_work_package_notes]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -181,10 +181,10 @@ describe 'Activity tab', js: true, selenium: true do context 'with no permission' do let(:role) do - FactoryBot.create(:role, permissions: [:view_work_packages]) + create(:role, permissions: [:view_work_packages]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/features/work_packages/tabs/keep_tab_spec.rb b/spec/features/work_packages/tabs/keep_tab_spec.rb index fea90c8380f..67755bf4f36 100644 --- a/spec/features/work_packages/tabs/keep_tab_spec.rb +++ b/spec/features/work_packages/tabs/keep_tab_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' RSpec.feature 'Keep current details tab', js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } - let!(:wp1) { FactoryBot.create(:work_package, project: project) } - let!(:wp2) { FactoryBot.create(:work_package, project: project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } + let!(:wp1) { create(:work_package, project: project) } + let!(:wp2) { create(:work_package, project: project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:split) { Pages::WorkPackagesTable.new(project) } diff --git a/spec/features/work_packages/tabs/watcher_tab_spec.rb b/spec/features/work_packages/tabs/watcher_tab_spec.rb index df085d70c39..22df4e5e048 100644 --- a/spec/features/work_packages/tabs/watcher_tab_spec.rb +++ b/spec/features/work_packages/tabs/watcher_tab_spec.rb @@ -3,11 +3,11 @@ require 'spec_helper' describe 'Watcher tab', js: true, selenium: true do include ::Components::NgSelectAutocompleteHelpers - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:tabs) { ::Components::WorkPackages::Tabs.new(work_package) } - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:user) { create(:user, member_in_project: project, member_through_role: role) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) do %i(view_work_packages view_work_package_watchers @@ -84,7 +84,7 @@ describe 'Watcher tab', js: true, selenium: true do context 'with a user with arbitrary characters' do let!(:html_user) do - FactoryBot.create :user, + create :user, firstname: 'foo', member_in_project: project, member_through_role: role @@ -121,7 +121,7 @@ describe 'Watcher tab', js: true, selenium: true do end context 'when the work package has a watcher' do - let(:watchers) { FactoryBot.create(:watcher, watchable: work_package, user: user) } + let(:watchers) { create(:watcher, watchable: work_package, user: user) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } before do @@ -138,7 +138,7 @@ describe 'Watcher tab', js: true, selenium: true do end context 'with a placeholder user in the project' do - let!(:placeholder) { FactoryBot.create :placeholder_user, name: 'PLACEHOLDER' } + let!(:placeholder) { create :placeholder_user, name: 'PLACEHOLDER' } let(:wp_page) { Pages::FullWorkPackage.new(work_package) } before do diff --git a/spec/features/work_packages/timeline/timeline_dates_spec.rb b/spec/features/work_packages/timeline/timeline_dates_spec.rb index 1112791ef1e..e5115cbfc95 100644 --- a/spec/features/work_packages/timeline/timeline_dates_spec.rb +++ b/spec/features/work_packages/timeline/timeline_dates_spec.rb @@ -32,11 +32,11 @@ RSpec.feature 'Work package timeline date formatting', with_settings: { date_format: '%Y-%m-%d' }, js: true, selenium: true do - shared_let(:type) { FactoryBot.create(:type_bug) } - shared_let(:project) { FactoryBot.create(:project, types: [type]) } + shared_let(:type) { create(:type_bug) } + shared_let(:project) { create(:project, types: [type]) } shared_let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, start_date: '2020-12-31', @@ -46,7 +46,7 @@ RSpec.feature 'Work package timeline date formatting', let(:wp_timeline) { Pages::WorkPackagesTimeline.new(project) } let!(:query_tl) do - query = FactoryBot.build(:query, user: current_user, project: project) + query = build(:query, user: current_user, project: project) query.column_names = ['id', 'type', 'subject'] query.filters.clear query.timeline_visible = true @@ -75,7 +75,7 @@ RSpec.feature 'Work package timeline date formatting', with_settings: { start_of_week: '', first_week_of_year: '' } do context 'with english locale user' do - let(:current_user) { FactoryBot.create :admin, language: 'en' } + let(:current_user) { create :admin, language: 'en' } it 'shows english ISO dates' do # expect moment to return week 01 for start date @@ -87,7 +87,7 @@ RSpec.feature 'Work package timeline date formatting', end context 'with german locale user' do - let(:current_user) { FactoryBot.create :admin, language: 'de' } + let(:current_user) { create :admin, language: 'de' } it 'shows german ISO dates' do expect(page).to have_selector('.wp-timeline--header-element', text: '52') @@ -105,7 +105,7 @@ RSpec.feature 'Work package timeline date formatting', describe 'with US/CA settings', with_settings: { start_of_week: '7', first_week_of_year: '1' } do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } it 'shows english ISO dates' do expect(page).to have_selector('.wp-timeline--header-element', text: '01') diff --git a/spec/features/work_packages/timeline/timeline_hierarchy_spec.rb b/spec/features/work_packages/timeline/timeline_hierarchy_spec.rb index 4dddf2f875e..d4244c39f46 100644 --- a/spec/features/work_packages/timeline/timeline_hierarchy_spec.rb +++ b/spec/features/work_packages/timeline/timeline_hierarchy_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' RSpec.feature 'Work package timeline hierarchies', js: true, selenium: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project) } + let(:user) { create :admin } + let(:project) { create(:project) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:hierarchy) { ::Components::WorkPackages::Hierarchies.new } @@ -42,12 +42,12 @@ RSpec.feature 'Work package timeline hierarchies', js: true, selenium: true do end let!(:wp_root) do - FactoryBot.create :work_package, + create :work_package, project: project end let!(:wp_leaf) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: wp_root, start_date: Date.today, @@ -55,7 +55,7 @@ RSpec.feature 'Work package timeline hierarchies', js: true, selenium: true do end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['subject'] query.filters.clear query.show_hierarchies = true @@ -90,13 +90,13 @@ RSpec.feature 'Work package timeline hierarchies', js: true, selenium: true do context 'with a relation being rendered to a hidden row' do let!(:wp_other) do - FactoryBot.create :work_package, + create :work_package, project: project, start_date: Date.today + 5.days, due_date: (Date.today + 10.days) end let!(:relation) do - FactoryBot.create(:relation, + create(:relation, from: wp_leaf, to: wp_other, relation_type: Relation::TYPE_FOLLOWS) diff --git a/spec/features/work_packages/timeline/timeline_labels_spec.rb b/spec/features/work_packages/timeline/timeline_labels_spec.rb index e5cae47ff9b..d6b3efadcd8 100644 --- a/spec/features/work_packages/timeline/timeline_labels_spec.rb +++ b/spec/features/work_packages/timeline/timeline_labels_spec.rb @@ -32,17 +32,17 @@ RSpec.feature 'Work package timeline labels', with_settings: { date_format: '%Y-%m-%d' }, js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:type) { FactoryBot.create(:type_bug) } - let(:milestone_type) { FactoryBot.create(:type, is_milestone: true) } + let(:user) { create(:admin) } + let(:type) { create(:type_bug) } + let(:milestone_type) { create(:type, is_milestone: true) } - let(:project) { FactoryBot.create(:project, types: [type, milestone_type]) } + let(:project) { create(:project, types: [type, milestone_type]) } let(:settings_menu) { Components::WorkPackages::SettingsMenu.new } let(:config_modal) { Components::Timelines::ConfigurationModal.new } let(:wp_timeline) { Pages::WorkPackagesTimeline.new(project) } let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: true, @@ -61,7 +61,7 @@ RSpec.feature 'Work package timeline labels', let(:future) { (Date.today + 5).iso8601 } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, assigned_to: user, @@ -72,7 +72,7 @@ RSpec.feature 'Work package timeline labels', end let(:milestone_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: milestone_type, start_date: future, diff --git a/spec/features/work_packages/timeline/timeline_navigation_spec.rb b/spec/features/work_packages/timeline/timeline_navigation_spec.rb index ab987b82bd5..7f6acbdebfc 100644 --- a/spec/features/work_packages/timeline/timeline_navigation_spec.rb +++ b/spec/features/work_packages/timeline/timeline_navigation_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' RSpec.feature 'Work package timeline navigation', js: true, selenium: true do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } let(:query_menu) { Components::WorkPackages::QueryMenu.new } let(:wp_timeline) { Pages::WorkPackagesTimeline.new(project) } let(:settings_menu) { Components::WorkPackages::SettingsMenu.new } let(:group_by) { Components::WorkPackages::GroupBy.new } - let(:milestone_type) { FactoryBot.create(:type, is_milestone: true) } + let(:milestone_type) { create(:type, is_milestone: true) } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, start_date: Date.today, due_date: (Date.today + 5.days) @@ -50,24 +50,24 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do end describe 'with multiple queries' do - let(:type) { FactoryBot.create :type } - let(:type2) { FactoryBot.create :type } - let(:project) { FactoryBot.create(:project, types: [type, type2]) } + let(:type) { create :type } + let(:type2) { create :type } + let(:project) { create(:project, types: [type, type2]) } let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type end let!(:work_package2) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type2 end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'type', 'subject'] query.filters.clear query.timeline_visible = false @@ -75,14 +75,14 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do query.name = 'Query without Timeline' query.save! - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: query) query end let!(:query_tl) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'type', 'subject'] query.filters.clear query.add_filter('type_id', '=', [type2.id]) @@ -90,7 +90,7 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do query.name = 'Query with Timeline' query.save! - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: query) query @@ -188,7 +188,7 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do describe 'with a hierarchy being shown' do let!(:child_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, parent: work_package, start_date: Date.today, @@ -223,21 +223,21 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do end describe 'when table is grouped' do - let(:project) { FactoryBot.create(:project) } - let(:category) { FactoryBot.create :category, project: project, name: 'Foo' } - let(:category2) { FactoryBot.create :category, project: project, name: 'Bar' } + let(:project) { create(:project) } + let(:category) { create :category, project: project, name: 'Foo' } + let(:category2) { create :category, project: project, name: 'Bar' } let(:wp_table) { Pages::WorkPackagesTable.new(project) } let(:relations) { ::Components::WorkPackages::Relations.new(wp_cat1) } let!(:wp_cat1) do - FactoryBot.create :work_package, + create :work_package, project: project, category: category, start_date: Date.today, due_date: (Date.today + 5.days) end let!(:wp_cat2) do - FactoryBot.create :work_package, + create :work_package, project: project, category: category2, start_date: Date.today + 5.days, @@ -245,7 +245,7 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do end let!(:milestone_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: milestone_type, start_date: Date.today - 10.days, @@ -254,19 +254,19 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do end let!(:wp_none) do - FactoryBot.create :work_package, + create :work_package, project: project end let!(:relation) do - FactoryBot.create(:relation, + create(:relation, from: wp_cat1, to: wp_cat2, relation_type: Relation::TYPE_FOLLOWS) end let!(:query) do - query = FactoryBot.build(:query, user: user, project: project) + query = build(:query, user: user, project: project) query.column_names = ['id', 'subject', 'category'] query.show_hierarchies = false query.timeline_visible = true diff --git a/spec/features/work_packages/work_package_index_spec.rb b/spec/features/work_packages/work_package_index_spec.rb index 73bfbf4a5d7..e8b82e1511e 100644 --- a/spec/features/work_packages/work_package_index_spec.rb +++ b/spec/features/work_packages/work_package_index_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' RSpec.feature 'Work package index view' do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[work_package_tracking]) } + let(:user) { create(:admin) } + let(:project) { create(:project, enabled_module_names: %w[work_package_tracking]) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } before do diff --git a/spec/features/work_packages/work_package_workflow_form_spec.rb b/spec/features/work_packages/work_package_workflow_form_spec.rb index 3b9e23d6ffa..0be9bd15b99 100644 --- a/spec/features/work_packages/work_package_workflow_form_spec.rb +++ b/spec/features/work_packages/work_package_workflow_form_spec.rb @@ -33,23 +33,23 @@ require 'features/page_objects/notification' describe 'Work package transitive status workflows', js: true do let(:dev_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: dev_role end - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type } + let(:project) { create(:project, types: [type]) } let(:work_package) do - work_package = FactoryBot.create :work_package, + work_package = create :work_package, project: project, type: type, created_at: 5.days.ago.to_date.to_s(:db) @@ -62,17 +62,17 @@ describe 'Work package transitive status workflows', js: true do let(:wp_page) { Pages::FullWorkPackage.new(work_package) } let(:status_from) { work_package.status } - let(:status_intermediate) { FactoryBot.create :status } - let(:status_to) { FactoryBot.create :status } + let(:status_intermediate) { create :status } + let(:status_to) { create :status } let(:workflows) do - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status_from, new_status: status_intermediate, role: dev_role - FactoryBot.create :workflow, + create :workflow, type_id: type.id, old_status: status_intermediate, new_status: status_to, diff --git a/spec/features/work_packages/zen_mode_spec.rb b/spec/features/work_packages/zen_mode_spec.rb index 156c8d583c2..c880ed354ad 100644 --- a/spec/features/work_packages/zen_mode_spec.rb +++ b/spec/features/work_packages/zen_mode_spec.rb @@ -2,29 +2,29 @@ require 'spec_helper' describe 'Zen mode', js: true do let(:dev_role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages] end let(:dev) do - FactoryBot.create :user, + create :user, firstname: 'Dev', lastname: 'Guy', member_in_project: project, member_through_role: dev_role end - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create :type } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.create :work_package, project: project, type: type + create :work_package, project: project, type: type end let(:wp_page) { Pages::FullWorkPackage.new(work_package) } let(:status_from) { work_package.status } - let(:status_intermediate) { FactoryBot.create :status } + let(:status_intermediate) { create :status } before do login_as(dev) diff --git a/spec/features/workflows/copy_spec.rb b/spec/features/workflows/copy_spec.rb index f74b07b702e..2bcd852d094 100644 --- a/spec/features/workflows/copy_spec.rb +++ b/spec/features/workflows/copy_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe 'Workflow copy', type: :feature do - let(:role) { FactoryBot.create(:role) } - let(:type) { FactoryBot.create(:type) } - let(:admin) { FactoryBot.create(:admin) } - let(:statuses) { (1..2).map { |_i| FactoryBot.create(:status) } } + let(:role) { create(:role) } + let(:type) { create(:type) } + let(:admin) { create(:admin) } + let(:statuses) { (1..2).map { |_i| create(:status) } } let(:workflow) do - FactoryBot.create(:workflow, role_id: role.id, + create(:workflow, role_id: role.id, type_id: type.id, old_status_id: statuses[0].id, new_status_id: statuses[1].id, diff --git a/spec/features/wysiwyg/custom_css_classes_spec.rb b/spec/features/wysiwyg/custom_css_classes_spec.rb index cc3472b6847..38188223a19 100644 --- a/spec/features/wysiwyg/custom_css_classes_spec.rb +++ b/spec/features/wysiwyg/custom_css_classes_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe 'Wysiwyg paragraphs in lists behavior (Regression #28765)', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:user) { create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } let(:wiki_page) do - page = FactoryBot.build :wiki_page_with_content + page = build :wiki_page_with_content page.content.text = <<~MARKDOWN paragraph diff --git a/spec/features/wysiwyg/html_encoding_spec.rb b/spec/features/wysiwyg/html_encoding_spec.rb index 618cf0e2c20..a0bf1619bb7 100644 --- a/spec/features/wysiwyg/html_encoding_spec.rb +++ b/spec/features/wysiwyg/html_encoding_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe 'Wysiwyg escaping HTML entities (Regression #28906)', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:user) { create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } before do diff --git a/spec/features/wysiwyg/linking_spec.rb b/spec/features/wysiwyg/linking_spec.rb index f7b28cd79df..0f3290d7c47 100644 --- a/spec/features/wysiwyg/linking_spec.rb +++ b/spec/features/wysiwyg/linking_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe 'Wysiwyg linking', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki work_package_tracking]) } + let(:user) { create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki work_package_tracking]) } let(:editor) { ::Components::WysiwygEditor.new } before do diff --git a/spec/features/wysiwyg/macros/attribute_macros_spec.rb b/spec/features/wysiwyg/macros/attribute_macros_spec.rb index caf87491876..48ba468c65c 100644 --- a/spec/features/wysiwyg/macros/attribute_macros_spec.rb +++ b/spec/features/wysiwyg/macros/attribute_macros_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe 'Wysiwyg attribute macros', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let!(:project) { FactoryBot.create(:project, identifier: 'some-project', enabled_module_names: %w[wiki work_package_tracking]) } - let!(:work_package) { FactoryBot.create(:work_package, subject: "Foo Bar", project: project) } + let!(:project) { create(:project, identifier: 'some-project', enabled_module_names: %w[wiki work_package_tracking]) } + let!(:work_package) { create(:work_package, subject: "Foo Bar", project: project) } let(:editor) { ::Components::WysiwygEditor.new } let(:markdown) do diff --git a/spec/features/wysiwyg/macros/child_pages_spec.rb b/spec/features/wysiwyg/macros/child_pages_spec.rb index 6894dfe3dc6..c745de1b043 100644 --- a/spec/features/wysiwyg/macros/child_pages_spec.rb +++ b/spec/features/wysiwyg/macros/child_pages_spec.rb @@ -33,30 +33,30 @@ require 'spec_helper' describe 'Wysiwyg child pages spec', type: :feature, js: true do let(:project) do - FactoryBot.create :project, + create :project, enabled_module_names: %w[wiki] end - let(:role) { FactoryBot.create(:role, permissions: %i[view_wiki_pages edit_wiki_pages]) } + let(:role) { create(:role, permissions: %i[view_wiki_pages edit_wiki_pages]) } let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:wiki_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Test', - content: FactoryBot.build(:wiki_content, text: '# My page') + content: build(:wiki_content, text: '# My page') end let(:parent_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Parent page', - content: FactoryBot.build(:wiki_content, text: '# parent page') + content: build(:wiki_content, text: '# parent page') end let(:child_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Child page', - content: FactoryBot.build(:wiki_content, text: '# child page') + content: build(:wiki_content, text: '# child page') end before do diff --git a/spec/features/wysiwyg/macros/code_block_macro_spec.rb b/spec/features/wysiwyg/macros/code_block_macro_spec.rb index 0bb6f033c11..cd5c6ed7716 100644 --- a/spec/features/wysiwyg/macros/code_block_macro_spec.rb +++ b/spec/features/wysiwyg/macros/code_block_macro_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe 'Wysiwyg code block macro', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } let(:snippet) do diff --git a/spec/features/wysiwyg/macros/embedded_tables_spec.rb b/spec/features/wysiwyg/macros/embedded_tables_spec.rb index 742e2898238..501a61d8793 100644 --- a/spec/features/wysiwyg/macros/embedded_tables_spec.rb +++ b/spec/features/wysiwyg/macros/embedded_tables_spec.rb @@ -30,16 +30,16 @@ require 'spec_helper' describe 'Wysiwyg embedded work package tables', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:type_task) { FactoryBot.create :type_task } - let(:type_bug) { FactoryBot.create :type_bug } + let(:type_task) { create :type_task } + let(:type_bug) { create :type_bug } let(:project) do - FactoryBot.create(:project, types: [type_task, type_bug], enabled_module_names: %w[wiki work_package_tracking]) + create(:project, types: [type_task, type_bug], enabled_module_names: %w[wiki work_package_tracking]) end let(:editor) { ::Components::WysiwygEditor.new } - let!(:wp_task) { FactoryBot.create(:work_package, project: project, type: type_task) } - let!(:wp_bug) { FactoryBot.create(:work_package, project: project, type: type_bug) } + let!(:wp_task) { create(:work_package, project: project, type: type_task) } + let!(:wp_bug) { create(:work_package, project: project, type: type_bug) } let(:modal) { ::Components::WorkPackages::TableConfigurationModal.new } let(:filters) { ::Components::WorkPackages::TableConfiguration::Filters.new } diff --git a/spec/features/wysiwyg/macros/quicklink_macros_spec.rb b/spec/features/wysiwyg/macros/quicklink_macros_spec.rb index fea1329e51e..7f57a266010 100644 --- a/spec/features/wysiwyg/macros/quicklink_macros_spec.rb +++ b/spec/features/wysiwyg/macros/quicklink_macros_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'Wysiwyg work package quicklink macros', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let!(:project) { FactoryBot.create(:project, identifier: 'some-project', enabled_module_names: %w[wiki work_package_tracking]) } + let!(:project) { create(:project, identifier: 'some-project', enabled_module_names: %w[wiki work_package_tracking]) } let!(:work_package) do - FactoryBot.create(:work_package, subject: "Foo Bar", project: project, start_date: '2020-01-01', due_date: '2020-02-01') + create(:work_package, subject: "Foo Bar", project: project, start_date: '2020-01-01', due_date: '2020-02-01') end let(:editor) { ::Components::WysiwygEditor.new } diff --git a/spec/features/wysiwyg/macros/work_package_button_spec.rb b/spec/features/wysiwyg/macros/work_package_button_spec.rb index 3db77cc37fe..c4c589e7019 100644 --- a/spec/features/wysiwyg/macros/work_package_button_spec.rb +++ b/spec/features/wysiwyg/macros/work_package_button_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe 'Wysiwyg work package button spec', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let!(:type) { FactoryBot.create :type, name: 'MyTaskName' } + let!(:type) { create :type, name: 'MyTaskName' } let(:project) do - FactoryBot.create :valid_project, + create :valid_project, identifier: 'my-project', enabled_module_names: %w[wiki work_package_tracking], name: 'My project name', diff --git a/spec/features/wysiwyg/non_breaking_spaces_spec.rb b/spec/features/wysiwyg/non_breaking_spaces_spec.rb index 4713c5f2805..efd297d1247 100644 --- a/spec/features/wysiwyg/non_breaking_spaces_spec.rb +++ b/spec/features/wysiwyg/non_breaking_spaces_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe 'Wysiwyg   behavior', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } before do diff --git a/spec/features/wysiwyg/paragraphs_in_lists_spec.rb b/spec/features/wysiwyg/paragraphs_in_lists_spec.rb index b1b86436043..85ffcd6902b 100644 --- a/spec/features/wysiwyg/paragraphs_in_lists_spec.rb +++ b/spec/features/wysiwyg/paragraphs_in_lists_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe 'Wysiwyg paragraphs in lists behavior (Regression #28765)', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:user) { create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } let(:wiki_page) do - page = FactoryBot.build :wiki_page_with_content + page = build :wiki_page_with_content page.content.text = <<~MARKDOWN 1. Step 1 *Expected Results:* Expected 1 diff --git a/spec/features/wysiwyg/tables_spec.rb b/spec/features/wysiwyg/tables_spec.rb index b75687919e1..5a2d661cff9 100644 --- a/spec/features/wysiwyg/tables_spec.rb +++ b/spec/features/wysiwyg/tables_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe 'Wysiwyg tables', type: :feature, js: true do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) } + let(:project) { create(:project, enabled_module_names: %w[wiki]) } let(:editor) { ::Components::WysiwygEditor.new } before do @@ -318,7 +318,7 @@ describe 'Wysiwyg tables', describe 'editing a wiki page with tables' do let(:wiki_page) do - page = FactoryBot.build :wiki_page_with_content, + page = build :wiki_page_with_content, title: 'Wiki page with titles' page.content.text = <<~MARKDOWN diff --git a/spec/features/wysiwyg/user_mention_spec.rb b/spec/features/wysiwyg/user_mention_spec.rb index c5afb296f91..f956661fd10 100644 --- a/spec/features/wysiwyg/user_mention_spec.rb +++ b/spec/features/wysiwyg/user_mention_spec.rb @@ -31,20 +31,20 @@ require 'spec_helper' describe 'Wysiwyg work package user mentions', type: :feature, js: true do - let!(:user) { FactoryBot.create :admin } - let!(:user2) { FactoryBot.create(:user, firstname: 'Foo', lastname: 'Bar', member_in_project: project) } - let!(:group) { FactoryBot.create(:group, firstname: 'Foogroup', lastname: 'Foogroup') } - let!(:group_role) { FactoryBot.create(:role) } + let!(:user) { create :admin } + let!(:user2) { create(:user, firstname: 'Foo', lastname: 'Bar', member_in_project: project) } + let!(:group) { create(:group, firstname: 'Foogroup', lastname: 'Foogroup') } + let!(:group_role) { create(:role) } let!(:group_member) do - FactoryBot.create(:member, + create(:member, principal: group, project: project, roles: [group_role]) end - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[work_package_tracking]) } + let(:project) { create(:project, enabled_module_names: %w[work_package_tracking]) } let!(:work_package) do User.execute_as user do - FactoryBot.create(:work_package, subject: 'Foobar', project: project) + create(:work_package, subject: 'Foobar', project: project) end end diff --git a/spec/features/wysiwyg/work_package_linking_spec.rb b/spec/features/wysiwyg/work_package_linking_spec.rb index 25a8e00f240..2279e993bd0 100644 --- a/spec/features/wysiwyg/work_package_linking_spec.rb +++ b/spec/features/wysiwyg/work_package_linking_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' describe 'Wysiwyg work package linking', type: :feature, js: true do - let(:user) { FactoryBot.create :admin } - let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki work_package_tracking]) } - let(:work_package) { FactoryBot.create(:work_package, subject: 'Foobar', project: project) } + let(:user) { create :admin } + let(:project) { create(:project, enabled_module_names: %w[wiki work_package_tracking]) } + let(:work_package) { create(:work_package, subject: 'Foobar', project: project) } let(:editor) { ::Components::WysiwygEditor.new } before do diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 6b3a6680973..b78753963a6 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -97,16 +97,16 @@ describe ApplicationHelper, type: :helper do end describe '.link_to_if_authorized' do - let(:project) { FactoryBot.create :valid_project } + let(:project) { create :valid_project } let(:project_member) do - FactoryBot.create :user, + create :user, member_in_project: project, - member_through_role: FactoryBot.create(:role, + member_through_role: create(:role, permissions: %i[view_work_packages edit_work_packages browse_repository view_changesets view_wiki_pages]) end let(:issue) do - FactoryBot.create :work_package, + create :work_package, project: project, author: project_member, type: project.types.first @@ -189,7 +189,7 @@ describe ApplicationHelper, type: :helper do context 'with project' do before do - @project = FactoryBot.build(:project) + @project = build(:project) end context 'right now' do diff --git a/spec/helpers/custom_styles_helper_spec.rb b/spec/helpers/custom_styles_helper_spec.rb index 40195eec131..b5861a0fdc0 100644 --- a/spec/helpers/custom_styles_helper_spec.rb +++ b/spec/helpers/custom_styles_helper_spec.rb @@ -47,7 +47,7 @@ describe CustomStylesHelper, type: :helper do end context 'CustomStyle present' do - let(:current_theme) { FactoryBot.build_stubbed(:custom_style) } + let(:current_theme) { build_stubbed(:custom_style) } context 'without EE' do before do @@ -99,7 +99,7 @@ describe CustomStylesHelper, type: :helper do end context 'CustomStyle present' do - let(:current_theme) { FactoryBot.build_stubbed(:custom_style) } + let(:current_theme) { build_stubbed(:custom_style) } before do allow(current_theme).to receive(:favicon).and_return(true) diff --git a/spec/helpers/individual_principal_hooks_helper_spec.rb b/spec/helpers/individual_principal_hooks_helper_spec.rb index 3af8fb3aa94..b087c414d80 100644 --- a/spec/helpers/individual_principal_hooks_helper_spec.rb +++ b/spec/helpers/individual_principal_hooks_helper_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe IndividualPrincipalHooksHelper, type: :helper do - let(:user) { FactoryBot.build(:user) } - let(:placeholder_user) { FactoryBot.build(:placeholder_user) } + let(:user) { build(:user) } + let(:placeholder_user) { build(:placeholder_user) } describe '#individual_principal_key' do it 'returns the class name in underscore format' do diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 0d8e22c12cc..8de1539088c 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -38,7 +38,7 @@ describe ProjectsHelper, type: :helper do end def stub_descendant_of(*ancestors) - wp = FactoryBot.build_stubbed(:project) + wp = build_stubbed(:project) allow(wp) .to receive(:is_descendant_of?) @@ -115,14 +115,14 @@ describe ProjectsHelper, type: :helper do describe 'with some projects available' do let(:projects) do - p1 = FactoryBot.build(:project, name: 'P1') + p1 = build(:project, name: 'P1') # a result from Project.project_level_list [{ project: p1, level: 0 }, - { project: FactoryBot.build(:project, name: 'P2', parent: p1), + { project: build(:project, name: 'P2', parent: p1), level: 1 }, - { project: FactoryBot.build(:project, name: 'P3'), + { project: build(:project, name: 'P3'), level: 0 }] end @@ -145,7 +145,7 @@ describe ProjectsHelper, type: :helper do end context '#short_project_description' do - let(:project) { FactoryBot.build_stubbed(:project, description: ('Abcd ' * 5 + "\n") * 11) } + let(:project) { build_stubbed(:project, description: ('Abcd ' * 5 + "\n") * 11) } it 'returns shortened description' do expect(helper.short_project_description(project)) diff --git a/spec/helpers/search_helper_spec.rb b/spec/helpers/search_helper_spec.rb index e4d7e4938a2..23574451b8c 100644 --- a/spec/helpers/search_helper_spec.rb +++ b/spec/helpers/search_helper_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'search/index', type: :helper do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:scope) { 'foobar' } before do @@ -93,14 +93,14 @@ describe 'search/index', type: :helper do let(:event_description) { "The description of the event" } let(:attachment_fulltext) { "The fulltext of the attachment" } let(:attachment_filename) { "attachment_filename.txt" } - let(:journal) { FactoryBot.build_stubbed(:work_package_journal, notes: journal_notes) } + let(:journal) { build_stubbed(:work_package_journal, notes: journal_notes) } let(:event) do instance_double('WorkPackage', last_journal: journal, last_loaded_journal: journal, event_description: event_description, attachment_ids: [42], - attachments: [FactoryBot.build_stubbed(:attachment, filename: attachment_filename)]).tap do |e| + attachments: [build_stubbed(:attachment, filename: attachment_filename)]).tap do |e| scope = instance_double(ActiveRecord::Relation) allow(Attachment) diff --git a/spec/helpers/tabs_helper_spec.rb b/spec/helpers/tabs_helper_spec.rb index 6644a331647..ab0bc6c820f 100644 --- a/spec/helpers/tabs_helper_spec.rb +++ b/spec/helpers/tabs_helper_spec.rb @@ -57,7 +57,7 @@ describe TabsHelper, type: :helper do .with(:user) .and_return [given_tab] - user = FactoryBot.build(:user, id: 2) + user = build(:user, id: 2) @tabs = render_extensible_tabs(:user, user: user) end diff --git a/spec/helpers/text_formatting_helper_spec.rb b/spec/helpers/text_formatting_helper_spec.rb index 987311fc61e..6aa5b94747a 100644 --- a/spec/helpers/text_formatting_helper_spec.rb +++ b/spec/helpers/text_formatting_helper_spec.rb @@ -33,7 +33,7 @@ require 'spec_helper' describe TextFormattingHelper, type: :helper do describe '#preview_context' do context 'for a News' do - let(:news) { FactoryBot.build_stubbed(:news) } + let(:news) { build_stubbed(:news) } it 'returns the v3 path' do expect(helper.preview_context(news)) @@ -42,7 +42,7 @@ describe TextFormattingHelper, type: :helper do end context 'for a Message' do - let(:message) { FactoryBot.build_stubbed(:message) } + let(:message) { build_stubbed(:message) } it 'returns the v3 path' do expect(helper.preview_context(message)) @@ -51,7 +51,7 @@ describe TextFormattingHelper, type: :helper do end context 'for a WikiPage' do - let(:wiki_page) { FactoryBot.build_stubbed(:wiki_page) } + let(:wiki_page) { build_stubbed(:wiki_page) } it 'returns the v3 path' do expect(helper.preview_context(wiki_page)) diff --git a/spec/helpers/types_helper_spec.rb b/spec/helpers/types_helper_spec.rb index 83b40a014aa..21587a25be9 100644 --- a/spec/helpers/types_helper_spec.rb +++ b/spec/helpers/types_helper_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe TypesHelper, type: :helper do - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } describe "#form_configuration_groups" do it "returns a Hash with the keys :actives and :inactives Arrays" do diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb index 39e3967ef22..49b7fcf3456 100644 --- a/spec/helpers/users_helper_spec.rb +++ b/spec/helpers/users_helper_spec.rb @@ -32,7 +32,7 @@ describe UsersHelper, type: :helper do include UsersHelper def build_user(status, blocked) - FactoryBot.build_stubbed(:user, + build_stubbed(:user, status: status, failed_login_count: 3).tap do |user| allow(user) diff --git a/spec/helpers/versions_helper_spec.rb b/spec/helpers/versions_helper_spec.rb index 7f295001beb..309817134d6 100644 --- a/spec/helpers/versions_helper_spec.rb +++ b/spec/helpers/versions_helper_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe VersionsHelper, type: :helper do include ApplicationHelper - let(:test_project) { FactoryBot.build_stubbed :valid_project } - let(:version) { FactoryBot.build_stubbed :version, project: test_project } + let(:test_project) { build_stubbed :valid_project } + let(:version) { build_stubbed :version, project: test_project } describe '#format_version_name' do context 'a version' do @@ -47,7 +47,7 @@ describe VersionsHelper, type: :helper do end context 'a system version' do - let(:version) { FactoryBot.build_stubbed :version, project: test_project, sharing: 'system' } + let(:version) { build_stubbed :version, project: test_project, sharing: 'system' } it 'can be formatted' do expect(format_version_name(version)).to eq("#{test_project.name} - #{version.name}") diff --git a/spec/helpers/work_packages_filter_helper_spec.rb b/spec/helpers/work_packages_filter_helper_spec.rb index 77525b99acb..3a90378b1b2 100644 --- a/spec/helpers/work_packages_filter_helper_spec.rb +++ b/spec/helpers/work_packages_filter_helper_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe WorkPackagesFilterHelper, type: :helper do - let(:project) { FactoryBot.create(:project) } - let(:version) { FactoryBot.create(:version, project: project) } + let(:project) { create(:project) } + let(:version) { create(:version, project: project) } let(:global) { false } shared_examples_for 'work package path with query_props' do diff --git a/spec/helpers/work_packages_helper_spec.rb b/spec/helpers/work_packages_helper_spec.rb index a55803d759d..24b271ff1c2 100644 --- a/spec/helpers/work_packages_helper_spec.rb +++ b/spec/helpers/work_packages_helper_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe WorkPackagesHelper, type: :helper do - let(:stub_work_package) { FactoryBot.build_stubbed(:work_package) } - let(:stub_project) { FactoryBot.build_stubbed(:project) } - let(:stub_type) { FactoryBot.build_stubbed(:type) } - let(:stub_user) { FactoryBot.build_stubbed(:user) } - let(:open_status) { FactoryBot.build_stubbed(:status, is_closed: false) } - let(:closed_status) { FactoryBot.build_stubbed(:status, is_closed: true) } + let(:stub_work_package) { build_stubbed(:work_package) } + let(:stub_project) { build_stubbed(:project) } + let(:stub_type) { build_stubbed(:type) } + let(:stub_user) { build_stubbed(:user) } + let(:open_status) { build_stubbed(:status, is_closed: false) } + let(:closed_status) { build_stubbed(:status, is_closed: true) } describe '#link_to_work_package' do before do @@ -176,11 +176,11 @@ describe WorkPackagesHelper, type: :helper do end describe '#work_package_css_classes' do - let(:statuses) { (1..5).map { |_i| FactoryBot.build_stubbed(:status) } } - let(:priority) { FactoryBot.build_stubbed :priority, is_default: true } + let(:statuses) { (1..5).map { |_i| build_stubbed(:status) } } + let(:priority) { build_stubbed :priority, is_default: true } let(:status) { statuses[0] } let(:stub_work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, status: status, priority: priority) end diff --git a/spec/lib/acts_as_journalized/journaled_spec.rb b/spec/lib/acts_as_journalized/journaled_spec.rb index 512e62a283f..1f7d5f87ed2 100644 --- a/spec/lib/acts_as_journalized/journaled_spec.rb +++ b/spec/lib/acts_as_journalized/journaled_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe 'Journalized Objects' do describe 'journal_editable_by?' do context 'when the journable is a work package' do - let!(:user) { FactoryBot.create(:user, member_in_project: project, member_with_permissions: []) } - let!(:project) { FactoryBot.create(:project_with_types) } + let!(:user) { create(:user, member_in_project: project, member_with_permissions: []) } + let!(:project) { create(:project_with_types) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, type: project.types.first, author: user, project: project, diff --git a/spec/lib/api/decorators/aggregation_group_spec.rb b/spec/lib/api/decorators/aggregation_group_spec.rb index cb6b773d69a..f28ad0e661c 100644 --- a/spec/lib/api/decorators/aggregation_group_spec.rb +++ b/spec/lib/api/decorators/aggregation_group_spec.rb @@ -30,14 +30,14 @@ require 'spec_helper' describe ::API::Decorators::AggregationGroup do let(:query) do - query = FactoryBot.build_stubbed(:query) + query = build_stubbed(:query) query.group_by = :assigned_to query end let(:group_key) { OpenStruct.new name: 'ABC' } let(:count) { 5 } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } subject { described_class.new(group_key, count, query: query, current_user: current_user).to_json } diff --git a/spec/lib/api/decorators/formattable_spec.rb b/spec/lib/api/decorators/formattable_spec.rb index 1cb64c88ec1..7c2ba468ba4 100644 --- a/spec/lib/api/decorators/formattable_spec.rb +++ b/spec/lib/api/decorators/formattable_spec.rb @@ -45,7 +45,7 @@ describe ::API::Decorators::Formattable do end context 'passing an object context' do - let(:object) { FactoryBot.build_stubbed :work_package } + let(:object) { build_stubbed :work_package } subject { described_class.new(represented, object: object) } it 'passes that to format_text' do diff --git a/spec/lib/api/utilities/property_name_converter_spec.rb b/spec/lib/api/utilities/property_name_converter_spec.rb index df7c731f51a..ba5d7cdeba9 100644 --- a/spec/lib/api/utilities/property_name_converter_spec.rb +++ b/spec/lib/api/utilities/property_name_converter_spec.rb @@ -79,7 +79,7 @@ describe ::API::Utilities::PropertyNameConverter do describe '#to_ar_name' do let(:attribute_name) { 'anAttribute' } - let(:context) { FactoryBot.build_stubbed(:work_package) } + let(:context) { build_stubbed(:work_package) } subject { described_class.to_ar_name(attribute_name, context: context) } @@ -164,7 +164,7 @@ describe ::API::Utilities::PropertyNameConverter do end context 'in an appropriate context' do - let(:context) { FactoryBot.build_stubbed(:version) } + let(:context) { build_stubbed(:version) } it 'should be performed' do is_expected.to eql('updated_at') diff --git a/spec/lib/api/v3/actions/action_sql_respresenter_rendering_spec.rb b/spec/lib/api/v3/actions/action_sql_respresenter_rendering_spec.rb index baa225fd164..db3862c83d2 100644 --- a/spec/lib/api/v3/actions/action_sql_respresenter_rendering_spec.rb +++ b/spec/lib/api/v3/actions/action_sql_respresenter_rendering_spec.rb @@ -40,7 +40,7 @@ describe ::API::V3::Actions::ActionSqlRepresenter, 'rendering' do 'memberships/create' end current_user do - FactoryBot.create(:user) + create(:user) end subject(:json) do diff --git a/spec/lib/api/v3/activities/activity_representer_rendering_spec.rb b/spec/lib/api/v3/activities/activity_representer_rendering_spec.rb index 0091352e0bb..e6612d07dd3 100644 --- a/spec/lib/api/v3/activities/activity_representer_rendering_spec.rb +++ b/spec/lib/api/v3/activities/activity_representer_rendering_spec.rb @@ -32,18 +32,18 @@ describe ::API::V3::Activities::ActivityRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) do |checked_permission, project| project == work_package.project && permissions.include?(checked_permission) end end end - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:work_package) { journal.journable } let(:notes) { "My notes" } let(:journal) do - FactoryBot.build_stubbed(:work_package_journal, notes: notes, user: other_user).tap do |journal| + build_stubbed(:work_package_journal, notes: notes, user: other_user).tap do |journal| allow(journal) .to receive(:get_changes) .and_return(changes) diff --git a/spec/lib/api/v3/attachments/attachment_metadata_representer_spec.rb b/spec/lib/api/v3/attachments/attachment_metadata_representer_spec.rb index 27df4cbd285..99d93d48bdb 100644 --- a/spec/lib/api/v3/attachments/attachment_metadata_representer_spec.rb +++ b/spec/lib/api/v3/attachments/attachment_metadata_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Attachments::AttachmentParsingRepresenter do - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } include API::V3::Utilities::PathHelper let(:metadata) do diff --git a/spec/lib/api/v3/attachments/attachment_representer_spec.rb b/spec/lib/api/v3/attachments/attachment_representer_spec.rb index d8bfe442302..220550a71fc 100644 --- a/spec/lib/api/v3/attachments/attachment_representer_spec.rb +++ b/spec/lib/api/v3/attachments/attachment_representer_spec.rb @@ -32,15 +32,15 @@ describe ::API::V3::Attachments::AttachmentRepresenter do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:all_permissions) { %i[view_work_packages edit_work_packages] } let(:permissions) { all_permissions } - let(:container) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:container) { build_stubbed(:stubbed_work_package) } let(:author) { current_user } let(:attachment) do - FactoryBot.build_stubbed(:attachment, + build_stubbed(:attachment, container: container, author: author) do |attachment| allow(attachment) @@ -100,7 +100,7 @@ describe ::API::V3::Attachments::AttachmentRepresenter do end context 'for a wiki page container' do - let(:container) { FactoryBot.build_stubbed(:wiki_page) } + let(:container) { build_stubbed(:wiki_page) } it_behaves_like 'has a titled link' do let(:link) { 'container' } @@ -185,7 +185,7 @@ describe ::API::V3::Attachments::AttachmentRepresenter do end context 'user is not the author' do - let(:author) { FactoryBot.build_stubbed(:user) } + let(:author) { build_stubbed(:user) } it_behaves_like 'has no link' do let(:link) { 'delete' } diff --git a/spec/lib/api/v3/capabilities/capability_sql_representer_rendering_spec.rb b/spec/lib/api/v3/capabilities/capability_sql_representer_rendering_spec.rb index a50fd5b06c3..e3711a87a57 100644 --- a/spec/lib/api/v3/capabilities/capability_sql_representer_rendering_spec.rb +++ b/spec/lib/api/v3/capabilities/capability_sql_representer_rendering_spec.rb @@ -39,19 +39,19 @@ describe ::API::V3::Capabilities::CapabilitySqlRepresenter, 'rendering' do .limit(1) end let(:principal) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i[view_members]) end let(:project) do - FactoryBot.create(:project) + create(:project) end let(:context) do project end current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: []) end @@ -94,7 +94,7 @@ describe ::API::V3::Capabilities::CapabilitySqlRepresenter, 'rendering' do context 'with a project and group' do let(:principal) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_with_permissions: %i[view_members]) end @@ -126,7 +126,7 @@ describe ::API::V3::Capabilities::CapabilitySqlRepresenter, 'rendering' do context 'with a global permission' do let(:principal) do - FactoryBot.create(:user, + create(:user, global_permission: %i[manage_user], member_in_project: project, member_with_permissions: []) diff --git a/spec/lib/api/v3/categories/category_collection_representer_spec.rb b/spec/lib/api/v3/categories/category_collection_representer_spec.rb index d35b60c4f40..c905f5e6efd 100644 --- a/spec/lib/api/v3/categories/category_collection_representer_spec.rb +++ b/spec/lib/api/v3/categories/category_collection_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Categories::CategoryCollectionRepresenter do - let(:categories) { FactoryBot.build_list(:category, 3) } + let(:categories) { build_list(:category, 3) } let(:representer) do described_class.new(categories, self_link: '/api/v3/projects/1/categories', diff --git a/spec/lib/api/v3/categories/category_representer_spec.rb b/spec/lib/api/v3/categories/category_representer_spec.rb index 9ccd7fa2a3d..524a7c608c6 100644 --- a/spec/lib/api/v3/categories/category_representer_spec.rb +++ b/spec/lib/api/v3/categories/category_representer_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::API::V3::Categories::CategoryRepresenter do - let(:category) { FactoryBot.build_stubbed(:category) } - let(:user) { FactoryBot.build(:user) } + let(:category) { build_stubbed(:category) } + let(:user) { build(:user) } let(:representer) { described_class.new(category, current_user: double('current_user')) } context 'generation' do @@ -67,7 +67,7 @@ describe ::API::V3::Categories::CategoryRepresenter do context 'default assignee set' do let(:category) do - FactoryBot.build_stubbed(:category, assigned_to: user) + build_stubbed(:category, assigned_to: user) end it_behaves_like 'category has core values' @@ -90,7 +90,7 @@ describe ::API::V3::Categories::CategoryRepresenter do end describe '#json_cache_key' do - let(:assigned_to) { FactoryBot.build_stubbed(:user) } + let(:assigned_to) { build_stubbed(:user) } before do category.assigned_to = assigned_to diff --git a/spec/lib/api/v3/configuration/configuration_representer_spec.rb b/spec/lib/api/v3/configuration/configuration_representer_spec.rb index 280711235b5..c664d54820f 100644 --- a/spec/lib/api/v3/configuration/configuration_representer_spec.rb +++ b/spec/lib/api/v3/configuration/configuration_representer_spec.rb @@ -33,10 +33,10 @@ describe ::API::V3::Configuration::ConfigurationRepresenter do let(:represented) { Setting } let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:preference) - .and_return(FactoryBot.build_stubbed(:user_preference)) + .and_return(build_stubbed(:user_preference)) end end let(:embed_links) { false } @@ -62,7 +62,7 @@ describe ::API::V3::Configuration::ConfigurationRepresenter do end context 'if not logged in' do - let(:current_user) { FactoryBot.build_stubbed(:anonymous) } + let(:current_user) { build_stubbed(:anonymous) } it_behaves_like 'has an untitled link' do let(:link) { 'userPreferences' } diff --git a/spec/lib/api/v3/custom_actions/custom_action_execute_representer_parsing_spec.rb b/spec/lib/api/v3/custom_actions/custom_action_execute_representer_parsing_spec.rb index b944d0790ca..bc73406ddab 100644 --- a/spec/lib/api/v3/custom_actions/custom_action_execute_representer_parsing_spec.rb +++ b/spec/lib/api/v3/custom_actions/custom_action_execute_representer_parsing_spec.rb @@ -32,8 +32,8 @@ describe ::API::V3::CustomActions::CustomActionExecuteRepresenter, 'parsing' do include ::API::V3::Utilities::PathHelper let(:struct) { OpenStruct.new } - let(:user) { FactoryBot.build_stubbed(:user) } - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:user) { build_stubbed(:user) } + let(:work_package) { build_stubbed(:stubbed_work_package) } let(:representer) do described_class.new(struct, current_user: user) diff --git a/spec/lib/api/v3/custom_actions/custom_action_representer_generation_spec.rb b/spec/lib/api/v3/custom_actions/custom_action_representer_generation_spec.rb index 5227381c333..b10ea39f058 100644 --- a/spec/lib/api/v3/custom_actions/custom_action_representer_generation_spec.rb +++ b/spec/lib/api/v3/custom_actions/custom_action_representer_generation_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::CustomActions::CustomActionRepresenter do include ::API::V3::Utilities::PathHelper - let(:custom_action) { FactoryBot.build_stubbed(:custom_action) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:custom_action) { build_stubbed(:custom_action) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.new(custom_action, current_user: user, embed_links: true) diff --git a/spec/lib/api/v3/custom_options/custom_option_representer_spec.rb b/spec/lib/api/v3/custom_options/custom_option_representer_spec.rb index 95d92e67e99..0c110cf5956 100644 --- a/spec/lib/api/v3/custom_options/custom_option_representer_spec.rb +++ b/spec/lib/api/v3/custom_options/custom_option_representer_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe ::API::V3::CustomOptions::CustomOptionRepresenter do include ::API::V3::Utilities::PathHelper - let(:custom_option) { FactoryBot.build_stubbed(:custom_option, custom_field: custom_field) } - let(:custom_field) { FactoryBot.build_stubbed(:list_wp_custom_field) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:custom_option) { build_stubbed(:custom_option, custom_field: custom_field) } + let(:custom_field) { build_stubbed(:list_wp_custom_field) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.new(custom_option, current_user: user) end diff --git a/spec/lib/api/v3/groups/group_collection_representer_spec.rb b/spec/lib/api/v3/groups/group_collection_representer_spec.rb index 56bf6e22000..2a09590ae0d 100644 --- a/spec/lib/api/v3/groups/group_collection_representer_spec.rb +++ b/spec/lib/api/v3/groups/group_collection_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Groups::GroupCollectionRepresenter do let(:self_base_link) { '/api/v3/groups' } let(:groups) do - FactoryBot.build_stubbed_list(:group, 3).tap do |groups| + build_stubbed_list(:group, 3).tap do |groups| allow(groups) .to receive(:per_page) .with(page_size) @@ -47,7 +47,7 @@ describe ::API::V3::Groups::GroupCollectionRepresenter do .and_return(total) end end - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:representer) do described_class.new(groups, self_link: self_base_link, diff --git a/spec/lib/api/v3/groups/group_representer_spec.rb b/spec/lib/api/v3/groups/group_representer_spec.rb index f0391174e41..343bfe4752d 100644 --- a/spec/lib/api/v3/groups/group_representer_spec.rb +++ b/spec/lib/api/v3/groups/group_representer_spec.rb @@ -34,16 +34,16 @@ describe ::API::V3::Groups::GroupRepresenter, 'rendering' do subject(:generated) { representer.to_json } let(:group) do - FactoryBot.build_stubbed(:group).tap do |g| + build_stubbed(:group).tap do |g| allow(g) .to receive(:users) .and_return(members) end end let(:current_user_admin) { false } - let(:current_user) { FactoryBot.build_stubbed(:user, admin: current_user_admin) } + let(:current_user) { build_stubbed(:user, admin: current_user_admin) } let(:representer) { described_class.new(group, current_user: current_user, embed_links: embed_links) } - let(:members) { 2.times.map { FactoryBot.build_stubbed(:user) } } + let(:members) { 2.times.map { build_stubbed(:user) } } let(:permissions) { [:manage_members] } let(:embed_links) { true } @@ -144,7 +144,7 @@ describe ::API::V3::Groups::GroupRepresenter, 'rendering' do end context 'with an admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'has UTC ISO 8601 date and time' do let(:date) { group.created_at } @@ -161,7 +161,7 @@ describe ::API::V3::Groups::GroupRepresenter, 'rendering' do end context 'with an admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'has UTC ISO 8601 date and time' do let(:date) { group.updated_at } diff --git a/spec/lib/api/v3/help_texts/help_text_collection_representer_spec.rb b/spec/lib/api/v3/help_texts/help_text_collection_representer_spec.rb index 5b4b223cda1..3b2654e2b12 100644 --- a/spec/lib/api/v3/help_texts/help_text_collection_representer_spec.rb +++ b/spec/lib/api/v3/help_texts/help_text_collection_representer_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe ::API::V3::HelpTexts::HelpTextCollectionRepresenter do let!(:help_texts) do [ - FactoryBot.build_stubbed(:work_package_help_text, attribute_name: 'id'), - FactoryBot.build_stubbed(:work_package_help_text, attribute_name: 'status') + build_stubbed(:work_package_help_text, attribute_name: 'id'), + build_stubbed(:work_package_help_text, attribute_name: 'status') ] end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } def self_link 'a link that is provided' diff --git a/spec/lib/api/v3/help_texts/help_text_representer_spec.rb b/spec/lib/api/v3/help_texts/help_text_representer_spec.rb index f052e283530..d9eefbe9cf0 100644 --- a/spec/lib/api/v3/help_texts/help_text_representer_spec.rb +++ b/spec/lib/api/v3/help_texts/help_text_representer_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe ::API::V3::HelpTexts::HelpTextRepresenter do include ::API::V3::Utilities::PathHelper - let(:user) { FactoryBot.build_stubbed :admin } + let(:user) { build_stubbed :admin } let(:help_text) do - FactoryBot.build_stubbed :work_package_help_text, + build_stubbed :work_package_help_text, attribute_name: 'status', help_text: 'This is a help text for **status** attribute.' end diff --git a/spec/lib/api/v3/memberships/membership_collection_representer_spec.rb b/spec/lib/api/v3/memberships/membership_collection_representer_spec.rb index c686144d211..de01659c42d 100644 --- a/spec/lib/api/v3/memberships/membership_collection_representer_spec.rb +++ b/spec/lib/api/v3/memberships/membership_collection_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Memberships::MembershipCollectionRepresenter do let(:self_base_link) { '/api/v3/members' } let(:members) do - FactoryBot.build_stubbed_list(:member, 3).tap do |members| + build_stubbed_list(:member, 3).tap do |members| allow(members) .to receive(:per_page) .with(page_size) @@ -47,7 +47,7 @@ describe ::API::V3::Memberships::MembershipCollectionRepresenter do .and_return(3) end end - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:representer) do described_class.new(members, self_link: self_base_link, diff --git a/spec/lib/api/v3/memberships/membership_payload_representer_spec.rb b/spec/lib/api/v3/memberships/membership_payload_representer_spec.rb index bae11e8099b..990539d3c58 100644 --- a/spec/lib/api/v3/memberships/membership_payload_representer_spec.rb +++ b/spec/lib/api/v3/memberships/membership_payload_representer_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe ::API::V3::Memberships::MembershipPayloadRepresenter do - let(:membership) { FactoryBot.build_stubbed(:member) } + let(:membership) { build_stubbed(:member) } - current_user { FactoryBot.build_stubbed(:user) } + current_user { build_stubbed(:user) } describe 'generation' do subject(:json) { representer.to_json } diff --git a/spec/lib/api/v3/memberships/membership_representer_rendering_spec.rb b/spec/lib/api/v3/memberships/membership_representer_rendering_spec.rb index 3c6481203a8..e01a78060e5 100644 --- a/spec/lib/api/v3/memberships/membership_representer_rendering_spec.rb +++ b/spec/lib/api/v3/memberships/membership_representer_rendering_spec.rb @@ -32,29 +32,29 @@ describe ::API::V3::Memberships::MembershipRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, member_roles: [member_role1, member_role2, member_role2, marked_member_role], principal: principal, project: project) end - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:roles) { [role1, role2] } - let(:role1) { FactoryBot.build_stubbed(:role) } - let(:member_role1) { FactoryBot.build_stubbed(:member_role, role: role1) } - let(:role2) { FactoryBot.build_stubbed(:role) } - let(:member_role2) { FactoryBot.build_stubbed(:member_role, role: role2) } - let(:marked_role) { FactoryBot.build_stubbed(:role) } + let(:role1) { build_stubbed(:role) } + let(:member_role1) { build_stubbed(:member_role, role: role1) } + let(:role2) { build_stubbed(:role) } + let(:member_role2) { build_stubbed(:member_role, role: role2) } + let(:marked_role) { build_stubbed(:role) } let(:marked_member_role) do - FactoryBot.build_stubbed(:member_role, role: marked_role).tap do |mr| + build_stubbed(:member_role, role: marked_role).tap do |mr| allow(mr) .to receive(:marked_for_destruction?) .and_return(true) end end let(:principal) { user } - let(:user) { FactoryBot.build_stubbed(:user) } - let(:group) { FactoryBot.build_stubbed(:group) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } + let(:group) { build_stubbed(:group) } + let(:current_user) { build_stubbed(:user) } let(:permissions) do [:manage_members] end diff --git a/spec/lib/api/v3/memberships/schemas/membership_schema_representer_spec.rb b/spec/lib/api/v3/memberships/schemas/membership_schema_representer_spec.rb index 169268728a2..4d24fcbf624 100644 --- a/spec/lib/api/v3/memberships/schemas/membership_schema_representer_spec.rb +++ b/spec/lib/api/v3/memberships/schemas/membership_schema_representer_spec.rb @@ -31,19 +31,19 @@ require 'spec_helper' describe ::API::V3::Memberships::Schemas::MembershipSchemaRepresenter do include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:self_link) { '/a/self/link' } let(:embedded) { true } let(:new_record) { true } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:principal) { FactoryBot.build_stubbed(:group) } + let(:project) { build_stubbed(:project) } + let(:principal) { build_stubbed(:group) } let(:assigned_project) { nil } let(:assigned_principal) { nil } let(:allowed_roles) do if new_record - [FactoryBot.build_stubbed(:role), - FactoryBot.build_stubbed(:role)] + [build_stubbed(:role), + build_stubbed(:role)] end end diff --git a/spec/lib/api/v3/news/news_representer_rendering_spec.rb b/spec/lib/api/v3/news/news_representer_rendering_spec.rb index 0b8731bdf47..21f7eba5cc5 100644 --- a/spec/lib/api/v3/news/news_representer_rendering_spec.rb +++ b/spec/lib/api/v3/news/news_representer_rendering_spec.rb @@ -32,12 +32,12 @@ describe ::API::V3::News::NewsRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:news) do - FactoryBot.build_stubbed(:news, + build_stubbed(:news, project: project, author: user) end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(news, current_user: user, embed_links: true) end diff --git a/spec/lib/api/v3/notifications/notification_collection_representer_spec.rb b/spec/lib/api/v3/notifications/notification_collection_representer_spec.rb index 744e54e5573..633e08205d4 100644 --- a/spec/lib/api/v3/notifications/notification_collection_representer_spec.rb +++ b/spec/lib/api/v3/notifications/notification_collection_representer_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' describe ::API::V3::Notifications::NotificationCollectionRepresenter do let(:self_base_link) { '/api/v3/notifications' } - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } let(:notifications) do - FactoryBot.build_stubbed_list(:notification, + build_stubbed_list(:notification, 3).tap do |items| allow(items) .to receive(:per_page) @@ -49,7 +49,7 @@ describe ::API::V3::Notifications::NotificationCollectionRepresenter do .and_return(total) end end - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:representer) do described_class.new(notifications, self_link: self_base_link, diff --git a/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb b/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb index 4558bcb1aa6..d7a1e0e4888 100644 --- a/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb +++ b/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb @@ -33,14 +33,14 @@ describe ::API::V3::Notifications::NotificationRepresenter, 'rendering' do subject(:generated) { representer.to_json } - shared_let(:project) { FactoryBot.create :project } - shared_let(:resource) { FactoryBot.create :work_package, project: project } + shared_let(:project) { create :project } + shared_let(:resource) { create :work_package, project: project } - let(:recipient) { FactoryBot.build_stubbed(:user) } + let(:recipient) { build_stubbed(:user) } let(:journal) { nil } let(:actor) { nil } let(:notification) do - FactoryBot.build_stubbed :notification, + build_stubbed :notification, recipient: recipient, project: project, resource: resource, @@ -167,7 +167,7 @@ describe ::API::V3::Notifications::NotificationRepresenter, 'rendering' do end context 'when set' do - let(:actor) { FactoryBot.create :user } + let(:actor) { create :user } it_behaves_like 'has a titled link' do let(:link) { 'actor' } diff --git a/spec/lib/api/v3/placeholder_users/placeholder_user_collection_representer_spec.rb b/spec/lib/api/v3/placeholder_users/placeholder_user_collection_representer_spec.rb index da1127de072..1e246ad4d29 100644 --- a/spec/lib/api/v3/placeholder_users/placeholder_user_collection_representer_spec.rb +++ b/spec/lib/api/v3/placeholder_users/placeholder_user_collection_representer_spec.rb @@ -35,10 +35,10 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUserCollectionRepresenter do let(:page) { 1 } let(:page_size) { 2 } let(:actual_count) { 3 } - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } let(:placeholders) do - placeholders = FactoryBot.build_stubbed_list(:placeholder_user, + placeholders = build_stubbed_list(:placeholder_user, actual_count) allow(placeholders) .to receive(:per_page) diff --git a/spec/lib/api/v3/placeholder_users/placeholder_user_representer_rendering_spec.rb b/spec/lib/api/v3/placeholder_users/placeholder_user_representer_rendering_spec.rb index 784543a492c..d8ca40b71b9 100644 --- a/spec/lib/api/v3/placeholder_users/placeholder_user_representer_rendering_spec.rb +++ b/spec/lib/api/v3/placeholder_users/placeholder_user_representer_rendering_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::PlaceholderUsers::PlaceholderUserRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper - let(:placeholder_user) { FactoryBot.build_stubbed(:placeholder_user) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:placeholder_user) { build_stubbed(:placeholder_user) } + let(:current_user) { build_stubbed(:user) } let(:representer) { described_class.new(placeholder_user, current_user: current_user) } let(:memberships_path) do filters = [ @@ -158,7 +158,7 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUserRepresenter, 'rendering' do end context 'as admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'property', :id do let(:value) { placeholder_user.id } diff --git a/spec/lib/api/v3/posts/post_representer_rendering_spec.rb b/spec/lib/api/v3/posts/post_representer_rendering_spec.rb index 8c91c9af5f8..b9b332fb177 100644 --- a/spec/lib/api/v3/posts/post_representer_rendering_spec.rb +++ b/spec/lib/api/v3/posts/post_representer_rendering_spec.rb @@ -32,14 +32,14 @@ describe ::API::V3::Posts::PostRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:message) do - FactoryBot.build_stubbed(:message) do |wp| + build_stubbed(:message) do |wp| allow(wp) .to receive(:project) .and_return(project) end end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(message, current_user: user, embed_links: true) end diff --git a/spec/lib/api/v3/principals/principal_representer_factory_spec.rb b/spec/lib/api/v3/principals/principal_representer_factory_spec.rb index e8cfc075363..57bc660f20f 100644 --- a/spec/lib/api/v3/principals/principal_representer_factory_spec.rb +++ b/spec/lib/api/v3/principals/principal_representer_factory_spec.rb @@ -33,16 +33,16 @@ class TestRepresenter < ::API::Decorators::Single end describe ::API::V3::Principals::PrincipalRepresenterFactory do - let(:current_user) { FactoryBot.build_stubbed :user } + let(:current_user) { build_stubbed :user } let(:represented) do OpenStruct.new(association_id: 5, association: principal) end let(:principal) { nil } - let(:user) { FactoryBot.build_stubbed :user } - let(:group) { FactoryBot.build_stubbed :group } - let(:placeholder) { FactoryBot.build_stubbed :placeholder_user } - let(:deleted) { FactoryBot.build_stubbed :deleted_user } + let(:user) { build_stubbed :user } + let(:group) { build_stubbed :group } + let(:placeholder) { build_stubbed :placeholder_user } + let(:deleted) { build_stubbed :deleted_user } describe '.create' do subject { described_class.create principal, current_user: current_user } diff --git a/spec/lib/api/v3/principals/principal_type_spec.rb b/spec/lib/api/v3/principals/principal_type_spec.rb index 882a5be16b7..d4b68300d2d 100644 --- a/spec/lib/api/v3/principals/principal_type_spec.rb +++ b/spec/lib/api/v3/principals/principal_type_spec.rb @@ -39,13 +39,13 @@ describe ::API::V3::Principals::PrincipalType do end describe 'with a user' do - let(:instance) { FactoryBot.build_stubbed :user } + let(:instance) { build_stubbed :user } it_behaves_like 'returns api type', :user end describe 'with a user' do - let(:instance) { FactoryBot.build_stubbed :user } + let(:instance) { build_stubbed :user } it_behaves_like 'returns api type', :user end @@ -57,7 +57,7 @@ describe ::API::V3::Principals::PrincipalType do end describe 'with a system user' do - let(:instance) { FactoryBot.build_stubbed :deleted_user } + let(:instance) { build_stubbed :deleted_user } it_behaves_like 'returns api type', :user end @@ -69,13 +69,13 @@ describe ::API::V3::Principals::PrincipalType do end describe 'with a group' do - let(:instance) { FactoryBot.build_stubbed :group } + let(:instance) { build_stubbed :group } it_behaves_like 'returns api type', :group end describe 'with a placeholder' do - let(:instance) { FactoryBot.build_stubbed :placeholder_user } + let(:instance) { build_stubbed :placeholder_user } it_behaves_like 'returns api type', :placeholder_user end diff --git a/spec/lib/api/v3/priorities/priority_collection_representer_spec.rb b/spec/lib/api/v3/priorities/priority_collection_representer_spec.rb index 90bd24db1bc..5bea95e5e64 100644 --- a/spec/lib/api/v3/priorities/priority_collection_representer_spec.rb +++ b/spec/lib/api/v3/priorities/priority_collection_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Priorities::PriorityCollectionRepresenter do - let(:priorities) { FactoryBot.build_list(:priority, 3) } + let(:priorities) { build_list(:priority, 3) } let(:representer) do described_class.new(priorities, self_link: '/api/v3/priorities', current_user: double('current_user')) end diff --git a/spec/lib/api/v3/priorities/priority_representer_spec.rb b/spec/lib/api/v3/priorities/priority_representer_spec.rb index b0b8e35d7cd..fc72eddec04 100644 --- a/spec/lib/api/v3/priorities/priority_representer_spec.rb +++ b/spec/lib/api/v3/priorities/priority_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Priorities::PriorityRepresenter do - let(:priority) { FactoryBot.build_stubbed(:priority) } + let(:priority) { build_stubbed(:priority) } let(:representer) { described_class.new(priority, current_user: double('current_user')) } include API::V3::Utilities::PathHelper diff --git a/spec/lib/api/v3/projects/copy/project_copy_payload_representer_spec.rb b/spec/lib/api/v3/projects/copy/project_copy_payload_representer_spec.rb index de4903c94b1..24768767b9d 100644 --- a/spec/lib/api/v3/projects/copy/project_copy_payload_representer_spec.rb +++ b/spec/lib/api/v3/projects/copy/project_copy_payload_representer_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::API::V3::Projects::Copy::ProjectCopyPayloadRepresenter do - shared_let(:current_user, reload: false) { FactoryBot.build_stubbed(:user) } - shared_let(:project, reload: false) { FactoryBot.build_stubbed(:project) } + shared_let(:current_user, reload: false) { build_stubbed(:user) } + shared_let(:project, reload: false) { build_stubbed(:project) } describe 'generation' do let(:meta) { OpenStruct.new } diff --git a/spec/lib/api/v3/projects/copy/project_copy_schema_representer_spec.rb b/spec/lib/api/v3/projects/copy/project_copy_schema_representer_spec.rb index 1290653f73f..c13a5064d66 100644 --- a/spec/lib/api/v3/projects/copy/project_copy_schema_representer_spec.rb +++ b/spec/lib/api/v3/projects/copy/project_copy_schema_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Projects::Copy::ProjectCopySchemaRepresenter do include API::V3::Utilities::PathHelper - shared_let(:current_user, reload: false) { FactoryBot.build_stubbed(:user) } - shared_let(:source_project, reload: false) { FactoryBot.build_stubbed(:project) } + shared_let(:current_user, reload: false) { build_stubbed(:user) } + shared_let(:source_project, reload: false) { build_stubbed(:project) } shared_let(:contract, reload: false) { ::Projects::CreateContract.new(source_project, current_user) } shared_let(:representer, reload: false) do diff --git a/spec/lib/api/v3/projects/project_collection_representer_spec.rb b/spec/lib/api/v3/projects/project_collection_representer_spec.rb index 1983096606a..70164a3234d 100644 --- a/spec/lib/api/v3/projects/project_collection_representer_spec.rb +++ b/spec/lib/api/v3/projects/project_collection_representer_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe ::API::V3::Projects::ProjectCollectionRepresenter do - shared_let(:projects) { FactoryBot.create_list(:project, 3) } + shared_let(:projects) { create_list(:project, 3) } let(:self_base_link) { '/api/v3/projects' } - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } let(:representer) do described_class.new Project.all, self_link: self_base_link, diff --git a/spec/lib/api/v3/projects/project_payload_representer_parsing_spec.rb b/spec/lib/api/v3/projects/project_payload_representer_parsing_spec.rb index 4731f30fa64..1215ce2fafe 100644 --- a/spec/lib/api/v3/projects/project_payload_representer_parsing_spec.rb +++ b/spec/lib/api/v3/projects/project_payload_representer_parsing_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Projects::ProjectPayloadRepresenter, 'parsing' do let(:object) do OpenStruct.new available_custom_fields: [] end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(object, current_user: user) end diff --git a/spec/lib/api/v3/projects/project_representer_rendering_spec.rb b/spec/lib/api/v3/projects/project_representer_rendering_spec.rb index 0724c7b6671..ac22f0a51b0 100644 --- a/spec/lib/api/v3/projects/project_representer_rendering_spec.rb +++ b/spec/lib/api/v3/projects/project_representer_rendering_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Projects::ProjectRepresenter, 'rendering' do subject(:generated) { representer.to_json } let(:project) do - FactoryBot.build_stubbed(:project, + build_stubbed(:project, parent: parent_project, description: 'some description', status: status).tap do |p| @@ -57,10 +57,10 @@ describe ::API::V3::Projects::ProjectRepresenter, 'rendering' do end end let(:status) do - FactoryBot.build_stubbed(:project_status) + build_stubbed(:project_status) end let(:parent_project) do - FactoryBot.build_stubbed(:project).tap do |parent| + build_stubbed(:project).tap do |parent| allow(parent) .to receive(:visible?) .and_return(parent_visible) @@ -71,7 +71,7 @@ describe ::API::V3::Projects::ProjectRepresenter, 'rendering' do let(:ancestors) { [parent_project] } let(:user) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to?) do |permission, context| permissions.include?(permission) && context == project @@ -79,14 +79,14 @@ describe ::API::V3::Projects::ProjectRepresenter, 'rendering' do end end - let(:int_custom_field) { FactoryBot.build_stubbed(:int_project_custom_field, visible: false) } - let(:version_custom_field) { FactoryBot.build_stubbed(:version_project_custom_field, visible: true) } + let(:int_custom_field) { build_stubbed(:int_project_custom_field, visible: false) } + let(:version_custom_field) { build_stubbed(:version_project_custom_field, visible: true) } let(:int_custom_value) do CustomValue.new(custom_field: int_custom_field, value: '1234', customized: nil) end - let(:version) { FactoryBot.build_stubbed(:version) } + let(:version) { build_stubbed(:version) } let(:version_custom_value) do CustomValue.new(custom_field: version_custom_field, value: version.id, @@ -253,14 +253,14 @@ describe ::API::V3::Projects::ProjectRepresenter, 'rendering' do describe 'ancestors' do let(:link) { 'ancestors' } let(:grandparent_project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(p) .to receive(:visible?) .and_return(true) end end let(:root_project) do - FactoryBot.build_stubbed(:project).tap do |p| + build_stubbed(:project).tap do |p| allow(p) .to receive(:visible?) .and_return(true) diff --git a/spec/lib/api/v3/projects/schemas/project_schema_representer_spec.rb b/spec/lib/api/v3/projects/schemas/project_schema_representer_spec.rb index c48e8701386..05acf1b0c40 100644 --- a/spec/lib/api/v3/projects/schemas/project_schema_representer_spec.rb +++ b/spec/lib/api/v3/projects/schemas/project_schema_representer_spec.rb @@ -32,7 +32,7 @@ describe ::API::V3::Projects::Schemas::ProjectSchemaRepresenter do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:allowed_to_globally?) do |permission| global_permissions.include?(permission) @@ -45,7 +45,7 @@ describe ::API::V3::Projects::Schemas::ProjectSchemaRepresenter do let(:new_record) { true } let(:model_id) { 1 } let(:custom_field) do - FactoryBot.build_stubbed(:int_project_custom_field) + build_stubbed(:int_project_custom_field) end let(:allowed_status) { ['some status'] } let(:contract) do diff --git a/spec/lib/api/v3/projects/statuses/status_representer_rendering_spec.rb b/spec/lib/api/v3/projects/statuses/status_representer_rendering_spec.rb index 97efe9b224a..aa96cd2f8b6 100644 --- a/spec/lib/api/v3/projects/statuses/status_representer_rendering_spec.rb +++ b/spec/lib/api/v3/projects/statuses/status_representer_rendering_spec.rb @@ -38,7 +38,7 @@ describe ::API::V3::Projects::Statuses::StatusRepresenter, 'rendering' do described_class.create(status, current_user: current_user, embed_links: true) end - current_user { FactoryBot.build_stubbed(:user) } + current_user { build_stubbed(:user) } describe '_links' do describe 'self' do diff --git a/spec/lib/api/v3/queries/columns/query_relation_to_type_column_representer_spec.rb b/spec/lib/api/v3/queries/columns/query_relation_to_type_column_representer_spec.rb index cc00609c273..a94928a83ed 100644 --- a/spec/lib/api/v3/queries/columns/query_relation_to_type_column_representer_spec.rb +++ b/spec/lib/api/v3/queries/columns/query_relation_to_type_column_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Queries::Columns::QueryRelationToTypeColumnRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:column) { Queries::WorkPackages::Columns::RelationToTypeColumn.new(type) } let(:representer) { described_class.new(column) } diff --git a/spec/lib/api/v3/queries/filters/query_filter_instance_representer_spec.rb b/spec/lib/api/v3/queries/filters/query_filter_instance_representer_spec.rb index 9c337fff3aa..05e8b6d5a7b 100644 --- a/spec/lib/api/v3/queries/filters/query_filter_instance_representer_spec.rb +++ b/spec/lib/api/v3/queries/filters/query_filter_instance_representer_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Queries::Filters::QueryFilterInstanceRepresenter do let(:operator) { '=' } let(:values) { [status.id.to_s] } - let(:status) { FactoryBot.build_stubbed(:status) } + let(:status) { build_stubbed(:status) } let(:filter) do f = Queries::WorkPackages::Filter::StatusFilter.create! @@ -142,10 +142,10 @@ describe ::API::V3::Queries::Filters::QueryFilterInstanceRepresenter do end context 'with a subproject filter value_objects' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:project) { FactoryBot.create :project } - let(:subproject) { FactoryBot.create :project, parent: project } + let(:project) { create :project } + let(:subproject) { create :project, parent: project } let(:filter) do subproject project.reload @@ -205,7 +205,7 @@ describe ::API::V3::Queries::Filters::QueryFilterInstanceRepresenter do end context 'with a bool custom field filter' do - let(:bool_cf) { FactoryBot.create(:bool_wp_custom_field) } + let(:bool_cf) { create(:bool_wp_custom_field) } let(:filter) do Queries::WorkPackages::Filter::CustomFieldFilter.create!(name: "cf_#{bool_cf.id}", operator: operator, values: values) end diff --git a/spec/lib/api/v3/queries/filters/query_filter_representer_spec.rb b/spec/lib/api/v3/queries/filters/query_filter_representer_spec.rb index 4eb046284e1..7d0fe68a8f1 100644 --- a/spec/lib/api/v3/queries/filters/query_filter_representer_spec.rb +++ b/spec/lib/api/v3/queries/filters/query_filter_representer_spec.rb @@ -76,7 +76,7 @@ describe ::API::V3::Queries::Filters::QueryFilterRepresenter do end context 'for a custom field filter' do - let(:custom_field) { FactoryBot.build_stubbed(:list_wp_custom_field) } + let(:custom_field) { build_stubbed(:list_wp_custom_field) } let(:filter) do Queries::WorkPackages::Filter::CustomFieldFilter.from_custom_field! custom_field: custom_field end diff --git a/spec/lib/api/v3/queries/query_representer_parsing_spec.rb b/spec/lib/api/v3/queries/query_representer_parsing_spec.rb index 1ea0733acc0..8c4b8dd03ff 100644 --- a/spec/lib/api/v3/queries/query_representer_parsing_spec.rb +++ b/spec/lib/api/v3/queries/query_representer_parsing_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::QueryRepresenter do include ::API::V3::Utilities::PathHelper - let(:query) { FactoryBot.build_stubbed(:query, project: project) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } let(:user) { double('current_user') } let(:representer) do described_class.new(query, current_user: user, embed_links: true) diff --git a/spec/lib/api/v3/queries/query_representer_rendering_spec.rb b/spec/lib/api/v3/queries/query_representer_rendering_spec.rb index d600a8f081c..5e36b4e0daa 100644 --- a/spec/lib/api/v3/queries/query_representer_rendering_spec.rb +++ b/spec/lib/api/v3/queries/query_representer_rendering_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe ::API::V3::Queries::QueryRepresenter do include ::API::V3::Utilities::PathHelper - let(:query) { FactoryBot.build_stubbed(:query, project: project, views: views) } - let(:unpersisted_query) { FactoryBot.build(:query, project: project, user: other_user, views: views) } - let(:views) { [FactoryBot.build_stubbed(:view)] } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project, views: views) } + let(:unpersisted_query) { build(:query, project: project, user: other_user, views: views) } + let(:views) { [build_stubbed(:view)] } + let(:project) { build_stubbed(:project) } let(:user) { instance_double('User', allowed_to_globally?: true, allowed_to?: true, admin: true, admin?: true, active?: true) } - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:embed_links) { true } let(:representer) do described_class.new(query, current_user: user, embed_links: embed_links) @@ -134,7 +134,7 @@ describe ::API::V3::Queries::QueryRepresenter do end context 'when the query has no project' do - let(:query) { FactoryBot.build_stubbed(:query, project: nil) } + let(:query) { build_stubbed(:query, project: nil) } it_behaves_like 'has an empty link' do let(:link) { 'project' } @@ -167,7 +167,7 @@ describe ::API::V3::Queries::QueryRepresenter do end context 'without a project' do - let(:query) { FactoryBot.build_stubbed(:query, project: nil) } + let(:query) { build_stubbed(:query, project: nil) } it_behaves_like 'has an untitled link' do let(:link) { 'schema' } @@ -326,7 +326,7 @@ describe ::API::V3::Queries::QueryRepresenter do end let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.add_filter('subject', '~', ['bogus']) query.group_by = 'author' query.sort_criteria = [%w[assigned_to asc], %w[type desc]] @@ -381,7 +381,7 @@ describe ::API::V3::Queries::QueryRepresenter do context 'without columns' do let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) # need to write bogus here because the query # will otherwise sport the default columns @@ -399,7 +399,7 @@ describe ::API::V3::Queries::QueryRepresenter do context 'with columns' do let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.column_names = %w[status assigned_to updated_at] @@ -438,7 +438,7 @@ describe ::API::V3::Queries::QueryRepresenter do context 'with group_by' do let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.group_by = 'status' @@ -462,7 +462,7 @@ describe ::API::V3::Queries::QueryRepresenter do context 'with sort_by' do let(:query) do - FactoryBot.build_stubbed(:query, + build_stubbed(:query, sort_criteria: [%w[subject asc], %w[assigned_to desc]]) end @@ -635,7 +635,7 @@ describe ::API::V3::Queries::QueryRepresenter do end let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.highlighted_attributes = %w[status type priority due_date] @@ -704,7 +704,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'with filters' do let(:query) do - query = FactoryBot.build_stubbed(:query) + query = build_stubbed(:query) query.add_filter('status_id', '=', [filter_status.id.to_s]) allow(query.filters.last) .to receive(:value_objects) @@ -716,8 +716,8 @@ describe ::API::V3::Queries::QueryRepresenter do query end - let(:filter_status) { FactoryBot.build_stubbed(:status) } - let(:filter_user) { FactoryBot.build_stubbed(:user) } + let(:filter_status) { build_stubbed(:status) } + let(:filter_user) { build_stubbed(:user) } let(:expected_status) do { _type: "StatusQueryFilter", @@ -778,7 +778,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'with sort criteria' do let(:query) do - FactoryBot.build_stubbed(:query, + build_stubbed(:query, sort_criteria: [%w[subject asc], %w[assigned_to desc]]) end @@ -795,7 +795,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'with columns' do let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.column_names = %w[status assigned_to updated_at] @@ -822,7 +822,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'with group by' do let(:query) do - query = FactoryBot.build_stubbed(:query, project: project) + query = build_stubbed(:query, project: project) query.group_by = 'status' @@ -849,7 +849,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'when timeline is visible' do let(:query) do - FactoryBot.build_stubbed(:query, project: project).tap do |query| + build_stubbed(:query, project: project).tap do |query| query.timeline_visible = true end end @@ -861,7 +861,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'when labels are overridden' do let(:query) do - FactoryBot.build_stubbed(:query, project: project).tap do |query| + build_stubbed(:query, project: project).tap do |query| query.timeline_labels = expected end end @@ -876,7 +876,7 @@ describe ::API::V3::Queries::QueryRepresenter do describe 'when timeline zoom level is changed' do let(:query) do - FactoryBot.build_stubbed(:query, project: project).tap do |query| + build_stubbed(:query, project: project).tap do |query| query.timeline_zoom_level = :weeks end end @@ -888,7 +888,7 @@ describe ::API::V3::Queries::QueryRepresenter do end describe 'embedded results' do - let(:query) { FactoryBot.build_stubbed(:query) } + let(:query) { build_stubbed(:query) } let(:representer) do described_class.new(query, current_user: user, diff --git a/spec/lib/api/v3/queries/schemas/all_principals_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/all_principals_filter_dependency_representer_spec.rb index 04eb5b5314c..6780a0877a2 100644 --- a/spec/lib/api/v3/queries/schemas/all_principals_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/all_principals_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::AllPrincipalsFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::AssignedToFilter.create!(context: query) } let(:form_embedded) { false } @@ -108,7 +108,7 @@ describe ::API::V3::Queries::Schemas::AllPrincipalsFilterDependencyRepresenter, describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/boolean_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/boolean_filter_dependency_representer_spec.rb index acba4125472..675d492a1d3 100644 --- a/spec/lib/api/v3/queries/schemas/boolean_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/boolean_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::BooleanFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:bool_cf) { FactoryBot.build_stubbed(:bool_wp_custom_field) } + let(:project) { build_stubbed(:project) } + let(:bool_cf) { build_stubbed(:bool_wp_custom_field) } let(:filter) do Queries::WorkPackages::Filter::CustomFieldFilter.from_custom_field! custom_field: bool_cf, context: project diff --git a/spec/lib/api/v3/queries/schemas/category_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/category_filter_dependency_representer_spec.rb index 58eb701c621..e0927aa4ee8 100644 --- a/spec/lib/api/v3/queries/schemas/category_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/category_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::CategoryFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::CategoryFilter.create!(context: query) } let(:form_embedded) { false } @@ -79,7 +79,7 @@ describe ::API::V3::Queries::Schemas::CategoryFilterDependencyRepresenter, clear describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer_spec.rb index 186493c33b0..78cae32ebd3 100644 --- a/spec/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::CustomOptionFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:custom_field) do - cf = FactoryBot.build_stubbed(:list_wp_custom_field) + cf = build_stubbed(:list_wp_custom_field) allow(cf) .to receive(:custom_options) - .and_return([FactoryBot.build_stubbed(:custom_option), - FactoryBot.build_stubbed(:custom_option)]) + .and_return([build_stubbed(:custom_option), + build_stubbed(:custom_option)]) cf end let(:filter) do diff --git a/spec/lib/api/v3/queries/schemas/date_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/date_filter_dependency_representer_spec.rb index 28c66f06615..1c28371f3af 100644 --- a/spec/lib/api/v3/queries/schemas/date_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/date_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::DateFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::DueDateFilter.create!(context: query) } let(:form_embedded) { false } @@ -110,7 +110,7 @@ describe ::API::V3::Queries::Schemas::DateFilterDependencyRepresenter, clear_cac describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/date_time_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/date_time_filter_dependency_representer_spec.rb index 8ac1fbf3f6b..08c5c1fd287 100644 --- a/spec/lib/api/v3/queries/schemas/date_time_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/date_time_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::DateTimeFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::CreatedAtFilter.create!(context: query) } let(:form_embedded) { false } @@ -99,7 +99,7 @@ describe ::API::V3::Queries::Schemas::DateTimeFilterDependencyRepresenter, clear describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/filter_dependency_representer_factory_spec.rb b/spec/lib/api/v3/queries/schemas/filter_dependency_representer_factory_spec.rb index fbd8edcf264..220cc604ff7 100644 --- a/spec/lib/api/v3/queries/schemas/filter_dependency_representer_factory_spec.rb +++ b/spec/lib/api/v3/queries/schemas/filter_dependency_representer_factory_spec.rb @@ -90,7 +90,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type int' do - let(:custom_field) { FactoryBot.build_stubbed(:int_wp_custom_field) } + let(:custom_field) { build_stubbed(:int_wp_custom_field) } it 'is the integer dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::IntegerFilterDependencyRepresenter) @@ -100,7 +100,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type float' do - let(:custom_field) { FactoryBot.build_stubbed(:float_wp_custom_field) } + let(:custom_field) { build_stubbed(:float_wp_custom_field) } it 'is the float dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::FloatFilterDependencyRepresenter) @@ -110,7 +110,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type text' do - let(:custom_field) { FactoryBot.build_stubbed(:text_wp_custom_field) } + let(:custom_field) { build_stubbed(:text_wp_custom_field) } it 'is the text dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::TextFilterDependencyRepresenter) @@ -120,7 +120,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type list' do - let(:custom_field) { FactoryBot.build_stubbed(:list_wp_custom_field) } + let(:custom_field) { build_stubbed(:list_wp_custom_field) } it 'is the custom option dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::CustomOptionFilterDependencyRepresenter) @@ -130,7 +130,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type user' do - let(:custom_field) { FactoryBot.build_stubbed(:user_wp_custom_field) } + let(:custom_field) { build_stubbed(:user_wp_custom_field) } it 'is the user dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::UserFilterDependencyRepresenter) @@ -140,7 +140,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type version' do - let(:custom_field) { FactoryBot.build_stubbed(:version_wp_custom_field) } + let(:custom_field) { build_stubbed(:version_wp_custom_field) } it 'is the version dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::VersionFilterDependencyRepresenter) @@ -150,7 +150,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type date' do - let(:custom_field) { FactoryBot.build_stubbed(:date_wp_custom_field) } + let(:custom_field) { build_stubbed(:date_wp_custom_field) } it 'is the date dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::DateFilterDependencyRepresenter) @@ -160,7 +160,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type bool' do - let(:custom_field) { FactoryBot.build_stubbed(:bool_wp_custom_field) } + let(:custom_field) { build_stubbed(:bool_wp_custom_field) } it 'is the boolean filter dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::BooleanFilterDependencyRepresenter) @@ -170,7 +170,7 @@ describe ::API::V3::Queries::Schemas::FilterDependencyRepresenterFactory do end context 'type string' do - let(:custom_field) { FactoryBot.build_stubbed(:string_wp_custom_field) } + let(:custom_field) { build_stubbed(:string_wp_custom_field) } it 'is the text dependency' do is_expected.to be_a(::API::V3::Queries::Schemas::TextFilterDependencyRepresenter) diff --git a/spec/lib/api/v3/queries/schemas/float_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/float_filter_dependency_representer_spec.rb index 4ac8282f55a..6002ea4c50a 100644 --- a/spec/lib/api/v3/queries/schemas/float_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/float_filter_dependency_representer_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::FloatFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } - let(:custom_field) { FactoryBot.build_stubbed(:float_wp_custom_field) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } + let(:custom_field) { build_stubbed(:float_wp_custom_field) } let(:filter) do Queries::WorkPackages::Filter::CustomFieldFilter.from_custom_field! custom_field: custom_field, context: query @@ -94,7 +94,7 @@ describe ::API::V3::Queries::Schemas::FloatFilterDependencyRepresenter, clear_ca describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/group_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/group_filter_dependency_representer_spec.rb index 6fd4a976ef0..0e1600e6022 100644 --- a/spec/lib/api/v3/queries/schemas/group_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/group_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::GroupFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::GroupFilter.create!(context: query) } let(:form_embedded) { false } @@ -108,7 +108,7 @@ describe ::API::V3::Queries::Schemas::GroupFilterDependencyRepresenter, clear_ca describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/id_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/id_filter_dependency_representer_spec.rb index 9ec93603a49..02c46108453 100644 --- a/spec/lib/api/v3/queries/schemas/id_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/id_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::IdFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::IdFilter.create!(context: query) } let(:form_embedded) { false } @@ -88,7 +88,7 @@ describe ::API::V3::Queries::Schemas::IdFilterDependencyRepresenter, clear_cache describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/integer_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/integer_filter_dependency_representer_spec.rb index 48afa0e0e07..36cdd70a2ec 100644 --- a/spec/lib/api/v3/queries/schemas/integer_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/integer_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::IntegerFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::DoneRatioFilter.create!(context: query) } let(:form_embedded) { false } diff --git a/spec/lib/api/v3/queries/schemas/priority_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/priority_filter_dependency_representer_spec.rb index 3a511a9cdb2..5b2a5b3d9f9 100644 --- a/spec/lib/api/v3/queries/schemas/priority_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/priority_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::PriorityFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::PriorityFilter.create!(context: query) } let(:form_embedded) { false } diff --git a/spec/lib/api/v3/queries/schemas/query_filter_instance_schema_representer_spec.rb b/spec/lib/api/v3/queries/schemas/query_filter_instance_schema_representer_spec.rb index e3484f52291..bc5837303c4 100644 --- a/spec/lib/api/v3/queries/schemas/query_filter_instance_schema_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/query_filter_instance_schema_representer_spec.rb @@ -43,7 +43,7 @@ describe ::API::V3::Queries::Schemas::QueryFilterInstanceSchemaRepresenter, clea filter end - let(:custom_field) { FactoryBot.build_stubbed(:list_wp_custom_field) } + let(:custom_field) { build_stubbed(:list_wp_custom_field) } let(:instance) do described_class.new(filter, self_link: self_link, @@ -53,7 +53,7 @@ describe ::API::V3::Queries::Schemas::QueryFilterInstanceSchemaRepresenter, clea let(:form_embedded) { false } let(:self_link) { 'bogus_self_path' } let(:project) { nil } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:json_cacheable) { true } let(:json_cache_key) { 'some key' } let(:dependency) do diff --git a/spec/lib/api/v3/queries/schemas/query_schema_representer_spec.rb b/spec/lib/api/v3/queries/schemas/query_schema_representer_spec.rb index b5c11a1c07e..50178b68f15 100644 --- a/spec/lib/api/v3/queries/schemas/query_schema_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/query_schema_representer_spec.rb @@ -52,7 +52,7 @@ describe ::API::V3::Queries::Schemas::QuerySchemaRepresenter do let(:instance) { described_class.new(query, self_link: self_link, current_user: user, form_embedded: form_embedded) } let(:user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:allowed_to?) .and_return(false) @@ -338,7 +338,7 @@ describe ::API::V3::Queries::Schemas::QuerySchemaRepresenter do context 'when embedding' do let(:form_embedded) { true } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:available_values) do [Queries::WorkPackages::Columns::PropertyColumn.new(:bogus1), Queries::WorkPackages::Columns::PropertyColumn.new(:bogus2), @@ -385,7 +385,7 @@ describe ::API::V3::Queries::Schemas::QuerySchemaRepresenter do context 'when embedding' do let(:form_embedded) { true } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:available_values) do [Queries::WorkPackages::Columns::PropertyColumn.new(:bogus1, highlightable: true), Queries::WorkPackages::Columns::PropertyColumn.new(:bogus2, highlightable: true)] @@ -426,7 +426,7 @@ describe ::API::V3::Queries::Schemas::QuerySchemaRepresenter do end context 'when project query' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:href) { api_v3_paths.query_project_filter_instance_schemas(project.id) } it 'contains the link to the filter schemas' do @@ -539,7 +539,7 @@ describe ::API::V3::Queries::Schemas::QuerySchemaRepresenter do end context 'when project query' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:href) { api_v3_paths.query_project_filter_instance_schemas(project.id) } it 'contains a collection of filter schemas' do diff --git a/spec/lib/api/v3/queries/schemas/subproject_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/subproject_filter_dependency_representer_spec.rb index 729aadf4ea4..ad288496ca2 100644 --- a/spec/lib/api/v3/queries/schemas/subproject_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/subproject_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::SubprojectFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::SubprojectFilter.create!(context: query) } let(:form_embedded) { false } @@ -78,7 +78,7 @@ describe ::API::V3::Queries::Schemas::SubprojectFilterDependencyRepresenter, cle describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/text_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/text_filter_dependency_representer_spec.rb index c2f37c7cc54..181fa8a375f 100644 --- a/spec/lib/api/v3/queries/schemas/text_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/text_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::TextFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::SubjectFilter.create!(context: query) } let(:form_embedded) { false } diff --git a/spec/lib/api/v3/queries/schemas/type_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/type_filter_dependency_representer_spec.rb index f585aba0200..2ee22f412d2 100644 --- a/spec/lib/api/v3/queries/schemas/type_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/type_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::TypeFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::TypeFilter.create!(context: query) } let(:form_embedded) { false } @@ -91,7 +91,7 @@ describe ::API::V3::Queries::Schemas::TypeFilterDependencyRepresenter, clear_cac describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/user_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/user_filter_dependency_representer_spec.rb index 90f695cf46a..21efe9f9a7e 100644 --- a/spec/lib/api/v3/queries/schemas/user_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/user_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::UserFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed :project } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed :project } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::AuthorFilter.create!(context: query) } let(:form_embedded) { false } @@ -94,7 +94,7 @@ describe ::API::V3::Queries::Schemas::UserFilterDependencyRepresenter, clear_cac describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/queries/schemas/version_filter_dependency_representer_spec.rb b/spec/lib/api/v3/queries/schemas/version_filter_dependency_representer_spec.rb index 2bb9f80e21d..edbd01b4cb8 100644 --- a/spec/lib/api/v3/queries/schemas/version_filter_dependency_representer_spec.rb +++ b/spec/lib/api/v3/queries/schemas/version_filter_dependency_representer_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::API::V3::Queries::Schemas::VersionFilterDependencyRepresenter, clear_cache: true do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:filter) { Queries::WorkPackages::Filter::VersionFilter.create!(context: query) } let(:form_embedded) { false } @@ -107,7 +107,7 @@ describe ::API::V3::Queries::Schemas::VersionFilterDependencyRepresenter, clear_ describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/relations/relation_collection_representer_spec.rb b/spec/lib/api/v3/relations/relation_collection_representer_spec.rb index b7ff9d774f7..1ba6a8a4ec0 100644 --- a/spec/lib/api/v3/relations/relation_collection_representer_spec.rb +++ b/spec/lib/api/v3/relations/relation_collection_representer_spec.rb @@ -30,18 +30,18 @@ require 'spec_helper' describe ::API::V3::Relations::RelationCollectionRepresenter do let(:work_package) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:relations) do - FactoryBot.build_stubbed_list(:relation, + build_stubbed_list(:relation, 3, from: work_package, - to: FactoryBot.build_stubbed(:work_package)) + to: build_stubbed(:work_package)) end let(:user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end def self_link diff --git a/spec/lib/api/v3/relations/relation_paginated_collection_representer_spec.rb b/spec/lib/api/v3/relations/relation_paginated_collection_representer_spec.rb index 69383447ae4..662fa9b6f3f 100644 --- a/spec/lib/api/v3/relations/relation_paginated_collection_representer_spec.rb +++ b/spec/lib/api/v3/relations/relation_paginated_collection_representer_spec.rb @@ -30,11 +30,11 @@ require 'spec_helper' describe ::API::V3::Relations::RelationPaginatedCollectionRepresenter do let(:work_package) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:relations) do - FactoryBot.build_stubbed_list(:relation, total).tap do |relations| + build_stubbed_list(:relation, total).tap do |relations| allow(relations) .to receive(:per_page) .with(page_size) @@ -52,7 +52,7 @@ describe ::API::V3::Relations::RelationPaginatedCollectionRepresenter do end let(:user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:representer) do diff --git a/spec/lib/api/v3/relations/relation_representer_spec.rb b/spec/lib/api/v3/relations/relation_representer_spec.rb index d2e15292221..e09d5e5e482 100644 --- a/spec/lib/api/v3/relations/relation_representer_spec.rb +++ b/spec/lib/api/v3/relations/relation_representer_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe ::API::V3::Relations::RelationRepresenter do - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } - let(:from) { FactoryBot.build_stubbed(:stubbed_work_package) } - let(:to) { FactoryBot.build_stubbed :stubbed_work_package } + let(:from) { build_stubbed(:stubbed_work_package) } + let(:to) { build_stubbed :stubbed_work_package } let(:type) { "follows" } let(:description) { "This first" } let(:delay) { 3 } let(:relation) do - FactoryBot.build_stubbed :relation, + build_stubbed :relation, from: from, to: to, relation_type: type, diff --git a/spec/lib/api/v3/repositories/revision_representer_spec.rb b/spec/lib/api/v3/repositories/revision_representer_spec.rb index c50073a2a10..c3d9a32b197 100644 --- a/spec/lib/api/v3/repositories/revision_representer_spec.rb +++ b/spec/lib/api/v3/repositories/revision_representer_spec.rb @@ -33,10 +33,10 @@ describe ::API::V3::Repositories::RevisionRepresenter do let(:representer) { described_class.new(revision, current_user: double('current_user')) } - let(:project) { FactoryBot.build :project } - let(:repository) { FactoryBot.build :repository_subversion, project: project } + let(:project) { build :project } + let(:repository) { build :repository_subversion, project: project } let(:revision) do - FactoryBot.build(:changeset, + build(:changeset, id: 42, revision: '1234', repository: repository, @@ -88,7 +88,7 @@ describe ::API::V3::Repositories::RevisionRepresenter do end context 'with referencing commit message' do - let(:work_package) { FactoryBot.build_stubbed(:work_package, project: project) } + let(:work_package) { build_stubbed(:work_package, project: project) } let(:commit_message) { "Totally references ##{work_package.id}" } let(:html_reference) do id = work_package.id @@ -100,7 +100,7 @@ describe ::API::V3::Repositories::RevisionRepresenter do end before do - allow(User).to receive(:current).and_return(FactoryBot.build_stubbed(:admin)) + allow(User).to receive(:current).and_return(build_stubbed(:admin)) allow(WorkPackage) .to receive_message_chain('includes.references.find_by') .and_return(work_package) @@ -121,7 +121,7 @@ describe ::API::V3::Repositories::RevisionRepresenter do end context 'with linked user as author' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } before do allow(revision).to receive(:user).and_return(user) end diff --git a/spec/lib/api/v3/root_representer_spec.rb b/spec/lib/api/v3/root_representer_spec.rb index 1b3c968373b..e91cb17ffa8 100644 --- a/spec/lib/api/v3/root_representer_spec.rb +++ b/spec/lib/api/v3/root_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::RootRepresenter do include ::API::V3::Utilities::PathHelper - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:representer) { described_class.new({}, current_user: user) } let(:app_title) { 'Foo Project' } let(:version) { 'The version is over 9000!' } @@ -154,7 +154,7 @@ describe ::API::V3::RootRepresenter do end context 'for an admin user' do - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } it 'indicates the OpenProject version number' do is_expected diff --git a/spec/lib/api/v3/statuses/status_collection_representer_spec.rb b/spec/lib/api/v3/statuses/status_collection_representer_spec.rb index e07735d2645..66d7c1552d8 100644 --- a/spec/lib/api/v3/statuses/status_collection_representer_spec.rb +++ b/spec/lib/api/v3/statuses/status_collection_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Statuses::StatusCollectionRepresenter do include API::V3::Utilities::PathHelper - let(:statuses) { FactoryBot.build_list(:status, 3) } + let(:statuses) { build_list(:status, 3) } let(:representer) do described_class.new(statuses, self_link: api_v3_paths.statuses, current_user: double('current_user')) end diff --git a/spec/lib/api/v3/statuses/status_representer_spec.rb b/spec/lib/api/v3/statuses/status_representer_spec.rb index 1fcbf039fac..d32402fe944 100644 --- a/spec/lib/api/v3/statuses/status_representer_spec.rb +++ b/spec/lib/api/v3/statuses/status_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Statuses::StatusRepresenter do - let(:status) { FactoryBot.build_stubbed(:status) } + let(:status) { build_stubbed(:status) } let(:representer) { described_class.new(status, current_user: double('current_user')) } context 'generation' do diff --git a/spec/lib/api/v3/support/api_v3_filter_dependency.rb b/spec/lib/api/v3/support/api_v3_filter_dependency.rb index cdeefbc76fd..cfe169301db 100644 --- a/spec/lib/api/v3/support/api_v3_filter_dependency.rb +++ b/spec/lib/api/v3/support/api_v3_filter_dependency.rb @@ -90,8 +90,8 @@ end shared_examples_for 'relation filter dependency' do include ::API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:form_embedded) { false } let(:instance) do @@ -146,7 +146,7 @@ shared_examples_for 'relation filter dependency' do describe 'caching' do let(:operator) { Queries::Operators::Equals } - let(:other_project) { FactoryBot.build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } before do # fill the cache diff --git a/spec/lib/api/v3/support/link_examples.rb b/spec/lib/api/v3/support/link_examples.rb index 8db77cc4649..8b95dcd5a65 100644 --- a/spec/lib/api/v3/support/link_examples.rb +++ b/spec/lib/api/v3/support/link_examples.rb @@ -34,7 +34,7 @@ require 'spec_helper' shared_examples_for 'action link' do let(:permissions) { %i(view_work_packages edit_work_packages) } let(:user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:href) { nil } @@ -68,7 +68,7 @@ shared_context 'action link shared' do let(:all_permissions) { OpenProject::AccessControl.permissions.map(&:name) } let(:permissions) { all_permissions } let(:action_link_user) do - defined?(user) ? user : FactoryBot.build_stubbed(:user) + defined?(user) ? user : build_stubbed(:user) end before do diff --git a/spec/lib/api/v3/types/type_representer_spec.rb b/spec/lib/api/v3/types/type_representer_spec.rb index 5180d86e772..f0233b98f3a 100644 --- a/spec/lib/api/v3/types/type_representer_spec.rb +++ b/spec/lib/api/v3/types/type_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::Types::TypeRepresenter do - let(:type) { FactoryBot.build_stubbed(:type, color: FactoryBot.build_stubbed(:color)) } + let(:type) { build_stubbed(:type, color: build_stubbed(:color)) } let(:representer) { described_class.new(type, current_user: double('current_user')) } include API::V3::Utilities::PathHelper @@ -58,7 +58,7 @@ describe ::API::V3::Types::TypeRepresenter do end context 'no color set' do - let(:type) { FactoryBot.build_stubbed(:type, color: nil) } + let(:type) { build_stubbed(:type, color: nil) } it 'indicates a missing color' do is_expected.to be_json_eql(nil.to_json).at_path('color') @@ -74,7 +74,7 @@ describe ::API::V3::Types::TypeRepresenter do end context 'as default type' do - let(:type) { FactoryBot.build_stubbed(:type, is_default: true) } + let(:type) { build_stubbed(:type, is_default: true) } it 'indicates that it is the default type' do is_expected.to be_json_eql(true.to_json).at_path('isDefault') @@ -86,7 +86,7 @@ describe ::API::V3::Types::TypeRepresenter do end context 'as milestone' do - let(:type) { FactoryBot.build_stubbed(:type, is_milestone: true) } + let(:type) { build_stubbed(:type, is_milestone: true) } it 'indicates that it is a milestone' do is_expected.to be_json_eql(true.to_json).at_path('isMilestone') diff --git a/spec/lib/api/v3/user_preferences/notification_setting_representer_rendering_spec.rb b/spec/lib/api/v3/user_preferences/notification_setting_representer_rendering_spec.rb index 95717ce7269..8e6ab792eee 100644 --- a/spec/lib/api/v3/user_preferences/notification_setting_representer_rendering_spec.rb +++ b/spec/lib/api/v3/user_preferences/notification_setting_representer_rendering_spec.rb @@ -33,8 +33,8 @@ describe ::API::V3::UserPreferences::NotificationSettingRepresenter, 'rendering' subject(:generated) { representer.to_json } - let(:project) { FactoryBot.build_stubbed :project } - let(:notification_setting) { FactoryBot.build_stubbed(:notification_setting, project: project) } + let(:project) { build_stubbed :project } + let(:notification_setting) { build_stubbed(:notification_setting, project: project) } let(:representer) do described_class.create notification_setting, @@ -44,7 +44,7 @@ describe ::API::V3::UserPreferences::NotificationSettingRepresenter, 'rendering' let(:embed_links) { true } - current_user { FactoryBot.build_stubbed(:user) } + current_user { build_stubbed(:user) } describe '_links' do describe 'self' do diff --git a/spec/lib/api/v3/user_preferences/user_preference_representer_parsing_spec.rb b/spec/lib/api/v3/user_preferences/user_preference_representer_parsing_spec.rb index 6c26e7d746f..fb14eeab1fa 100644 --- a/spec/lib/api/v3/user_preferences/user_preference_representer_parsing_spec.rb +++ b/spec/lib/api/v3/user_preferences/user_preference_representer_parsing_spec.rb @@ -35,7 +35,7 @@ describe ::API::V3::UserPreferences::UserPreferenceRepresenter, include ::API::V3::Utilities::PathHelper let(:preference) { OpenStruct.new } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:representer) { described_class.new(preference, current_user: user) } describe 'notification_settings' do diff --git a/spec/lib/api/v3/user_preferences/user_preference_representer_rendering_spec.rb b/spec/lib/api/v3/user_preferences/user_preference_representer_rendering_spec.rb index d105fc31e8d..964ce456a6e 100644 --- a/spec/lib/api/v3/user_preferences/user_preference_representer_rendering_spec.rb +++ b/spec/lib/api/v3/user_preferences/user_preference_representer_rendering_spec.rb @@ -33,7 +33,7 @@ describe ::API::V3::UserPreferences::UserPreferenceRepresenter, include ::API::V3::Utilities::PathHelper let(:preference) do - FactoryBot.build_stubbed(:user_preference, + build_stubbed(:user_preference, settings: { "daily_reminders" => { "enabled" => true, @@ -41,8 +41,8 @@ describe ::API::V3::UserPreferences::UserPreferenceRepresenter, } }) end - let(:notification_setting) { FactoryBot.build(:notification_setting) } - let(:user) { FactoryBot.build_stubbed(:user, preference: preference) } + let(:notification_setting) { build(:notification_setting) } + let(:user) { build_stubbed(:user, preference: preference) } let(:representer) { described_class.new(preference, current_user: user) } before do @@ -60,7 +60,7 @@ describe ::API::V3::UserPreferences::UserPreferenceRepresenter, describe 'timeZone' do context 'without a timezone set' do - let(:preference) { FactoryBot.build(:user_preference, time_zone: '') } + let(:preference) { build(:user_preference, time_zone: '') } it 'shows the timeZone as nil' do expect(subject).to be_json_eql(nil.to_json).at_path('timeZone') @@ -68,7 +68,7 @@ describe ::API::V3::UserPreferences::UserPreferenceRepresenter, end context 'with a timezone set' do - let(:preference) { FactoryBot.build(:user_preference, time_zone: 'Europe/Paris') } + let(:preference) { build(:user_preference, time_zone: 'Europe/Paris') } it 'shows the canonical time zone' do expect(subject).to be_json_eql('Europe/Paris'.to_json).at_path('timeZone') diff --git a/spec/lib/api/v3/users/paginated_user_collection_representer_spec.rb b/spec/lib/api/v3/users/paginated_user_collection_representer_spec.rb index 8d3997a8085..acff71d59c0 100644 --- a/spec/lib/api/v3/users/paginated_user_collection_representer_spec.rb +++ b/spec/lib/api/v3/users/paginated_user_collection_representer_spec.rb @@ -37,7 +37,7 @@ describe ::API::V3::Users::PaginatedUserCollectionRepresenter do let(:actual_count) { 3 } let(:users) do - users = FactoryBot.build_stubbed_list(:user, + users = build_stubbed_list(:user, actual_count) allow(users) .to receive(:per_page) diff --git a/spec/lib/api/v3/users/user_collection_representer_spec.rb b/spec/lib/api/v3/users/user_collection_representer_spec.rb index 46a00482b75..711715217d0 100644 --- a/spec/lib/api/v3/users/user_collection_representer_spec.rb +++ b/spec/lib/api/v3/users/user_collection_representer_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe ::API::V3::Users::UserCollectionRepresenter do let(:users) do - FactoryBot.build_stubbed_list(:user, + build_stubbed_list(:user, 3) end let(:representer) do diff --git a/spec/lib/api/v3/users/user_representer_spec.rb b/spec/lib/api/v3/users/user_representer_spec.rb index 4abaaf2791f..e1787b30a4b 100644 --- a/spec/lib/api/v3/users/user_representer_spec.rb +++ b/spec/lib/api/v3/users/user_representer_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe ::API::V3::Users::UserRepresenter do let(:status) { Principal.statuses[:active] } - let(:user) { FactoryBot.build_stubbed(:user, status: status) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user, status: status) } + let(:current_user) { build_stubbed(:user) } let(:representer) { described_class.new(user, current_user: current_user) } include API::V3::Utilities::PathHelper @@ -78,7 +78,7 @@ describe ::API::V3::Users::UserRepresenter do end context 'as admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it 'shows everything' do is_expected.to have_json_path('id') @@ -104,7 +104,7 @@ describe ::API::V3::Users::UserRepresenter do end describe 'email' do - let(:user) { FactoryBot.build_stubbed(:user, status: 1, preference: preference) } + let(:user) { build_stubbed(:user, status: 1, preference: preference) } shared_examples_for 'shows the users E-Mail address' do it do @@ -113,13 +113,13 @@ describe ::API::V3::Users::UserRepresenter do end context 'user shows his E-Mail address' do - let(:preference) { FactoryBot.build(:user_preference, hide_mail: false) } + let(:preference) { build(:user_preference, hide_mail: false) } it_behaves_like 'shows the users E-Mail address' end context 'user hides his E-Mail address' do - let(:preference) { FactoryBot.build(:user_preference, hide_mail: true) } + let(:preference) { build(:user_preference, hide_mail: true) } it 'does not render the users E-Mail address' do is_expected @@ -127,7 +127,7 @@ describe ::API::V3::Users::UserRepresenter do end context 'if an admin inquires' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it_behaves_like 'shows the users E-Mail address' end @@ -178,7 +178,7 @@ describe ::API::V3::Users::UserRepresenter do end context 'when current_user is admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } it 'should link to lock and update' do expect(subject).to have_json_path('_links/lock/href') @@ -285,7 +285,7 @@ describe ::API::V3::Users::UserRepresenter do end describe '#json_cache_key' do - let(:auth_source) { FactoryBot.build_stubbed(:auth_source) } + let(:auth_source) { build_stubbed(:auth_source) } let(:former_cache_key) { representer.json_cache_key } before do diff --git a/spec/lib/api/v3/utilities/custom_field_injector_spec.rb b/spec/lib/api/v3/utilities/custom_field_injector_spec.rb index 30086e3ba3b..9bf09249ec8 100644 --- a/spec/lib/api/v3/utilities/custom_field_injector_spec.rb +++ b/spec/lib/api/v3/utilities/custom_field_injector_spec.rb @@ -34,7 +34,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do let(:cf_path) { "customField#{custom_field.id}" } let(:field_format) { 'bool' } let(:custom_field) do - FactoryBot.build(:custom_field, + build(:custom_field, id: 1, field_format: field_format, is_required: true) @@ -73,7 +73,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do context 'with default set' do let(:custom_field) do - FactoryBot.build(:custom_field, + build(:custom_field, id: 1, field_format: 'string', default_value: 'foo', @@ -97,7 +97,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do it_behaves_like 'indicates length requirements' context 'custom field is not required' do - let(:custom_field) { FactoryBot.build(:custom_field, is_required: false) } + let(:custom_field) { build(:custom_field, is_required: false) } it 'marks the field as not required' do is_expected.to be_json_eql(false.to_json).at_path("#{cf_path}/required") @@ -105,7 +105,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end context 'custom field has regex' do - let(:custom_field) { FactoryBot.build(:custom_field, regexp: 'Foo+bar') } + let(:custom_field) { build(:custom_field, regexp: 'Foo+bar') } it 'renders the regular expression' do is_expected.to be_json_eql('Foo+bar'.to_json).at_path("#{cf_path}/regularExpression") @@ -113,7 +113,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end context 'custom field has minimum length' do - let(:custom_field) { FactoryBot.build(:custom_field, min_length: 5) } + let(:custom_field) { build(:custom_field, min_length: 5) } it_behaves_like 'indicates length requirements' do let(:min_length) { 5 } @@ -121,7 +121,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end context 'custom field has maximum length' do - let(:custom_field) { FactoryBot.build(:custom_field, max_length: 5) } + let(:custom_field) { build(:custom_field, max_length: 5) } it_behaves_like 'indicates length requirements' do let(:max_length) { 5 } @@ -131,11 +131,11 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do describe 'version custom field' do let(:custom_field) do - FactoryBot.build(:version_wp_custom_field, + build(:version_wp_custom_field, is_required: true) end - let(:assignable_versions) { FactoryBot.build_list(:version, 3) } + let(:assignable_versions) { build_list(:version, 3) } before do allow(schema) @@ -178,7 +178,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, is_required: true, possible_values: values @@ -208,7 +208,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do describe 'user custom field' do let(:custom_field) do - FactoryBot.build(:custom_field, + build(:custom_field, field_format: 'user', is_required: true) end @@ -247,7 +247,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do available_custom_fields: [custom_field]) end let(:custom_field) do - FactoryBot.build(:custom_field, + build(:custom_field, field_format: 'user', is_required: true) end @@ -297,7 +297,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do let(:raw_value) { nil } let(:typed_value) { raw_value } let(:value) { '' } - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } subject { modified_class.new(represented, current_user: current_user, embed_links: true).to_json } before do @@ -312,7 +312,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do %w[user group placeholder_user].each do |type| describe "#{type} assignment" do - let(:value) { FactoryBot.build(type, id: 2) } + let(:value) { build(type, id: 2) } it_behaves_like 'has a titled link' do let(:link) { cf_path } @@ -338,7 +338,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end context 'version custom field' do - let(:value) { FactoryBot.build_stubbed(:version, id: 2) } + let(:value) { build_stubbed(:version, id: 2) } let(:raw_value) { value.id.to_s } let(:typed_value) { value } let(:field_format) { 'version' } @@ -365,7 +365,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end context 'list custom field' do - let(:value) { FactoryBot.build_stubbed(:custom_option) } + let(:value) { build_stubbed(:custom_option) } let(:typed_value) { value.value } let(:raw_value) { value.id.to_s } let(:field_format) { 'list' } @@ -476,7 +476,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do end let(:custom_value) { double('CustomValue', value: value, typed_value: typed_value) } let(:value) { '' } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:typed_value) { value } subject { modified_class.new(represented, current_user: user).to_json } @@ -491,7 +491,7 @@ describe ::API::V3::Utilities::CustomFieldInjector, clear_cache: true do %w[user group placeholder_user].each do |type| describe "#{type} reading" do - let(:typed_value) { FactoryBot.build(type, id: 2) } + let(:typed_value) { build(type, id: 2) } it_behaves_like 'has a titled link' do let(:link) { cf_path } diff --git a/spec/lib/api/v3/utilities/resource_link_generator_spec.rb b/spec/lib/api/v3/utilities/resource_link_generator_spec.rb index 3c588d25e1c..048e6b4fb53 100644 --- a/spec/lib/api/v3/utilities/resource_link_generator_spec.rb +++ b/spec/lib/api/v3/utilities/resource_link_generator_spec.rb @@ -36,27 +36,27 @@ describe API::V3::Utilities::ResourceLinkGenerator do subject { described_class } describe ':make_link' do it 'supports work packages' do - wp = FactoryBot.build_stubbed(:work_package) + wp = build_stubbed(:work_package) expect(subject.make_link(wp)).to eql api_v3_paths.work_package(wp.id) end it 'supports priorities' do - prio = FactoryBot.build_stubbed(:priority) + prio = build_stubbed(:priority) expect(subject.make_link(prio)).to eql api_v3_paths.priority(prio.id) end it 'supports statuses' do - status = FactoryBot.build_stubbed(:status) + status = build_stubbed(:status) expect(subject.make_link(status)).to eql api_v3_paths.status(status.id) end it 'supports the anonymous user' do - user = FactoryBot.build_stubbed(:anonymous) + user = build_stubbed(:anonymous) expect(subject.make_link(user)).to eql api_v3_paths.user(user.id) end it 'returns nil for unsupported records' do - record = FactoryBot.create(:custom_field) + record = create(:custom_field) expect(subject.make_link(record)).to be_nil end diff --git a/spec/lib/api/v3/versions/schemas/version_schema_representer_spec.rb b/spec/lib/api/v3/versions/schemas/version_schema_representer_spec.rb index 3352f63e310..88a06a6b38a 100644 --- a/spec/lib/api/v3/versions/schemas/version_schema_representer_spec.rb +++ b/spec/lib/api/v3/versions/schemas/version_schema_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::Versions::Schemas::VersionSchemaRepresenter do include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:self_link) { '/a/self/link' } let(:embedded) { true } @@ -39,7 +39,7 @@ describe ::API::V3::Versions::Schemas::VersionSchemaRepresenter do let(:allowed_sharings) { %w(tree system) } let(:allowed_status) { %w(open fixed closed) } let(:custom_field) do - FactoryBot.build_stubbed(:int_version_custom_field) + build_stubbed(:int_version_custom_field) end let(:contract) do diff --git a/spec/lib/api/v3/versions/version_collection_representer_spec.rb b/spec/lib/api/v3/versions/version_collection_representer_spec.rb index 2de43dfea38..a9ee2be5d1d 100644 --- a/spec/lib/api/v3/versions/version_collection_representer_spec.rb +++ b/spec/lib/api/v3/versions/version_collection_representer_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe ::API::V3::Versions::VersionCollectionRepresenter do let(:self_link) { '/api/v3/projects/1/versions' } - let(:versions) { FactoryBot.build_stubbed_list(:version, 3) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:versions) { build_stubbed_list(:version, 3) } + let(:user) { build_stubbed(:user) } let(:representer) { described_class.new(versions, self_link: self_link, current_user: user) } include API::V3::Utilities::PathHelper diff --git a/spec/lib/api/v3/versions/version_representer_rendering_spec.rb b/spec/lib/api/v3/versions/version_representer_rendering_spec.rb index 0aaf40a124e..2e7112fb90b 100644 --- a/spec/lib/api/v3/versions/version_representer_rendering_spec.rb +++ b/spec/lib/api/v3/versions/version_representer_rendering_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::API::V3::Versions::VersionRepresenter, 'rendering' do - let(:version) { FactoryBot.build_stubbed(:version) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:version) { build_stubbed(:version) } + let(:user) { build_stubbed(:user) } let(:representer) { described_class.create(version, current_user: user) } include API::V3::Utilities::PathHelper @@ -132,9 +132,9 @@ describe ::API::V3::Versions::VersionRepresenter, 'rendering' do end context 'custom value' do - let(:custom_field) { FactoryBot.build_stubbed(:list_version_custom_field) } + let(:custom_field) { build_stubbed(:list_version_custom_field) } let(:custom_value) do - FactoryBot.build_stubbed(:custom_value, custom_field: custom_field, value: '1') + build_stubbed(:custom_value, custom_field: custom_field, value: '1') end before do @@ -198,7 +198,7 @@ describe ::API::V3::Versions::VersionRepresenter, 'rendering' do end context 'custom value' do - let(:custom_field) { FactoryBot.build_stubbed(:version_custom_field) } + let(:custom_field) { build_stubbed(:version_custom_field) } let(:custom_value) do CustomValue.new(custom_field: custom_field, value: '1234', @@ -270,12 +270,12 @@ describe ::API::V3::Versions::VersionRepresenter, 'rendering' do context 'custom fields' do let(:version) do - FactoryBot.build_stubbed(:version).tap do |_v| + build_stubbed(:version).tap do |_v| # Use this to force the custom field to be defined before the former_cache_key is calculated custom_field end end - let(:custom_field) { FactoryBot.build_stubbed(:version_custom_field, created_at: Time.now, updated_at: Time.now) } + let(:custom_field) { build_stubbed(:version_custom_field, created_at: Time.now, updated_at: Time.now) } before do allow(version) diff --git a/spec/lib/api/v3/views/view_representer_rendering_spec.rb b/spec/lib/api/v3/views/view_representer_rendering_spec.rb index bac4ee811fe..c5b1cce2e7d 100644 --- a/spec/lib/api/v3/views/view_representer_rendering_spec.rb +++ b/spec/lib/api/v3/views/view_representer_rendering_spec.rb @@ -33,9 +33,9 @@ describe ::API::V3::Views::ViewRepresenter, 'rendering' do subject(:generated) { representer.to_json } - let(:query) { FactoryBot.build_stubbed(:query, public: query_public, starred: query_starred) } - let(:view) { FactoryBot.build_stubbed(:view_work_packages_table, query: query) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:query) { build_stubbed(:query, public: query_public, starred: query_starred) } + let(:view) { build_stubbed(:view_work_packages_table, query: query) } + let(:current_user) { build_stubbed(:user) } let(:query_public) { true } let(:query_starred) { true } diff --git a/spec/lib/api/v3/wiki_pages/wiki_page_representer_rendering_spec.rb b/spec/lib/api/v3/wiki_pages/wiki_page_representer_rendering_spec.rb index efa1c027984..2147443dd08 100644 --- a/spec/lib/api/v3/wiki_pages/wiki_page_representer_rendering_spec.rb +++ b/spec/lib/api/v3/wiki_pages/wiki_page_representer_rendering_spec.rb @@ -32,14 +32,14 @@ describe ::API::V3::WikiPages::WikiPageRepresenter, 'rendering' do include ::API::V3::Utilities::PathHelper let(:wiki_page) do - FactoryBot.build_stubbed(:wiki_page) do |wp| + build_stubbed(:wiki_page) do |wp| allow(wp) .to receive(:project) .and_return(project) end end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:representer) do described_class.create(wiki_page, current_user: user, embed_links: true) end diff --git a/spec/lib/api/v3/work_packages/create_form_representer_spec.rb b/spec/lib/api/v3/work_packages/create_form_representer_spec.rb index acca0d880cc..aec31d7a427 100644 --- a/spec/lib/api/v3/work_packages/create_form_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/create_form_representer_spec.rb @@ -35,15 +35,15 @@ describe ::API::V3::WorkPackages::CreateFormRepresenter do let(:errors) { [] } let(:project) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, project: project).tap do |wp| + build_stubbed(:stubbed_work_package, project: project).tap do |wp| allow(wp).to receive(:assignable_versions).and_return [] end end let(:current_user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:representer) do described_class.new(work_package, current_user: current_user, errors: errors) @@ -189,10 +189,10 @@ describe ::API::V3::WorkPackages::CreateFormRepresenter do end context 'for an admin and with type' do - let(:type) { FactoryBot.build_stubbed(:type) } - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:type) { build_stubbed(:type) } + let(:current_user) { build_stubbed(:admin) } let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, id: 42, created_at: DateTime.now, updated_at: DateTime.now, diff --git a/spec/lib/api/v3/work_packages/create_project_form_representer_spec.rb b/spec/lib/api/v3/work_packages/create_project_form_representer_spec.rb index 84ba7ba54e8..4db7f8973d5 100644 --- a/spec/lib/api/v3/work_packages/create_project_form_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/create_project_form_representer_spec.rb @@ -36,9 +36,9 @@ describe ::API::V3::WorkPackages::CreateProjectFormRepresenter do let(:errors) { [] } let(:project) { work_package.project } let(:permissions) { %i(edit_work_packages) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, type: type) end let(:representer) do diff --git a/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb b/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb index b364c09a186..96a9bffbd7e 100644 --- a/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb +++ b/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb @@ -32,12 +32,12 @@ require 'spec_helper' require_relative './eager_loading_mock_wrapper' describe ::API::V3::WorkPackages::EagerLoading::Checksum do - let(:responsible) { FactoryBot.create(:user) } - let(:assignee) { FactoryBot.create(:user) } - let(:category) { FactoryBot.create(:category) } - let(:version) { FactoryBot.create(:version) } + let(:responsible) { create(:user) } + let(:assignee) { create(:user) } + let(:category) { create(:category) } + let(:version) { create(:version) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, responsible: responsible, assigned_to: assignee, version: version, diff --git a/spec/lib/api/v3/work_packages/eager_loading/cost_eager_loading_integration_spec.rb b/spec/lib/api/v3/work_packages/eager_loading/cost_eager_loading_integration_spec.rb index f4fd096113d..04f726cdd59 100644 --- a/spec/lib/api/v3/work_packages/eager_loading/cost_eager_loading_integration_spec.rb +++ b/spec/lib/api/v3/work_packages/eager_loading/cost_eager_loading_integration_spec.rb @@ -33,7 +33,7 @@ describe ::API::V3::WorkPackages::WorkPackageEagerLoadingWrapper, 'cost eager lo work_package.project end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[view_work_packages view_cost_entries view_cost_rates @@ -43,50 +43,50 @@ describe ::API::V3::WorkPackages::WorkPackageEagerLoadingWrapper, 'cost eager lo view_hourly_rates]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:cost_type) do - FactoryBot.create(:cost_type) + create(:cost_type) end let(:work_package) do - FactoryBot.create(:work_package) + create(:work_package) end let(:cost_entry1) do - FactoryBot.create(:cost_entry, + create(:cost_entry, cost_type: cost_type, user: user, work_package: work_package, project: project) end let(:cost_entry2) do - FactoryBot.create(:cost_entry, + create(:cost_entry, cost_type: cost_type, user: user, work_package: work_package, project: project) end let(:time_entry1) do - FactoryBot.create(:time_entry, + create(:time_entry, user: user, project: project, work_package: work_package) end let(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, user: user, project: project, work_package: work_package) end let(:user_rates) do - FactoryBot.create(:hourly_rate, + create(:hourly_rate, user: user, project: project) end let(:cost_rate) do - FactoryBot.create(:cost_rate, + create(:cost_rate, cost_type: cost_type) end diff --git a/spec/lib/api/v3/work_packages/eager_loading/custom_actions_integration_spec.rb b/spec/lib/api/v3/work_packages/eager_loading/custom_actions_integration_spec.rb index 20c763ec704..1f4a2e7db5e 100644 --- a/spec/lib/api/v3/work_packages/eager_loading/custom_actions_integration_spec.rb +++ b/spec/lib/api/v3/work_packages/eager_loading/custom_actions_integration_spec.rb @@ -32,20 +32,20 @@ require 'spec_helper' require_relative './eager_loading_mock_wrapper' describe ::API::V3::WorkPackages::EagerLoading::CustomAction do - let!(:work_package1) { FactoryBot.create(:work_package) } - let!(:work_package2) { FactoryBot.create(:work_package) } + let!(:work_package1) { create(:work_package) } + let!(:work_package2) { create(:work_package) } let!(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package2.project, member_through_role: role) end - let!(:role) { FactoryBot.create(:role) } + let!(:role) { create(:role) } let!(:status_custom_action) do - FactoryBot.create(:custom_action, + create(:custom_action, conditions: [CustomActions::Conditions::Status.new(work_package1.status_id.to_s)]) end let!(:role_custom_action) do - FactoryBot.create(:custom_action, + create(:custom_action, conditions: [CustomActions::Conditions::Role.new(role.id)]) end diff --git a/spec/lib/api/v3/work_packages/eager_loading/custom_value_integration_spec.rb b/spec/lib/api/v3/work_packages/eager_loading/custom_value_integration_spec.rb index 32eff397e60..2798e45f093 100644 --- a/spec/lib/api/v3/work_packages/eager_loading/custom_value_integration_spec.rb +++ b/spec/lib/api/v3/work_packages/eager_loading/custom_value_integration_spec.rb @@ -32,51 +32,51 @@ require 'spec_helper' require_relative './eager_loading_mock_wrapper' describe ::API::V3::WorkPackages::EagerLoading::CustomValue do - let!(:work_package) { FactoryBot.create(:work_package) } + let!(:work_package) { create(:work_package) } let!(:type) { work_package.type } - let!(:other_type) { FactoryBot.create(:type) } + let!(:other_type) { create(:type) } let!(:project) { work_package.project } - let!(:other_project) { FactoryBot.create(:project) } - let!(:user) { FactoryBot.create(:user) } - let!(:version) { FactoryBot.create(:version, project: project) } + let!(:other_project) { create(:project) } + let!(:user) { create(:user) } + let!(:version) { create(:version, project: project) } describe 'multiple CFs' do let!(:type_project_list_cf) do - FactoryBot.create(:list_wp_custom_field).tap do |cf| + create(:list_wp_custom_field).tap do |cf| type.custom_fields << cf project.work_package_custom_fields << cf end end let!(:type_project_user_cf) do - FactoryBot.create(:user_wp_custom_field).tap do |cf| + create(:user_wp_custom_field).tap do |cf| type.custom_fields << cf project.work_package_custom_fields << cf end end let!(:type_project_version_cf) do - FactoryBot.create(:version_wp_custom_field, name: 'blubs').tap do |cf| + create(:version_wp_custom_field, name: 'blubs').tap do |cf| type.custom_fields << cf project.work_package_custom_fields << cf end end let!(:for_all_type_cf) do - FactoryBot.create(:list_wp_custom_field, is_for_all: true).tap do |cf| + create(:list_wp_custom_field, is_for_all: true).tap do |cf| type.custom_fields << cf end end let!(:for_all_other_type_cf) do - FactoryBot.create(:list_wp_custom_field, is_for_all: true).tap do |cf| + create(:list_wp_custom_field, is_for_all: true).tap do |cf| other_type.custom_fields << cf end end let!(:type_other_project_cf) do - FactoryBot.create(:list_wp_custom_field).tap do |cf| + create(:list_wp_custom_field).tap do |cf| type.custom_fields << cf other_project.work_package_custom_fields << cf end end let!(:other_type_project_cf) do - FactoryBot.create(:list_wp_custom_field).tap do |cf| + create(:list_wp_custom_field).tap do |cf| other_type.custom_fields << cf project.work_package_custom_fields << cf end @@ -84,18 +84,18 @@ describe ::API::V3::WorkPackages::EagerLoading::CustomValue do describe '.apply' do it 'preloads the custom fields and values' do - FactoryBot.create(:custom_value, + create(:custom_value, custom_field: type_project_list_cf, customized: work_package, value: type_project_list_cf.custom_options.last.id) - FactoryBot.build(:custom_value, + build(:custom_value, custom_field: type_project_user_cf, customized: work_package, value: user.id) .save(validate: false) - FactoryBot.create(:custom_value, + create(:custom_value, custom_field: type_project_version_cf, customized: work_package, value: version.id) @@ -133,11 +133,11 @@ describe ::API::V3::WorkPackages::EagerLoading::CustomValue do describe '#usages returning an is_for_all custom field within one project (Regression #28435)' do let!(:for_all_type_cf) do - FactoryBot.create(:list_wp_custom_field, is_for_all: true).tap do |cf| + create(:list_wp_custom_field, is_for_all: true).tap do |cf| type.custom_fields << cf end end - let(:other_project) { FactoryBot.create :project } + let(:other_project) { create :project } subject { described_class.new [work_package] } before do @@ -159,12 +159,12 @@ describe ::API::V3::WorkPackages::EagerLoading::CustomValue do describe '#usages returning an is_for_all custom field within multiple projects (Regression #28452)' do let!(:for_all_type_cf) do - FactoryBot.create(:list_wp_custom_field, is_for_all: true).tap do |cf| + create(:list_wp_custom_field, is_for_all: true).tap do |cf| type.custom_fields << cf end end - let(:other_project) { FactoryBot.create :project } - let(:other_project2) { FactoryBot.create :project } + let(:other_project) { create :project } + let(:other_project2) { create :project } subject { described_class.new [work_package] } before do diff --git a/spec/lib/api/v3/work_packages/eager_loading/project_integration_spec.rb b/spec/lib/api/v3/work_packages/eager_loading/project_integration_spec.rb index cd80daa535d..f4670a7a48c 100644 --- a/spec/lib/api/v3/work_packages/eager_loading/project_integration_spec.rb +++ b/spec/lib/api/v3/work_packages/eager_loading/project_integration_spec.rb @@ -32,14 +32,14 @@ require 'spec_helper' require_relative './eager_loading_mock_wrapper' describe ::API::V3::WorkPackages::EagerLoading::Project do - let!(:parent_work_package1) { FactoryBot.create(:work_package, project: parent_project) } - let!(:work_package1) { FactoryBot.create(:work_package, project: project, parent: parent_work_package1) } - let!(:work_package2) { FactoryBot.create(:work_package, project: project, parent: parent_work_package1) } - let!(:child_work_package1) { FactoryBot.create(:work_package, project: child_project, parent: work_package1) } - let!(:child_work_package2) { FactoryBot.create(:work_package, project: child_project, parent: work_package2) } - let!(:project) { FactoryBot.create(:project) } - let!(:parent_project) { FactoryBot.create(:project) } - let!(:child_project) { FactoryBot.create(:project) } + let!(:parent_work_package1) { create(:work_package, project: parent_project) } + let!(:work_package1) { create(:work_package, project: project, parent: parent_work_package1) } + let!(:work_package2) { create(:work_package, project: project, parent: parent_work_package1) } + let!(:child_work_package1) { create(:work_package, project: child_project, parent: work_package1) } + let!(:child_work_package2) { create(:work_package, project: child_project, parent: work_package2) } + let!(:project) { create(:project) } + let!(:parent_project) { create(:project) } + let!(:child_project) { create(:project) } describe '.apply' do it 'preloads the projects of the work packages, their parents and children' do diff --git a/spec/lib/api/v3/work_packages/form_representer_spec.rb b/spec/lib/api/v3/work_packages/form_representer_spec.rb index aa6a8d29cb9..f1637a824e3 100644 --- a/spec/lib/api/v3/work_packages/form_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/form_representer_spec.rb @@ -33,13 +33,13 @@ describe ::API::V3::WorkPackages::FormRepresenter do let(:errors) { [] } let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, id: 42, created_at: DateTime.now, updated_at: DateTime.now) end let(:current_user) do - FactoryBot.create(:user, member_in_project: work_package.project) + create(:user, member_in_project: work_package.project) end let(:representer) do described_class.new(work_package, current_user: current_user, errors: errors) diff --git a/spec/lib/api/v3/work_packages/schema/specific_work_package_schema_spec.rb b/spec/lib/api/v3/work_packages/schema/specific_work_package_schema_spec.rb index dbd00ea2de5..5e6f19536cf 100644 --- a/spec/lib/api/v3/work_packages/schema/specific_work_package_schema_spec.rb +++ b/spec/lib/api/v3/work_packages/schema/specific_work_package_schema_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { build_stubbed(:project) } + let(:type) { build_stubbed(:type) } let(:work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: project, type: type) end @@ -132,8 +132,8 @@ describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do end describe '#assignable_priorities' do - let(:active_priority) { FactoryBot.build(:priority, active: true) } - let(:inactive_priority) { FactoryBot.build(:priority, active: false) } + let(:active_priority) { build(:priority, active: true) } + let(:inactive_priority) { build(:priority, active: false) } before do active_priority.save! @@ -317,8 +317,8 @@ describe ::API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do end describe '#assignable_custom_field_values' do - let(:list_cf) { FactoryBot.create(:list_wp_custom_field) } - let(:version_cf) { FactoryBot.build_stubbed(:version_wp_custom_field) } + let(:list_cf) { create(:list_wp_custom_field) } + let(:version_cf) { build_stubbed(:version_wp_custom_field) } it "is a list custom fields' possible values" do expect(subject.assignable_custom_field_values(list_cf)) diff --git a/spec/lib/api/v3/work_packages/schema/typed_work_package_schema_spec.rb b/spec/lib/api/v3/work_packages/schema/typed_work_package_schema_spec.rb index 64e321c9716..e2b74ca6a2a 100644 --- a/spec/lib/api/v3/work_packages/schema/typed_work_package_schema_spec.rb +++ b/spec/lib/api/v3/work_packages/schema/typed_work_package_schema_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::TypedWorkPackageSchema do - let(:project) { FactoryBot.build(:project) } - let(:type) { FactoryBot.build(:type) } + let(:project) { build(:project) } + let(:type) { build(:type) } let(:current_user) do double('user').tap do |u| @@ -102,8 +102,8 @@ describe ::API::V3::WorkPackages::Schema::TypedWorkPackageSchema do end describe '#assignable_custom_field_values' do - let(:list_cf) { FactoryBot.build_stubbed(:list_wp_custom_field) } - let(:version_cf) { FactoryBot.build_stubbed(:version_wp_custom_field) } + let(:list_cf) { build_stubbed(:list_wp_custom_field) } + let(:version_cf) { build_stubbed(:version_wp_custom_field) } it 'is nil for a list cf' do expect(subject.assignable_custom_field_values(list_cf)).to be_nil diff --git a/spec/lib/api/v3/work_packages/schema/work_package_schema_representer_spec.rb b/spec/lib/api/v3/work_packages/schema/work_package_schema_representer_spec.rb index 72eacdd7a12..37358067397 100644 --- a/spec/lib/api/v3/work_packages/schema/work_package_schema_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/schema/work_package_schema_representer_spec.rb @@ -31,18 +31,18 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.build_stubbed(:project_with_types) } + let(:project) { build_stubbed(:project_with_types) } let(:wp_type) { project.types.first } - let(:custom_field) { FactoryBot.build_stubbed(:custom_field) } + let(:custom_field) { build_stubbed(:custom_field) } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, project: project, type: wp_type) do |wp| + build_stubbed(:stubbed_work_package, project: project, type: wp_type) do |wp| allow(wp) .to receive(:available_custom_fields) .and_return(available_custom_fields) end end let(:current_user) do - FactoryBot.build_stubbed(:user).tap do |user| + build_stubbed(:user).tap do |user| allow(user) .to receive(:allowed_to?) do |per, pro| project == pro && permissions.include?(per) @@ -51,7 +51,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do end let(:permissions) { [:edit_work_packages] } let(:attribute_query) do - FactoryBot.build_stubbed(:query).tap do |query| + build_stubbed(:query).tap do |query| query.filters.clear query.add_filter('parent', '=', ['{id}']) end @@ -119,7 +119,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do end context 'when values are allowed' do - let(:values) { FactoryBot.build_stubbed_list(factory, 3) } + let(:values) { build_stubbed_list(factory, 3) } before do allow(schema).to receive(:assignable_values).with(factory, anything).and_return(values) @@ -212,7 +212,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'with relation query group' do let(:attribute_query) do - FactoryBot.build_stubbed(:query).tap do |query| + build_stubbed(:query).tap do |query| query.filters.clear query.add_filter('follows', '=', ['{id}']) end @@ -684,7 +684,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'when creating (new_record)' do let(:work_package) do - FactoryBot.build(:stubbed_work_package, project: project, type: wp_type) do |wp| + build(:stubbed_work_package, project: project, type: wp_type) do |wp| allow(wp) .to receive(:available_custom_fields) .and_return(available_custom_fields) @@ -699,7 +699,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'when creating (new_record with empty type)' do let(:work_package) do - FactoryBot.build(:stubbed_work_package, project: project, type: nil) do |wp| + build(:stubbed_work_package, project: project, type: nil) do |wp| allow(wp) .to receive(:available_custom_fields) .and_return(available_custom_fields) @@ -956,7 +956,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do end describe 'custom fields' do - let(:available_custom_fields) { [FactoryBot.build_stubbed(:int_wp_custom_field)] } + let(:available_custom_fields) { [build_stubbed(:int_wp_custom_field)] } it 'uses a CustomFieldInjector' do expect(::API::V3::Utilities::CustomFieldInjector).to receive(:create_schema_representer) .and_return(described_class) @@ -1052,7 +1052,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'for a different type' do it_behaves_like 'changes' do - let(:change) { work_package.project = FactoryBot.build_stubbed(:project) } + let(:change) { work_package.project = build_stubbed(:project) } end end @@ -1064,7 +1064,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'for a different type' do it_behaves_like 'changes' do - let(:change) { work_package.type = FactoryBot.build_stubbed(:type) } + let(:change) { work_package.type = build_stubbed(:type) } end end @@ -1085,7 +1085,7 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do let(:change) do allow(work_package) .to receive(:available_custom_fields) - .and_return([FactoryBot.build_stubbed(:custom_field)]) + .and_return([build_stubbed(:custom_field)]) end end end @@ -1108,9 +1108,9 @@ describe ::API::V3::WorkPackages::Schema::WorkPackageSchemaRepresenter do context 'if the users permissions change' do it_behaves_like 'changes' do - let(:role1) { FactoryBot.build_stubbed(:role, permissions: permissions1) } + let(:role1) { build_stubbed(:role, permissions: permissions1) } let(:permissions1) { %i[blubs some more] } - let(:role2) { FactoryBot.build_stubbed(:role, permissions: permissions2) } + let(:role2) { build_stubbed(:role, permissions: permissions2) } let(:permissions2) { %i[and other random permissions] } let(:roles) { [role1, role2] } diff --git a/spec/lib/api/v3/work_packages/schema/work_package_sums_schema_representer_spec.rb b/spec/lib/api/v3/work_packages/schema/work_package_sums_schema_representer_spec.rb index 2e5079e8602..0b4e092932a 100644 --- a/spec/lib/api/v3/work_packages/schema/work_package_sums_schema_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/schema/work_package_sums_schema_representer_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe ::API::V3::WorkPackages::Schema::WorkPackageSumsSchemaRepresenter do include ::API::V3::Utilities::PathHelper - let(:custom_field) { FactoryBot.build_stubbed(:integer_issue_custom_field) } + let(:custom_field) { build_stubbed(:integer_issue_custom_field) } let(:available_custom_fields) { [custom_field] } let(:schema) { double('wp_schema', available_custom_fields: available_custom_fields) } let(:current_user) { double('user', admin?: false) } diff --git a/spec/lib/api/v3/work_packages/update_form_representer_spec.rb b/spec/lib/api/v3/work_packages/update_form_representer_spec.rb index 87f20849d6e..bd4e923e712 100644 --- a/spec/lib/api/v3/work_packages/update_form_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/update_form_representer_spec.rb @@ -33,11 +33,11 @@ describe ::API::V3::WorkPackages::UpdateFormRepresenter do include API::V3::Utilities::PathHelper let(:errors) { [] } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } let(:project) { work_package.project } let(:permissions) { %i(edit_work_packages) } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package) + build_stubbed(:stubbed_work_package) end include_context 'user with stubbed permissions' let(:representer) do diff --git a/spec/lib/api/v3/work_packages/work_package_collection_representer_spec.rb b/spec/lib/api/v3/work_packages/work_package_collection_representer_spec.rb index f392688152c..101a6a23e49 100644 --- a/spec/lib/api/v3/work_packages/work_package_collection_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/work_package_collection_representer_spec.rb @@ -33,7 +33,7 @@ describe ::API::V3::WorkPackages::WorkPackageCollectionRepresenter do let(:self_base_link) { '/api/v3/example' } let(:work_packages) { WorkPackage.all } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:query) { {} } let(:groups) { nil } @@ -67,7 +67,7 @@ describe ::API::V3::WorkPackages::WorkPackageCollectionRepresenter do .to receive(:allowed_to?) .and_return(true) - FactoryBot.create_list(:work_package, total) + create_list(:work_package, total) end subject(:collection) { representer.to_json } @@ -118,7 +118,7 @@ describe ::API::V3::WorkPackages::WorkPackageCollectionRepresenter do end context 'when inside of a project and the user has the export_work_packages permission' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:expected) do expected_query = query.merge(pageSize: 30, offset: 1) @@ -176,7 +176,7 @@ describe ::API::V3::WorkPackages::WorkPackageCollectionRepresenter do end describe 'customFields' do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } before do allow(user) @@ -318,7 +318,7 @@ describe ::API::V3::WorkPackages::WorkPackageCollectionRepresenter do end context 'when in project context' do - let(:project) { FactoryBot.build_stubbed :project } + let(:project) { build_stubbed :project } it 'has no link to create work_packages' do expect(collection) diff --git a/spec/lib/api/v3/work_packages/work_package_payload_representer_spec.rb b/spec/lib/api/v3/work_packages/work_package_payload_representer_spec.rb index bb6c57bb08f..53309fd28f0 100644 --- a/spec/lib/api/v3/work_packages/work_package_payload_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/work_package_payload_representer_spec.rb @@ -32,20 +32,20 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do include API::V3::Utilities::PathHelper let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, start_date: Date.today.to_datetime, due_date: Date.today.to_datetime, created_at: DateTime.now, updated_at: DateTime.now, budget: budget, - type: FactoryBot.build_stubbed(:type)) do |wp| + type: build_stubbed(:type)) do |wp| allow(wp) .to receive(:available_custom_fields) .and_return(available_custom_fields) end end - let(:budget) { FactoryBot.build_stubbed(:budget) } + let(:budget) { build_stubbed(:budget) } let(:representer) do ::API::V3::WorkPackages::WorkPackagePayloadRepresenter @@ -61,7 +61,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end let(:user) do - FactoryBot.build_stubbed(:user) do |u| + build_stubbed(:user) do |u| allow(u) .to receive(:allowed_to?) .and_return(true) @@ -120,7 +120,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end context 'set' do - let(:work_package) { FactoryBot.build(:work_package, estimated_hours: 0) } + let(:work_package) { build(:work_package, estimated_hours: 0) } it { is_expected.to have_json_type(String).at_path('estimatedTime') } end @@ -171,7 +171,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end context 'no start date' do - let(:work_package) { FactoryBot.build(:work_package, start_date: nil) } + let(:work_package) { build(:work_package, start_date: nil) } it 'renders as null' do is_expected.to be_json_eql(nil.to_json).at_path('startDate') @@ -208,7 +208,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end context 'no finish date' do - let(:work_package) { FactoryBot.build(:work_package, due_date: nil) } + let(:work_package) { build(:work_package, due_date: nil) } it 'renders as null' do is_expected.to be_json_eql(nil.to_json).at_path('dueDate') @@ -246,8 +246,8 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do context 'no finish date' do let(:work_package) do - FactoryBot.build_stubbed(:work_package, - type: FactoryBot.build_stubbed(:type), + build_stubbed(:work_package, + type: build_stubbed(:type), due_date: nil) end @@ -299,7 +299,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'status' do - let(:status) { FactoryBot.build_stubbed(:status) } + let(:status) { build_stubbed(:status) } before do work_package.status = status @@ -314,7 +314,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'assignee and responsible' do - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } let(:link) { "/api/v3/users/#{other_user.id}" } describe 'assignee' do @@ -343,7 +343,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'version' do - let(:version) { FactoryBot.build_stubbed(:version) } + let(:version) { build_stubbed(:version) } before do work_package.version = version @@ -358,7 +358,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'category' do - let(:category) { FactoryBot.build_stubbed(:category) } + let(:category) { build_stubbed(:category) } before do work_package.category = category @@ -373,7 +373,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'priority' do - let(:priority) { FactoryBot.build_stubbed(:priority) } + let(:priority) { build_stubbed(:priority) } before do work_package.priority = priority @@ -389,7 +389,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do describe 'parent' do context 'with a parent' do - let(:parent) { FactoryBot.build_stubbed(:work_package) } + let(:parent) { build_stubbed(:work_package) } before do work_package.parent = parent @@ -446,7 +446,7 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'custom fields' do - let(:available_custom_fields) { [FactoryBot.build_stubbed(:int_wp_custom_field)] } + let(:available_custom_fields) { [build_stubbed(:int_wp_custom_field)] } it 'uses a CustomFieldInjector' do expect(::API::V3::Utilities::CustomFieldInjector).to receive(:create_value_representer) .and_call_original @@ -698,9 +698,9 @@ describe ::API::V3::WorkPackages::WorkPackagePayloadRepresenter do end describe 'parent' do - let(:parent) { FactoryBot.build_stubbed :work_package } + let(:parent) { build_stubbed :work_package } let(:new_parent) do - wp = FactoryBot.build_stubbed :work_package + wp = build_stubbed :work_package allow(WorkPackage) .to receive(:find_by) .with(id: wp.id.to_s) diff --git a/spec/lib/api/v3/work_packages/work_package_representer_spec.rb b/spec/lib/api/v3/work_packages/work_package_representer_spec.rb index c5c6529d139..d72772d711a 100644 --- a/spec/lib/api/v3/work_packages/work_package_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/work_package_representer_spec.rb @@ -31,14 +31,14 @@ require 'spec_helper' describe ::API::V3::WorkPackages::WorkPackageRepresenter do include ::API::V3::Utilities::PathHelper - let(:member) { FactoryBot.build_stubbed(:user) } + let(:member) { build_stubbed(:user) } let(:current_user) { member } let(:embed_links) { true } let(:representer) do described_class.create(work_package, current_user: current_user, embed_links: embed_links) end let(:parent) { nil } - let(:priority) { FactoryBot.build_stubbed(:priority, updated_at: Time.now) } + let(:priority) { build_stubbed(:priority, updated_at: Time.now) } let(:assignee) { nil } let(:responsible) { nil } let(:schedule_manually) { nil } @@ -50,9 +50,9 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do let(:spent_hours) { 0 } let(:derived_start_date) { Date.today - 4.days } let(:derived_due_date) { Date.today - 5.days } - let(:budget) { FactoryBot.build_stubbed(:budget, project: project) } + let(:budget) { build_stubbed(:budget, project: project) } let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, schedule_manually: schedule_manually, start_date: start_date, due_date: due_date, @@ -100,7 +100,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do ] end let(:permissions) { all_permissions } - let(:project) { FactoryBot.build_stubbed(:project_with_types) } + let(:project) { build_stubbed(:project_with_types) } let(:type) do type = project.types.first @@ -108,7 +108,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do type end - let(:status) { FactoryBot.build_stubbed(:status, updated_at: Time.now) } + let(:status) { build_stubbed(:status, updated_at: Time.now) } let(:available_custom_fields) { [] } before(:each) do @@ -346,7 +346,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end describe 'custom fields' do - let(:available_custom_fields) { [FactoryBot.build_stubbed(:int_wp_custom_field)] } + let(:available_custom_fields) { [build_stubbed(:int_wp_custom_field)] } it 'uses a CustomFieldInjector' do expect(::API::V3::Utilities::CustomFieldInjector).to receive(:create_value_representer) .and_call_original @@ -437,7 +437,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'assignee' do context 'is user' do - let(:assignee) { FactoryBot.build_stubbed(:user) } + let(:assignee) { build_stubbed(:user) } it_behaves_like 'has a titled link' do let(:link) { 'assignee' } @@ -447,7 +447,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is group' do - let(:assignee) { FactoryBot.build_stubbed(:group) } + let(:assignee) { build_stubbed(:group) } it_behaves_like 'has a titled link' do let(:link) { 'assignee' } @@ -457,7 +457,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is placeholder user' do - let(:assignee) { FactoryBot.build_stubbed(:placeholder_user) } + let(:assignee) { build_stubbed(:placeholder_user) } it_behaves_like 'has a titled link' do let(:link) { 'assignee' } @@ -467,7 +467,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is deleted user' do - let(:assignee) { FactoryBot.build_stubbed(:deleted_user) } + let(:assignee) { build_stubbed(:deleted_user) } it_behaves_like 'has a titled link' do let(:link) { 'assignee' } @@ -485,7 +485,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'responsible' do context 'is user' do - let(:responsible) { FactoryBot.build_stubbed(:user) } + let(:responsible) { build_stubbed(:user) } it_behaves_like 'has a titled link' do let(:link) { 'responsible' } @@ -495,7 +495,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is group' do - let(:responsible) { FactoryBot.build_stubbed(:group) } + let(:responsible) { build_stubbed(:group) } it_behaves_like 'has a titled link' do let(:link) { 'responsible' } @@ -505,7 +505,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is placeholder user' do - let(:responsible) { FactoryBot.build_stubbed(:placeholder_user) } + let(:responsible) { build_stubbed(:placeholder_user) } it_behaves_like 'has a titled link' do let(:link) { 'responsible' } @@ -515,7 +515,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'is deleted user' do - let(:responsible) { FactoryBot.build_stubbed(:deleted_user) } + let(:responsible) { build_stubbed(:deleted_user) } it_behaves_like 'has a titled link' do let(:link) { 'responsible' } @@ -551,7 +551,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'version set' do - let!(:version) { FactoryBot.create :version, project: project } + let!(:version) { create :version, project: project } before do work_package.version = version @@ -597,7 +597,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'category set' do - let!(:category) { FactoryBot.build_stubbed :category } + let!(:category) { build_stubbed :category } before do work_package.category = category @@ -720,7 +720,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'when the user is watching the work package' do - let(:watchers) { [FactoryBot.build_stubbed(:watcher, watchable: work_package, user: current_user)] } + let(:watchers) { [build_stubbed(:watcher, watchable: work_package, user: current_user)] } before do allow(work_package) @@ -860,9 +860,9 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end describe 'linked relations' do - let(:project) { FactoryBot.create(:project, public: false) } - let(:forbidden_project) { FactoryBot.create(:project, public: false) } - let(:user) { FactoryBot.create(:user, member_in_project: project) } + let(:project) { create(:project, public: false) } + let(:forbidden_project) { create(:project, public: false) } + let(:user) { create(:user, member_in_project: project) } before do login_as(user) @@ -871,14 +871,14 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'parent' do let(:visible_parent) do - FactoryBot.build_stubbed(:stubbed_work_package) do |wp| + build_stubbed(:stubbed_work_package) do |wp| allow(wp) .to receive(:visible?) .and_return(true) end end let(:invisible_parent) do - FactoryBot.build_stubbed(:stubbed_work_package) do |wp| + build_stubbed(:stubbed_work_package) do |wp| allow(wp) .to receive(:visible?) .and_return(false) @@ -911,9 +911,9 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'ancestors' do - let(:root) { FactoryBot.build_stubbed(:work_package, project: project) } + let(:root) { build_stubbed(:work_package, project: project) } let(:intermediate) do - FactoryBot.build_stubbed(:work_package, parent: root, project: project) + build_stubbed(:work_package, parent: root, project: project) end context 'when ancestors are visible' do @@ -944,9 +944,9 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end context 'children' do - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:work_package) { create(:work_package, project: project) } let!(:forbidden_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: forbidden_project, parent: work_package) end @@ -955,7 +955,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'visible and invisible children' do let!(:child) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: work_package) end @@ -1054,7 +1054,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end end context 'when admin' do - let(:current_user) { FactoryBot.build_stubbed :admin } + let(:current_user) { build_stubbed :admin } it_behaves_like 'has a titled link' do let(:link) { 'configureForm' } @@ -1066,7 +1066,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'customActions' do it 'has a collection of customActions' do - unassign_action = FactoryBot.build_stubbed(:custom_action, + unassign_action = build_stubbed(:custom_action, actions: [CustomActions::Actions::AssignedTo.new(value: nil)], name: 'Unassign') allow(work_package) @@ -1110,7 +1110,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'relations' do let(:relation) do - FactoryBot.build_stubbed(:relation, + build_stubbed(:relation, from: work_package) end @@ -1145,7 +1145,7 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do describe 'customActions' do it 'has an array of customActions' do - unassign_action = FactoryBot.build_stubbed(:custom_action, + unassign_action = build_stubbed(:custom_action, actions: [CustomActions::Actions::AssignedTo.new(value: nil)], name: 'Unassign') allow(work_package) @@ -1173,9 +1173,9 @@ describe ::API::V3::WorkPackages::WorkPackageRepresenter do end describe '#json_cache_key' do - let(:category) { FactoryBot.build_stubbed(:category) } - let(:assigned_to) { FactoryBot.build_stubbed(:user) } - let(:responsible) { FactoryBot.build_stubbed(:user) } + let(:category) { build_stubbed(:category) } + let(:assigned_to) { build_stubbed(:user) } + let(:responsible) { build_stubbed(:user) } before do work_package.category = category diff --git a/spec/lib/api/v3/work_packages/work_package_sums_representer_spec.rb b/spec/lib/api/v3/work_packages/work_package_sums_representer_spec.rb index 15a05d85f9d..ebc6a3d5341 100644 --- a/spec/lib/api/v3/work_packages/work_package_sums_representer_spec.rb +++ b/spec/lib/api/v3/work_packages/work_package_sums_representer_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::API::V3::WorkPackages::WorkPackageSumsRepresenter do - let(:custom_field) { FactoryBot.build_stubbed(:int_wp_custom_field, id: 1) } + let(:custom_field) { build_stubbed(:int_wp_custom_field, id: 1) } let(:sums) do double('sums', story_points: 5, @@ -42,7 +42,7 @@ describe ::API::V3::WorkPackages::WorkPackageSumsRepresenter do available_custom_fields: [custom_field]) end let(:schema) { double 'schema', available_custom_fields: [custom_field] } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:representer) do described_class.create_class(schema, current_user).new(sums) end diff --git a/spec/lib/custom_field_form_builder_spec.rb b/spec/lib/custom_field_form_builder_spec.rb index 25c24250c84..0c87e30f3b0 100644 --- a/spec/lib/custom_field_form_builder_spec.rb +++ b/spec/lib/custom_field_form_builder_spec.rb @@ -46,17 +46,17 @@ describe CustomFieldFormBuilder do let(:options) { { class: 'custom-class' } } let(:custom_field) do - FactoryBot.build_stubbed(:custom_field) + build_stubbed(:custom_field) end let(:custom_value) do - FactoryBot.build_stubbed(:custom_value, customized: resource, custom_field: custom_field) + build_stubbed(:custom_value, customized: resource, custom_field: custom_field) end let(:typed_value) do custom_value.typed_value end let(:resource) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end before do @@ -190,11 +190,11 @@ describe CustomFieldFormBuilder do context 'for a list custom field' do let(:custom_field) do - FactoryBot.build_stubbed(:list_wp_custom_field, + build_stubbed(:list_wp_custom_field, custom_options: [custom_option]) end let(:custom_option) do - FactoryBot.build_stubbed(:custom_option, value: 'my_option') + build_stubbed(:custom_option, value: 'my_option') end it_behaves_like 'wrapped in container', 'select-container' do @@ -248,9 +248,9 @@ describe CustomFieldFormBuilder do end context 'for a user custom field' do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } let(:resource) { project } @@ -304,9 +304,9 @@ describe CustomFieldFormBuilder do end context 'for a version custom field' do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:version1) { FactoryBot.build_stubbed(:version) } - let(:version2) { FactoryBot.build_stubbed(:version) } + let(:project) { build_stubbed(:project) } + let(:version1) { build_stubbed(:version) } + let(:version2) { build_stubbed(:version) } let(:resource) { project } diff --git a/spec/lib/journal_formatter/attachment_spec.rb b/spec/lib/journal_formatter/attachment_spec.rb index 857c9df3d84..182eaaf9a9f 100644 --- a/spec/lib/journal_formatter/attachment_spec.rb +++ b/spec/lib/journal_formatter/attachment_spec.rb @@ -46,9 +46,9 @@ describe OpenProject::JournalFormatter::Attachment do let(:journal) do OpenStruct.new(id: id) end - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:attachment) do - FactoryBot.create(:attachment, + create(:attachment, author: user) end let(:key) { "attachments_#{attachment.id}" } diff --git a/spec/lib/journal_formatter/custom_field_spec.rb b/spec/lib/journal_formatter/custom_field_spec.rb index c5099a9e21c..9406f65391d 100644 --- a/spec/lib/journal_formatter/custom_field_spec.rb +++ b/spec/lib/journal_formatter/custom_field_spec.rb @@ -39,7 +39,7 @@ describe OpenProject::JournalFormatter::CustomField do OpenStruct.new(id: id) end let(:custom_field) do - FactoryBot.build_stubbed(:work_package_custom_field).tap do |cf| + build_stubbed(:work_package_custom_field).tap do |cf| allow(CustomField) .to receive(:find_by) .with(id: cf.id) @@ -52,11 +52,11 @@ describe OpenProject::JournalFormatter::CustomField do end describe 'a multi-select user field' do - let(:user1) { FactoryBot.build_stubbed :user, firstname: 'Foo', lastname: 'Bar' } - let(:user2) { FactoryBot.build_stubbed :user, firstname: 'Bla', lastname: 'Blub' } + let(:user1) { build_stubbed :user, firstname: 'Foo', lastname: 'Bar' } + let(:user2) { build_stubbed :user, firstname: 'Bla', lastname: 'Blub' } let(:custom_field) do - FactoryBot.build_stubbed(:user_wp_custom_field).tap do |cf| + build_stubbed(:user_wp_custom_field).tap do |cf| allow(CustomField) .to receive(:find_by) .with(id: cf.id) @@ -243,7 +243,7 @@ describe OpenProject::JournalFormatter::CustomField do context 'for a multi list cf' do let(:custom_field) do - FactoryBot.build_stubbed(:list_wp_custom_field, multi_value: true).tap do |cf| + build_stubbed(:list_wp_custom_field, multi_value: true).tap do |cf| allow(CustomField) .to receive(:find_by) .with(id: cf.id) diff --git a/spec/lib/open_project/enterprise_spec.rb b/spec/lib/open_project/enterprise_spec.rb index 64ad0a09931..f7bd32754f8 100644 --- a/spec/lib/open_project/enterprise_spec.rb +++ b/spec/lib/open_project/enterprise_spec.rb @@ -35,7 +35,7 @@ describe OpenProject::Enterprise do let!(:system_user) { User.system } let!(:anonymous_user) { User.anonymous } let!(:deleted_user) { DeletedUser.first } # locked, not active - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let!(:placeholder_user) { create(:placeholder_user) } let(:user_limit) { 2 } @@ -48,7 +48,7 @@ describe OpenProject::Enterprise do describe "#user_limit_reached?" do context "with fewer active users than the limit allows" do before do - FactoryBot.create :user + create :user expect(User.active.count).to eq 1 # created user end @@ -63,7 +63,7 @@ describe OpenProject::Enterprise do let(:num_active_users) { 0 } before do - FactoryBot.create_list :user, num_active_users + create_list :user, num_active_users expect(User.active.count).to eq num_active_users end @@ -93,8 +93,8 @@ describe OpenProject::Enterprise do let(:num_invited_users) { 0 } before do - FactoryBot.create :user - FactoryBot.create_list :invited_user, num_invited_users + create :user + create_list :invited_user, num_invited_users expect(User.human.not_locked.count).to eq num_invited_users + 1 end @@ -119,8 +119,8 @@ describe OpenProject::Enterprise do context "with the number of active + invited users over the user limit" do before do - FactoryBot.create :user - FactoryBot.create_list :invited_user, user_limit + create :user + create_list :invited_user, user_limit end it "is true" do diff --git a/spec/lib/open_project/hook_spec.rb b/spec/lib/open_project/hook_spec.rb index f894b2a56a6..f94468e3914 100644 --- a/spec/lib/open_project/hook_spec.rb +++ b/spec/lib/open_project/hook_spec.rb @@ -242,12 +242,12 @@ describe OpenProject::Hook do Class.new(ApplicationController) end - let(:user) { FactoryBot.build_stubbed(:user) } - let(:author) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } + let(:author) { build_stubbed(:user) } let(:work_package) do - FactoryBot.build_stubbed(:work_package, - type: FactoryBot.build_stubbed(:type), - status: FactoryBot.build_stubbed(:status)).tap do |wp| + build_stubbed(:work_package, + type: build_stubbed(:type), + status: build_stubbed(:status)).tap do |wp| allow(wp) .to receive(:reload) diff --git a/spec/lib/open_project/omni_auth/authorization_spec.rb b/spec/lib/open_project/omni_auth/authorization_spec.rb index ed1247a7ce8..d0b56207cca 100644 --- a/spec/lib/open_project/omni_auth/authorization_spec.rb +++ b/spec/lib/open_project/omni_auth/authorization_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe OpenProject::OmniAuth::Authorization do describe '.after_login!' do let(:auth_hash) { Struct.new(:uid).new 'bar' } - let(:user) { FactoryBot.create :user, mail: 'foo@bar.de' } + let(:user) { create :user, mail: 'foo@bar.de' } let(:state) { Struct.new(:number, :user_email, :uid).new 0, nil, nil } let(:collector) { [] } let!(:existing_callbacks) { OpenProject::OmniAuth::Authorization.after_login_callbacks.dup } diff --git a/spec/lib/open_project/text_formatting/markdown/child_pages_macro_spec.rb b/spec/lib/open_project/text_formatting/markdown/child_pages_macro_spec.rb index dc49fc6eba2..e627dfca328 100644 --- a/spec/lib/open_project/text_formatting/markdown/child_pages_macro_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/child_pages_macro_spec.rb @@ -38,67 +38,67 @@ describe 'OpenProject child pages macro' do end let(:project) do - FactoryBot.create :valid_project, + create :valid_project, enabled_module_names: %w[wiki] end let(:member_project) do - FactoryBot.create :valid_project, + create :valid_project, identifier: 'member-project', enabled_module_names: %w[wiki] end let(:invisible_project) do - FactoryBot.create :valid_project, + create :valid_project, identifier: 'other-project', enabled_module_names: %w[wiki] end - let(:role) { FactoryBot.create(:role, permissions: [:view_wiki_pages]) } + let(:role) { create(:role, permissions: [:view_wiki_pages]) } let(:user) do - FactoryBot.create(:user, member_in_projects: [project, member_project], member_through_role: role) + create(:user, member_in_projects: [project, member_project], member_through_role: role) end let(:current_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Current page', wiki: project.wiki, - content: FactoryBot.build(:wiki_content, text: input) + content: build(:wiki_content, text: input) end let(:middle_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Node from same project', wiki: project.wiki, parent_id: current_page.id, - content: FactoryBot.build(:wiki_content, text: '# Node Page from same project') + content: build(:wiki_content, text: '# Node Page from same project') end let(:node_page_invisible_project) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Node page from invisible project', wiki: invisible_project.wiki, - content: FactoryBot.build(:wiki_content, text: '# Page from invisible project') + content: build(:wiki_content, text: '# Page from invisible project') end let(:leaf_page) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Leaf page from same project', parent_id: middle_page.id, wiki: project.wiki, - content: FactoryBot.build(:wiki_content, text: '# Leaf page from same project') + content: build(:wiki_content, text: '# Leaf page from same project') end let(:leaf_page_invisible_project) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Leaf page from invisible project', parent_id: node_page_invisible_project.id, wiki: invisible_project.wiki, - content: FactoryBot.build(:wiki_content, text: '# Leaf page from invisible project') + content: build(:wiki_content, text: '# Leaf page from invisible project') end let(:leaf_page_member_project) do - FactoryBot.create :wiki_page, + create :wiki_page, title: 'Leaf page from member project', wiki: member_project.wiki, - content: FactoryBot.build(:wiki_content, text: '# Leaf page from member project') + content: build(:wiki_content, text: '# Leaf page from member project') end before do diff --git a/spec/lib/open_project/text_formatting/markdown/images_spec.rb b/spec/lib/open_project/text_formatting/markdown/images_spec.rb index a6ef91a3adf..4cc538d3a27 100644 --- a/spec/lib/open_project/text_formatting/markdown/images_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/images_spec.rb @@ -40,7 +40,7 @@ describe OpenProject::TextFormatting, context 'inline linking attachments' do context 'work package with attachments' do let!(:work_package) do - FactoryBot.build_stubbed(:work_package).tap do |wp| + build_stubbed(:work_package).tap do |wp| allow(wp) .to receive(:attachments) .and_return attachments @@ -48,7 +48,7 @@ describe OpenProject::TextFormatting, end let(:attachments) { [inlinable, non_inlinable] } let!(:inlinable) do - FactoryBot.build_stubbed(:attached_picture) do |a| + build_stubbed(:attached_picture) do |a| allow(a) .to receive(:filename) .and_return('my-image.jpg') @@ -58,7 +58,7 @@ describe OpenProject::TextFormatting, end end let!(:non_inlinable) do - FactoryBot.build_stubbed(:attachment) do |a| + build_stubbed(:attachment) do |a| allow(a) .to receive(:filename) .and_return('whatever.pdf') diff --git a/spec/lib/open_project/text_formatting/markdown/in_tool_links_spec.rb b/spec/lib/open_project/text_formatting/markdown/in_tool_links_spec.rb index 0590752b15d..e5588f984ff 100644 --- a/spec/lib/open_project/text_formatting/markdown/in_tool_links_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/in_tool_links_spec.rb @@ -34,28 +34,28 @@ describe OpenProject::TextFormatting, include_context 'expected markdown modules' describe '.format_text' do - shared_let(:project) { FactoryBot.create :valid_project } + shared_let(:project) { create :valid_project } let(:identifier) { project.identifier } shared_let(:role) do - FactoryBot.create :role, + create :role, permissions: %i(view_work_packages edit_work_packages browse_repository view_changesets view_wiki_pages) end shared_let(:project_member) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end shared_let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, author: project_member, type: project.types.first end shared_let(:non_member) do - FactoryBot.create(:non_member) + create(:non_member) end before do @@ -65,16 +65,16 @@ describe OpenProject::TextFormatting, context 'Changeset links' do let(:repository) do - FactoryBot.build_stubbed :repository_subversion, + build_stubbed :repository_subversion, project: project end let(:changeset1) do - FactoryBot.build_stubbed :changeset, + build_stubbed :changeset, repository: repository, comments: 'My very first commit' end let(:changeset2) do - FactoryBot.build_stubbed :changeset, + build_stubbed :changeset, repository: repository, comments: 'This commit fixes #1, #2 and references #1 & #3' end @@ -129,7 +129,7 @@ describe OpenProject::TextFormatting, context 'Version link' do let!(:version) do - FactoryBot.create :version, + create :version, name: '1.0', project: project end @@ -176,10 +176,10 @@ describe OpenProject::TextFormatting, end context 'Message links' do - let(:forum) { FactoryBot.create :forum, project: project } - let(:message1) { FactoryBot.create :message, forum: forum } + let(:forum) { create :forum, project: project } + let(:message1) { create :message, forum: forum } let(:message2) do - FactoryBot.create :message, + create :message, forum: forum, parent: message1 end @@ -273,7 +273,7 @@ describe OpenProject::TextFormatting, context 'WP subject with escapable chars' do let(:work_package) do - FactoryBot.create :work_package, subject: "Title with \"quote\" and 'sòme 'chárs." + create :work_package, subject: "Title with \"quote\" and 'sòme 'chárs." end let(:work_package_link) do @@ -296,7 +296,7 @@ describe OpenProject::TextFormatting, end context 'Project links' do - let(:subproject) { FactoryBot.create :valid_project, parent: project, public: true } + let(:subproject) { create :valid_project, parent: project, public: true } let(:project_url) { project_overview_path(subproject) } context 'Plain project link' do @@ -329,26 +329,26 @@ describe OpenProject::TextFormatting, context 'Wiki links' do let(:project_2) do - FactoryBot.create :valid_project, + create :valid_project, identifier: 'onlinestore' end let(:wiki_1) do - FactoryBot.create :wiki, + create :wiki, start_page: 'CookBook documentation', project: project end let(:wiki_page_1_1) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, wiki: wiki_1, title: 'CookBook documentation' end let(:wiki_page_1_2) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, wiki: wiki_1, title: 'Another page' end let(:wiki_page_1_3) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, wiki: wiki_1, title: '' end @@ -356,7 +356,7 @@ describe OpenProject::TextFormatting, before do project_2.reload - wiki_page_2_1 = FactoryBot.create :wiki_page_with_content, + wiki_page_2_1 = create :wiki_page_with_content, wiki: project_2.wiki, title: 'Start Page' @@ -505,7 +505,7 @@ describe OpenProject::TextFormatting, context 'Redmine links' do let(:repository) do - FactoryBot.build_stubbed :repository_subversion, project: project + build_stubbed :repository_subversion, project: project end def source_url(**args) @@ -557,12 +557,12 @@ describe OpenProject::TextFormatting, context 'Pre content should not parse wiki and redmine links' do let(:wiki) do - FactoryBot.create :wiki, + create :wiki, start_page: 'CookBook documentation', project: project end let(:wiki_page) do - FactoryBot.create :wiki_page_with_content, + create :wiki_page_with_content, wiki: wiki, title: 'CookBook documentation' end diff --git a/spec/lib/open_project/text_formatting/markdown/include_wiki_page_macro_spec.rb b/spec/lib/open_project/text_formatting/markdown/include_wiki_page_macro_spec.rb index dfb1c50599b..ab2b01e5b7b 100644 --- a/spec/lib/open_project/text_formatting/markdown/include_wiki_page_macro_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/include_wiki_page_macro_spec.rb @@ -38,7 +38,7 @@ describe 'OpenProject include wiki page macro' do end let(:project) do - FactoryBot.build_stubbed :project + build_stubbed :project end let(:input) {} diff --git a/spec/lib/open_project/text_formatting/markdown/mentions_spec.rb b/spec/lib/open_project/text_formatting/markdown/mentions_spec.rb index 15f5ad6db78..e94674d6d1e 100644 --- a/spec/lib/open_project/text_formatting/markdown/mentions_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/mentions_spec.rb @@ -34,16 +34,16 @@ describe OpenProject::TextFormatting, include_context 'expected markdown modules' describe '.format_text' do - shared_let(:project) { FactoryBot.create :valid_project } + shared_let(:project) { create :valid_project } let(:identifier) { project.identifier } shared_let(:role) do - FactoryBot.create :role, + create :role, permissions: %i(view_work_packages edit_work_packages browse_repository view_changesets view_wiki_pages) end shared_let(:project_member) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end @@ -56,13 +56,13 @@ describe OpenProject::TextFormatting, context 'User links' do let(:role) do - FactoryBot.create :role, + create :role, permissions: %i[view_work_packages edit_work_packages browse_repository view_changesets view_wiki_pages] end let(:linked_project_member) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end @@ -141,7 +141,7 @@ describe OpenProject::TextFormatting, end context 'when linked user not visible for reader' do - let(:role) { FactoryBot.create(:non_member) } + let(:role) { create(:non_member) } it_behaves_like 'format_text produces' do let(:raw) do @@ -189,7 +189,7 @@ describe OpenProject::TextFormatting, context "with an email address as login name" do let(:linked_project_member) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role, login: "foo@bar.com" @@ -217,7 +217,7 @@ describe OpenProject::TextFormatting, end context 'when linked user not visible for reader' do - let(:role) { FactoryBot.create(:non_member) } + let(:role) { create(:non_member) } it_behaves_like 'format_text produces' do let(:raw) do @@ -260,15 +260,15 @@ describe OpenProject::TextFormatting, end context 'when visible user exists' do - let(:project) { FactoryBot.create :project } - let(:role) { FactoryBot.create(:role, permissions: %i(view_work_packages)) } + let(:project) { create :project } + let(:role) { create(:role, permissions: %i(view_work_packages)) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:user) do - FactoryBot.create(:user, + create(:user, login: 'foo@bar.com', firstname: 'Foo', lastname: 'Barrit', @@ -323,13 +323,13 @@ describe OpenProject::TextFormatting, context 'Group reference' do let(:role) do - FactoryBot.create :role, + create :role, permissions: [] end let(:linked_project_member_group) do - FactoryBot.create(:group).tap do |group| - FactoryBot.create(:member, + create(:group).tap do |group| + create(:member, principal: group, project: project, roles: [role]) diff --git a/spec/lib/open_project/text_formatting/markdown/work_package_buttons_macro_spec.rb b/spec/lib/open_project/text_formatting/markdown/work_package_buttons_macro_spec.rb index 0bfdea6dbdd..295107f9737 100644 --- a/spec/lib/open_project/text_formatting/markdown/work_package_buttons_macro_spec.rb +++ b/spec/lib/open_project/text_formatting/markdown/work_package_buttons_macro_spec.rb @@ -32,10 +32,10 @@ require_relative './expected_markdown' describe OpenProject::TextFormatting, 'work package button macro' do include_context 'expected markdown modules' - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:type) { FactoryBot.create :type, name: 'MyTaskName' } - let(:project) { FactoryBot.create :valid_project, identifier: 'my-project', name: 'My project name', types: [type] } + let(:type) { create :type, name: 'MyTaskName' } + let(:project) { create :valid_project, identifier: 'my-project', name: 'My project name', types: [type] } before do login_as admin diff --git a/spec/lib/redmine/i18n_spec.rb b/spec/lib/redmine/i18n_spec.rb index 38fa99ae436..77dea72ef13 100644 --- a/spec/lib/redmine/i18n_spec.rb +++ b/spec/lib/redmine/i18n_spec.rb @@ -33,7 +33,7 @@ module OpenProject include Redmine::I18n let(:format) { '%d/%m/%Y' } - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } after do Time.zone = nil diff --git a/spec/lib/reminders/due_issues_reminder_spec.rb b/spec/lib/reminders/due_issues_reminder_spec.rb index 67307edc806..cee3a69f189 100644 --- a/spec/lib/reminders/due_issues_reminder_spec.rb +++ b/spec/lib/reminders/due_issues_reminder_spec.rb @@ -41,8 +41,8 @@ describe OpenProject::Reminders::DueIssuesReminder do context 'with user_ids unset' do let(:user_ids) { nil } - let!(:user) { FactoryBot.create(:user, mail: 'foo@bar.de') } - let!(:wp) { FactoryBot.create(:work_package, due_date: Date.tomorrow, assigned_to: user, subject: 'some issue') } + let!(:user) { create(:user, mail: 'foo@bar.de') } + let!(:wp) { create(:work_package, due_date: Date.tomorrow, assigned_to: user, subject: 'some issue') } it 'does notify the user' do expect(subject.notify_count).to be >= 1 @@ -55,9 +55,9 @@ describe OpenProject::Reminders::DueIssuesReminder do end context 'with work package assigned to group' do - let!(:group) { FactoryBot.create(:group, lastname: "Managers", members: user) } + let!(:group) { create(:group, lastname: "Managers", members: user) } let!(:group_wp) do - FactoryBot.create(:work_package, due_date: Date.tomorrow, assigned_to: group, subject: 'some group issue') + create(:work_package, due_date: Date.tomorrow, assigned_to: group, subject: 'some group issue') end it 'notifies the user once for WPs assigned to him and another for those assigned to the group' do @@ -84,9 +84,9 @@ describe OpenProject::Reminders::DueIssuesReminder do end context 'with user_ids set' do - let!(:user) { FactoryBot.create(:user, mail: 'foo@bar.de') } - let!(:user2) { FactoryBot.create(:user, mail: 'foo@example.de') } - let!(:wp) { FactoryBot.create(:work_package, due_date: Date.tomorrow, assigned_to: user, subject: 'some issue') } + let!(:user) { create(:user, mail: 'foo@bar.de') } + let!(:user2) { create(:user, mail: 'foo@example.de') } + let!(:wp) { create(:work_package, due_date: Date.tomorrow, assigned_to: user, subject: 'some issue') } context 'to an unassigned user' do let(:user_ids) { [user2.id] } diff --git a/spec/lib/tabular_form_builder_spec.rb b/spec/lib/tabular_form_builder_spec.rb index bf7f168a9ac..e1f263c0056 100644 --- a/spec/lib/tabular_form_builder_spec.rb +++ b/spec/lib/tabular_form_builder_spec.rb @@ -35,7 +35,7 @@ describe TabularFormBuilder do let(:helper) { ActionView::Base.new(ActionView::LookupContext.new(''), {}, nil) } let(:resource) do - FactoryBot.build(:user, + build(:user, firstname: 'JJ', lastname: 'Abrams', login: 'lost', @@ -636,7 +636,7 @@ JJ Abrams context 'with ActiveModel and without specified label' do let(:resource) do - FactoryBot.build_stubbed(:user, + build_stubbed(:user, firstname: 'JJ', lastname: 'Abrams', login: 'lost', diff --git a/spec/mailers/announcement_mailer_spec.rb b/spec/mailers/announcement_mailer_spec.rb index 15ecff5a2fe..2be0a55897e 100644 --- a/spec/mailers/announcement_mailer_spec.rb +++ b/spec/mailers/announcement_mailer_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe AnnouncementMailer, type: :mailer do let(:announcement_subject) { 'Some subject' } - let(:recipient) { FactoryBot.build_stubbed(:user) } + let(:recipient) { build_stubbed(:user) } let(:announcement_body) { 'Some body text' } describe '#announce' do diff --git a/spec/mailers/digest_mailer_spec.rb b/spec/mailers/digest_mailer_spec.rb index c675b000ec1..6004e5c0b2e 100644 --- a/spec/mailers/digest_mailer_spec.rb +++ b/spec/mailers/digest_mailer_spec.rb @@ -37,21 +37,21 @@ describe DigestMailer, type: :mailer do include Redmine::I18n let(:recipient) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(User) .to receive(:find) .with(u.id) .and_return(u) end end - let(:project1) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } let(:work_package) do - FactoryBot.build_stubbed(:work_package, - type: FactoryBot.build_stubbed(:type)) + build_stubbed(:work_package, + type: build_stubbed(:type)) end let(:journal) do - FactoryBot.build_stubbed(:work_package_journal, + build_stubbed(:work_package_journal, notes: 'Some notes').tap do |j| allow(j) .to receive(:details) @@ -59,7 +59,7 @@ describe DigestMailer, type: :mailer do end end let(:notifications) do - [FactoryBot.build_stubbed(:notification, + [build_stubbed(:notification, resource: work_package, reason: :commented, journal: journal, diff --git a/spec/mailers/member_mailer_spec.rb b/spec/mailers/member_mailer_spec.rb index 196303e19ce..154262b0872 100644 --- a/spec/mailers/member_mailer_spec.rb +++ b/spec/mailers/member_mailer_spec.rb @@ -35,16 +35,16 @@ describe MemberMailer, type: :mailer do include ActionView::Helpers::UrlHelper include OpenProject::StaticRouting::UrlHelpers - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, principal: principal, project: project, roles: roles) end - let(:principal) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:roles) { [FactoryBot.build_stubbed(:role), FactoryBot.build_stubbed(:role)] } + let(:principal) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:roles) { [build_stubbed(:role), build_stubbed(:role)] } let(:message) { nil } around do |example| @@ -66,7 +66,7 @@ describe MemberMailer, type: :mailer do end shared_examples_for 'fails for a group' do - let(:principal) { FactoryBot.build_stubbed(:group) } + let(:principal) { build_stubbed(:group) } it 'raises an argument error' do # Calling .to in order to have the mail rendered @@ -76,7 +76,7 @@ describe MemberMailer, type: :mailer do end shared_examples_for "sends a mail to the member's principal" do - let(:principal) { FactoryBot.build_stubbed(:group) } + let(:principal) { build_stubbed(:group) } it 'raises an argument error' do # Calling .to in order to have the mail rendered diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index 62ea7459c1e..e5b15a88cb1 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -34,21 +34,21 @@ require_relative './shared_examples' describe UserMailer, type: :mailer do subject(:deliveries) { ActionMailer::Base.deliveries } - let(:type_standard) { FactoryBot.build_stubbed(:type_standard) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:type_standard) { build_stubbed(:type_standard) } + let(:user) { build_stubbed(:user) } let(:journal) do - FactoryBot.build_stubbed(:work_package_journal).tap do |j| + build_stubbed(:work_package_journal).tap do |j| allow(j) .to receive(:data) - .and_return(FactoryBot.build_stubbed(:journal_work_package_journal)) + .and_return(build_stubbed(:journal_work_package_journal)) end end let(:work_package) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, type: type_standard) end - let(:recipient) { FactoryBot.build_stubbed(:user) } + let(:recipient) { build_stubbed(:user) } let(:current_time) { Time.current } around do |example| @@ -93,7 +93,7 @@ describe UserMailer, type: :mailer do describe '#test_mail' do let(:test_email) { 'bob.bobbi@example.com' } - let(:recipient) { FactoryBot.build_stubbed(:user, firstname: 'Bob', lastname: 'Bobbi', mail: test_email) } + let(:recipient) { build_stubbed(:user, firstname: 'Bob', lastname: 'Bobbi', mail: test_email) } before do described_class.test_mail(recipient).deliver_now @@ -121,7 +121,7 @@ describe UserMailer, type: :mailer do end describe '#wiki_content_added' do - let(:wiki_content) { FactoryBot.create(:wiki_content) } + let(:wiki_content) { create(:wiki_content) } before do described_class.wiki_content_added(recipient, wiki_content).deliver_now @@ -131,7 +131,7 @@ describe UserMailer, type: :mailer do end describe '#wiki_content_updated' do - let(:wiki_content) { FactoryBot.create(:wiki_content) } + let(:wiki_content) { create(:wiki_content) } before do described_class.wiki_content_updated(recipient, wiki_content).deliver_now @@ -151,7 +151,7 @@ describe UserMailer, type: :mailer do context 'for a message without a parent' do let(:message) do - FactoryBot.build_stubbed(:message).tap do |msg| + build_stubbed(:message).tap do |msg| allow(msg) .to receive(:project) .and_return(msg.forum.project) @@ -179,11 +179,11 @@ describe UserMailer, type: :mailer do context 'for a message with a parent' do let(:parent) do - FactoryBot.build_stubbed(:message) + build_stubbed(:message) end let(:message) do - FactoryBot.build_stubbed(:message, parent: parent).tap do |msg| + build_stubbed(:message, parent: parent).tap do |msg| allow(msg) .to receive(:project) .and_return(msg.forum.project) @@ -221,7 +221,7 @@ describe UserMailer, type: :mailer do end describe '#news_added' do - let(:news) { FactoryBot.build_stubbed(:news) } + let(:news) { build_stubbed(:news) } before do described_class.news_added(recipient, news).deliver_now @@ -241,8 +241,8 @@ describe UserMailer, type: :mailer do end describe '#news_comment_added' do - let(:news) { FactoryBot.build_stubbed(:news) } - let(:comment) { FactoryBot.build_stubbed(:comment, commented: news) } + let(:news) { build_stubbed(:news) } + let(:comment) { build_stubbed(:comment, commented: news) } before do described_class.news_comment_added(recipient, comment).deliver_now @@ -258,7 +258,7 @@ describe UserMailer, type: :mailer do end describe '#password_lost' do - let(:token) { FactoryBot.build_stubbed(:recovery_token) } + let(:token) { build_stubbed(:recovery_token) } let(:recipient) { token.user } before do @@ -277,7 +277,7 @@ describe UserMailer, type: :mailer do end describe '#user_signed_up' do - let(:token) { FactoryBot.build_stubbed(:invitation_token) } + let(:token) { build_stubbed(:invitation_token) } let(:recipient) { token.user } before do @@ -304,7 +304,7 @@ describe UserMailer, type: :mailer do "en" => 'english header' } } do let(:recipient) do - FactoryBot.build_stubbed(:user, language: 'de') + build_stubbed(:user, language: 'de') end before do @@ -335,7 +335,7 @@ describe UserMailer, type: :mailer do "en" => 'english header' } } do let(:recipient) do - FactoryBot.build_stubbed(:user, language: '') + build_stubbed(:user, language: '') end before do diff --git a/spec/mailers/work_package_mailer_spec.rb b/spec/mailers/work_package_mailer_spec.rb index 55d5438b114..3a7c2521d0f 100644 --- a/spec/mailers/work_package_mailer_spec.rb +++ b/spec/mailers/work_package_mailer_spec.rb @@ -37,17 +37,17 @@ describe WorkPackageMailer, type: :mailer do include OpenProject::StaticRouting::UrlHelpers let(:work_package) do - FactoryBot.build_stubbed(:work_package, - type: FactoryBot.build_stubbed(:type_standard), + build_stubbed(:work_package, + type: build_stubbed(:type_standard), project: project, assigned_to: assignee) end - let(:project) { FactoryBot.build_stubbed(:project) } - let(:author) { FactoryBot.build_stubbed(:user) } - let(:recipient) { FactoryBot.build_stubbed(:user) } - let(:assignee) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:author) { build_stubbed(:user) } + let(:recipient) { build_stubbed(:user) } + let(:assignee) { build_stubbed(:user) } let(:journal) do - FactoryBot.build_stubbed(:work_package_journal, + build_stubbed(:work_package_journal, journable: work_package, user: author) end diff --git a/spec/models/activities/fetcher_integration_spec.rb b/spec/models/activities/fetcher_integration_spec.rb index 790fc524a82..b12109c2cb8 100644 --- a/spec/models/activities/fetcher_integration_spec.rb +++ b/spec/models/activities/fetcher_integration_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe Activities::Fetcher, 'integration', type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:permissions) { %i[view_work_packages view_time_entries view_changesets view_wiki_edits] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -45,17 +45,17 @@ describe Activities::Fetcher, 'integration', type: :model do describe '#events' do let(:event_user) { user } - let(:work_package) { FactoryBot.create(:work_package, project: project, author: event_user) } - let(:forum) { FactoryBot.create(:forum, project: project) } - let(:message) { FactoryBot.create(:message, forum: forum, author: event_user) } - let(:news) { FactoryBot.create(:news, project: project, author: event_user) } - let(:time_entry) { FactoryBot.create(:time_entry, project: project, work_package: work_package, user: event_user) } - let(:repository) { FactoryBot.create(:repository_subversion, project: project) } - let(:changeset) { FactoryBot.create(:changeset, committer: event_user.login, repository: repository) } - let(:wiki) { FactoryBot.create(:wiki, project: project) } + let(:work_package) { create(:work_package, project: project, author: event_user) } + let(:forum) { create(:forum, project: project) } + let(:message) { create(:message, forum: forum, author: event_user) } + let(:news) { create(:news, project: project, author: event_user) } + let(:time_entry) { create(:time_entry, project: project, work_package: work_package, user: event_user) } + let(:repository) { create(:repository_subversion, project: project) } + let(:changeset) { create(:changeset, committer: event_user.login, repository: repository) } + let(:wiki) { create(:wiki, project: project) } let(:wiki_page) do - content = FactoryBot.build(:wiki_content, page: nil, author: event_user, text: 'some text') - FactoryBot.create(:wiki_page, wiki: wiki, content: content) + content = build(:wiki_content, page: nil, author: event_user, text: 'some text') + create(:wiki_page, wiki: wiki, content: content) end subject { instance.events(Date.today - 30, Date.today + 1) } @@ -145,16 +145,16 @@ describe Activities::Fetcher, 'integration', type: :model do context 'activities in a subproject' do let(:subproject) do - FactoryBot.create(:project, parent: project).tap do + create(:project, parent: project).tap do project.reload end end - let(:subproject_news) { FactoryBot.create(:news, project: subproject) } + let(:subproject_news) { create(:news, project: subproject) } let(:subproject_member) do - FactoryBot.create(:member, + create(:member, user: user, project: subproject, - roles: [FactoryBot.create(:role, permissions: permissions)]) + roles: [create(:role, permissions: permissions)]) end let!(:activities) { [news, subproject_news] } @@ -220,7 +220,7 @@ describe Activities::Fetcher, 'integration', type: :model do end context 'for a different user' do - let(:other_user) { FactoryBot.create(:user) } + let(:other_user) { create(:user) } let(:options) { { author: other_user } } it 'does not return the events made by the non queried for user' do diff --git a/spec/models/activities/work_package_activity_provider_spec.rb b/spec/models/activities/work_package_activity_provider_spec.rb index 0375efa781f..1bb45a4af29 100644 --- a/spec/models/activities/work_package_activity_provider_spec.rb +++ b/spec/models/activities/work_package_activity_provider_spec.rb @@ -33,12 +33,12 @@ describe Activities::WorkPackageActivityProvider, type: :model do let(:work_package_edit_event) { 'work_package-edit' } let(:work_package_closed_event) { 'work_package-closed' } - let(:user) { FactoryBot.create :admin } - let(:role) { FactoryBot.create :role } - let(:status_closed) { FactoryBot.create :closed_status } + let(:user) { create :admin } + let(:role) { create :role } + let(:status_closed) { create :closed_status } let(:work_package) do User.execute_as(user) do - FactoryBot.create :work_package + create :work_package end end let!(:work_packages) { [work_package] } @@ -62,7 +62,7 @@ describe Activities::WorkPackageActivityProvider, type: :model do end context 'should be selected and ordered correctly' do - let!(:work_packages) { (1..5).map { (FactoryBot.create :work_package, author: user).id.to_s } } + let!(:work_packages) { (1..5).map { (create :work_package, author: user).id.to_s } } let(:subject) do Activities::WorkPackageActivityProvider @@ -97,38 +97,38 @@ describe Activities::WorkPackageActivityProvider, type: :model do end context 'for a non admin user' do - let(:project) { FactoryBot.create(:project) } - let(:child_project1) { FactoryBot.create(:project, parent: project) } - let(:child_project2) { FactoryBot.create(:project, parent: project) } - let(:child_project3) { FactoryBot.create(:project, parent: project) } - let(:child_project4) { FactoryBot.create(:project, parent: project, public: true) } + let(:project) { create(:project) } + let(:child_project1) { create(:project, parent: project) } + let(:child_project2) { create(:project, parent: project) } + let(:child_project3) { create(:project, parent: project) } + let(:child_project4) { create(:project, parent: project, public: true) } - let(:parent_work_package) { FactoryBot.create(:work_package, project: project) } - let(:child1_work_package) { FactoryBot.create(:work_package, project: child_project1) } - let(:child2_work_package) { FactoryBot.create(:work_package, project: child_project2) } - let(:child3_work_package) { FactoryBot.create(:work_package, project: child_project3) } - let(:child4_work_package) { FactoryBot.create(:work_package, project: child_project4) } + let(:parent_work_package) { create(:work_package, project: project) } + let(:child1_work_package) { create(:work_package, project: child_project1) } + let(:child2_work_package) { create(:work_package, project: child_project2) } + let(:child3_work_package) { create(:work_package, project: child_project3) } + let(:child4_work_package) { create(:work_package, project: child_project4) } let!(:work_packages) do [parent_work_package, child1_work_package, child2_work_package, child3_work_package, child4_work_package] end let(:user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:member, + create(:user).tap do |u| + create(:member, user: u, project: project, - roles: [FactoryBot.create(:role, permissions: [:view_work_packages])]) - FactoryBot.create(:member, + roles: [create(:role, permissions: [:view_work_packages])]) + create(:member, user: u, project: child_project1, - roles: [FactoryBot.create(:role, permissions: [:view_work_packages])]) - FactoryBot.create(:member, + roles: [create(:role, permissions: [:view_work_packages])]) + create(:member, user: u, project: child_project2, - roles: [FactoryBot.create(:role, permissions: [])]) + roles: [create(:role, permissions: [])]) - FactoryBot.create(:non_member, permissions: [:view_work_packages]) + create(:non_member, permissions: [:view_work_packages]) end end diff --git a/spec/models/announcement_spec.rb b/spec/models/announcement_spec.rb index 2d271db475d..fa902ea5d77 100644 --- a/spec/models/announcement_spec.rb +++ b/spec/models/announcement_spec.rb @@ -17,7 +17,7 @@ describe Announcement, type: :model do end context 'WHEN an announcement exists' do - let!(:announcement) { FactoryBot.create :announcement } + let!(:announcement) { create :announcement } it 'returns the true one announcement' do expect(Announcement.only_one).to eql announcement end @@ -26,7 +26,7 @@ describe Announcement, type: :model do describe '#active_and_current' do describe 'WHEN no announcement is active' do - let!(:announcement) { FactoryBot.create(:inactive_announcement) } + let!(:announcement) { create(:inactive_announcement) } it 'returns no announcement' do expect(Announcement.active_and_current).to be_nil @@ -35,7 +35,7 @@ describe Announcement, type: :model do describe 'WHEN the one announcement is active and today is before show_until' do let!(:announcement) do - FactoryBot.create(:active_announcement, show_until: Date.today + 14.days) + create(:active_announcement, show_until: Date.today + 14.days) end it 'returns that announcement' do @@ -45,7 +45,7 @@ describe Announcement, type: :model do describe 'WHEN the one announcement is active and today is after show_until' do let!(:announcement) do - FactoryBot.create(:active_announcement, show_until: Date.today - 14.days) + create(:active_announcement, show_until: Date.today - 14.days) end it 'returns no announcement' do @@ -55,7 +55,7 @@ describe Announcement, type: :model do describe 'WHEN the one announcement is active and today equals show_until' do let!(:announcement) do - FactoryBot.create(:active_announcement, show_until: Date.today) + create(:active_announcement, show_until: Date.today) end it 'returns that announcement' do expect(Announcement.active_and_current).to eql announcement @@ -66,14 +66,14 @@ describe Announcement, type: :model do describe 'instance methods' do describe '#active_and_current?' do describe 'WHEN the announcement is not active' do - let(:announcement) { FactoryBot.build(:inactive_announcement) } + let(:announcement) { build(:inactive_announcement) } it { expect(announcement.active_and_current?).to be_falsey } end describe 'WHEN the announcement is active and today is before show_until' do let(:announcement) do - FactoryBot.build(:active_announcement, show_until: Date.today + 14.days) + build(:active_announcement, show_until: Date.today + 14.days) end it { expect(announcement.active_and_current?).to be_truthy } @@ -81,7 +81,7 @@ describe Announcement, type: :model do describe 'WHEN the announcement is active and today is after show_until' do let!(:announcement) do - FactoryBot.create(:active_announcement, show_until: Date.today - 14.days) + create(:active_announcement, show_until: Date.today - 14.days) end it { expect(announcement.active_and_current?).to be_falsey } @@ -89,7 +89,7 @@ describe Announcement, type: :model do describe 'WHEN the announcement is active and today equals show_until' do let!(:announcement) do - FactoryBot.build(:active_announcement, show_until: Date.today) + build(:active_announcement, show_until: Date.today) end it { expect(announcement.active_and_current?).to be_truthy } diff --git a/spec/models/application_record_spec.rb b/spec/models/application_record_spec.rb index 4fffbcad06c..f43e1bca4f1 100644 --- a/spec/models/application_record_spec.rb +++ b/spec/models/application_record_spec.rb @@ -3,18 +3,18 @@ require 'spec_helper' describe ApplicationRecord, type: :model do describe '#most_recently_changed' do let!(:work_package) do - FactoryBot.create(:work_package).tap do |wp| + create(:work_package).tap do |wp| wp.update_column(:updated_at, 5.days.from_now) end end let!(:type) do - FactoryBot.create(:type).tap do |type| + create(:type).tap do |type| type.update_column(:updated_at, 1.days.from_now) end end - let!(:status) { FactoryBot.create :status } + let!(:status) { create :status } def expect_matched_date(postgres_time, rails_time) # Rails uses timestamp without timezone for timestamp columns diff --git a/spec/models/attachment_spec.rb b/spec/models/attachment_spec.rb index 07eb4e312bf..fcc10572ce8 100644 --- a/spec/models/attachment_spec.rb +++ b/spec/models/attachment_spec.rb @@ -28,17 +28,17 @@ require 'spec_helper' describe Attachment, type: :model do - let(:stubbed_author) { FactoryBot.build_stubbed(:user) } - let(:author) { FactoryBot.create :user } + let(:stubbed_author) { build_stubbed(:user) } + let(:author) { create :user } let(:long_description) { 'a' * 300 } - let(:work_package) { FactoryBot.create :work_package } - let(:stubbed_work_package) { FactoryBot.build_stubbed :stubbed_work_package } - let(:file) { FactoryBot.create :uploaded_jpg, name: 'test.jpg' } - let(:second_file) { FactoryBot.create :uploaded_jpg, name: 'test2.jpg' } + let(:work_package) { create :work_package } + let(:stubbed_work_package) { build_stubbed :stubbed_work_package } + let(:file) { create :uploaded_jpg, name: 'test.jpg' } + let(:second_file) { create :uploaded_jpg, name: 'test2.jpg' } let(:container) { stubbed_work_package } let(:attachment) do - FactoryBot.build( + build( :attachment, author: author, container: container, @@ -47,7 +47,7 @@ describe Attachment, type: :model do ) end let(:stubbed_attachment) do - FactoryBot.build_stubbed( + build_stubbed( :attachment, author: stubbed_author, container: container @@ -169,7 +169,7 @@ describe Attachment, type: :model do end describe 'two attachments with same file name' do - let(:second_file) { FactoryBot.create :uploaded_jpg, name: file.original_filename } + let(:second_file) { create :uploaded_jpg, name: file.original_filename } it 'does not interfere' do a1 = Attachment.create!(container: work_package, @@ -208,7 +208,7 @@ describe Attachment, type: :model do # FogAttachment class is defined and Fog is mocked. # rubocop:disable RSpec/MultipleMemoizedHelpers describe "#external_url", with_direct_uploads: true do - let(:author) { FactoryBot.create :user } + let(:author) { create :user } let(:image_path) { Rails.root.join("spec/fixtures/files/image.png") } let(:text_path) { Rails.root.join("spec/fixtures/files/testfile.txt") } @@ -305,7 +305,7 @@ describe Attachment, type: :model do describe 'full text extraction job on commit' do let(:created_attachment) do - FactoryBot.create(:attachment, + create(:attachment, author: author, container: container) end @@ -337,7 +337,7 @@ describe Attachment, type: :model do end context 'for a work package' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:container) { work_package } context 'on create' do @@ -350,7 +350,7 @@ describe Attachment, type: :model do end context 'for a wiki page' do - let(:wiki_page) { FactoryBot.create(:wiki_page) } + let(:wiki_page) { create(:wiki_page) } let(:container) { wiki_page } context 'on create' do diff --git a/spec/models/attribute_help_text/work_package_spec.rb b/spec/models/attribute_help_text/work_package_spec.rb index fd0445890ce..6ba82112f82 100644 --- a/spec/models/attribute_help_text/work_package_spec.rb +++ b/spec/models/attribute_help_text/work_package_spec.rb @@ -35,18 +35,18 @@ describe AttributeHelpText::WorkPackage, type: :model do # need to clear the cache to free the memoized # Type.translated_work_package_form_attributes Rails.cache.clear - FactoryBot.create(:work_package_help_text, attribute_name: "custom_field_#{custom_field.id}") + create(:work_package_help_text, attribute_name: "custom_field_#{custom_field.id}") end - let(:wp_custom_field) { FactoryBot.create :text_wp_custom_field } + let(:wp_custom_field) { create :text_wp_custom_field } let(:cf_instance) do create_cf_help_text(wp_custom_field) end it_behaves_like 'acts_as_attachable included' do - let(:model_instance) { FactoryBot.create(:work_package_help_text) } - let(:project) { FactoryBot.create(:project) } + let(:model_instance) { create(:work_package_help_text) } + let(:project) { create(:project) } end describe '.available_attributes' do @@ -58,7 +58,7 @@ describe AttributeHelpText::WorkPackage, type: :model do end describe '.used_attributes' do - let!(:instance) { FactoryBot.create :work_package_help_text } + let!(:instance) { create :work_package_help_text } subject { described_class.used_attributes instance.type } @@ -68,15 +68,15 @@ describe AttributeHelpText::WorkPackage, type: :model do end describe '.visible' do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:permission) { [] } - let(:static_instance) { FactoryBot.create :work_package_help_text, attribute_name: 'project' } + let(:static_instance) { create :work_package_help_text, attribute_name: 'project' } before do cf_instance @@ -87,7 +87,7 @@ describe AttributeHelpText::WorkPackage, type: :model do context 'user having no permission' do let(:user) do - FactoryBot.create(:user) + create(:user) end it 'returns the help text for the static attribute but not the one for the custom field' do @@ -108,13 +108,13 @@ describe AttributeHelpText::WorkPackage, type: :model do context 'user being member in a project with activated custom fields' do let(:permissions) { [] } let(:type) do - type = FactoryBot.create(:type) + type = create(:type) project.types << type type end let(:cf_instance_active) do - custom_field = FactoryBot.create(:text_wp_custom_field) + custom_field = create(:text_wp_custom_field) project.work_package_custom_fields << custom_field type.custom_fields << custom_field create_cf_help_text(custom_field) @@ -123,17 +123,17 @@ describe AttributeHelpText::WorkPackage, type: :model do cf_instance end let(:cf_instance_inactive_no_type) do - custom_field = FactoryBot.create(:text_wp_custom_field) + custom_field = create(:text_wp_custom_field) project.work_package_custom_fields << custom_field create_cf_help_text(custom_field) end let(:cf_instance_inactive_not_in_project) do - custom_field = FactoryBot.create(:text_wp_custom_field) + custom_field = create(:text_wp_custom_field) type.custom_fields << custom_field create_cf_help_text(custom_field) end let(:cf_instance_for_all) do - custom_field = FactoryBot.create(:text_wp_custom_field, is_for_all: true) + custom_field = create(:text_wp_custom_field, is_for_all: true) create_cf_help_text(custom_field) end @@ -197,7 +197,7 @@ describe AttributeHelpText::WorkPackage, type: :model do end describe 'instance' do - subject { FactoryBot.build :work_package_help_text } + subject { build :work_package_help_text } it 'provides a caption of its type' do expect(subject.attribute_scope).to eq 'WorkPackage' diff --git a/spec/models/capabilities/scopes/default_spec.rb b/spec/models/capabilities/scopes/default_spec.rb index 44ac5898218..f38021fec91 100644 --- a/spec/models/capabilities/scopes/default_spec.rb +++ b/spec/models/capabilities/scopes/default_spec.rb @@ -37,35 +37,35 @@ describe Capabilities::Scopes::Default, type: :model do let(:non_member_permissions) { %i[] } let(:project_public) { false } let(:project_active) { true } - let!(:project) { FactoryBot.create(:project, public: project_public, active: project_active) } + let!(:project) { create(:project, public: project_public, active: project_active) } let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let(:global_role) do - FactoryBot.create(:global_role, permissions: global_permissions) + create(:global_role, permissions: global_permissions) end let(:user_admin) { false } let(:user_status) { Principal.statuses[:active] } let(:current_user_admin) { true } - let!(:user) { FactoryBot.create(:user, admin: user_admin, status: user_status) } + let!(:user) { create(:user, admin: user_admin, status: user_status) } let(:global_member) do - FactoryBot.create(:global_member, + create(:global_member, principal: user, roles: [global_role]) end let(:member) do - FactoryBot.create(:member, + create(:member, principal: user, roles: [role], project: project) end let(:non_member_role) do - FactoryBot.create(:non_member, + create(:non_member, permissions: non_member_permissions) end - let(:own_role) { FactoryBot.create(:role, permissions: [] )} + let(:own_role) { create(:role, permissions: [] )} let(:own_member) do - FactoryBot.create(:member, + create(:member, principal: current_user, roles: [own_role], project: project) @@ -73,7 +73,7 @@ describe Capabilities::Scopes::Default, type: :model do let(:members) { [] } current_user do - FactoryBot.create(:user, admin: current_user_admin) + create(:user, admin: current_user_admin) end shared_examples_for 'consists of contract actions' do diff --git a/spec/models/category_spec.rb b/spec/models/category_spec.rb index 294b901adc5..3c0e75ec5e7 100644 --- a/spec/models/category_spec.rb +++ b/spec/models/category_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe Category, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:created_category) { FactoryBot.create(:category, project: project, assigned_to: assignee) } + let(:project) { create(:project) } + let(:created_category) { create(:category, project: project, assigned_to: assignee) } let(:assignee) { nil } describe '#create' do @@ -43,7 +43,7 @@ describe Category, type: :model do context 'with a group assignment' do let(:group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_with_permissions: []) end @@ -57,7 +57,7 @@ describe Category, type: :model do end describe '#destroy' do - let!(:work_package) { FactoryBot.create(:work_package, project: project, category: created_category) } + let!(:work_package) { create(:work_package, project: project, category: created_category) } it 'nullifies existing assignments to a work package' do created_category.destroy @@ -67,7 +67,7 @@ describe Category, type: :model do end it 'allows reassigning to a different category' do - other_category = FactoryBot.create(:category, project: project) + other_category = create(:category, project: project) created_category.destroy(other_category) diff --git a/spec/models/changeset_spec.rb b/spec/models/changeset_spec.rb index 58a683a9a5b..cead1eb3118 100644 --- a/spec/models/changeset_spec.rb +++ b/spec/models/changeset_spec.rb @@ -33,7 +33,7 @@ describe Changeset, type: :model do with_virtual_subversion_repository do let(:changeset) do - FactoryBot.build(:changeset, + build(:changeset, repository: repository, revision: '1', committer: email, @@ -83,7 +83,7 @@ describe Changeset, type: :model do let(:comment) { 'This is a looooooooooooooong comment' + (' ' * 80 + "\n") * 5 } with_virtual_subversion_repository do let(:changeset) do - FactoryBot.build(:changeset, + build(:changeset, repository: repository, revision: '1', committer: email, @@ -99,8 +99,8 @@ describe Changeset, type: :model do end describe 'mapping' do - let!(:user) { FactoryBot.create :user, login: 'jsmith', mail: 'jsmith@somenet.foo' } - let!(:repository) { FactoryBot.create(:repository_subversion) } + let!(:user) { create :user, login: 'jsmith', mail: 'jsmith@somenet.foo' } + let!(:repository) { create(:repository_subversion) } it 'should manual user mapping' do c = Changeset.create! repository: repository, @@ -149,21 +149,21 @@ describe Changeset, type: :model do commit_fix_keywords: 'fixes , closes', default_language: 'en' } do - let!(:user) { FactoryBot.create :admin, login: 'dlopper' } - let!(:open_status) { FactoryBot.create :status } - let!(:closed_status) { FactoryBot.create :closed_status } + let!(:user) { create :admin, login: 'dlopper' } + let!(:open_status) { create :status } + let!(:closed_status) { create :closed_status } - let!(:other_work_package) { FactoryBot.create :work_package, status: open_status } + let!(:other_work_package) { create :work_package, status: open_status } let(:comments) { "Some fix made, fixes ##{work_package.id} and fixes ##{other_work_package.id}" } with_virtual_subversion_repository do let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: repository.project, status: open_status end let(:changeset) do - FactoryBot.create(:changeset, + create(:changeset, repository: repository, revision: '123', committer: user.login, @@ -211,7 +211,7 @@ describe Changeset, type: :model do end describe 'with timelogs' do - let!(:activity) { FactoryBot.create :activity, is_default: true } + let!(:activity) { create :activity, is_default: true } before do repository.project.enabled_module_names += ['costs'] repository.project.save! @@ -261,7 +261,7 @@ describe Changeset, type: :model do end context 'with a second work package' do - let!(:work_package2) { FactoryBot.create :work_package, project: repository.project, status: open_status } + let!(:work_package2) { create :work_package, project: repository.project, status: open_status } it 'should ref keywords closing with timelog' do allow(Setting).to receive(:commit_fix_status_id).and_return closed_status.id allow(Setting).to receive(:commit_ref_keywords).and_return '*' @@ -315,8 +315,8 @@ describe Changeset, type: :model do end describe 'with work package in parent project' do - let(:parent) { FactoryBot.create :project } - let!(:work_package) { FactoryBot.create :work_package, project: parent, status: open_status } + let(:parent) { create :project } + let!(:work_package) { create :work_package, project: parent, status: open_status } before do repository.project.parent = parent @@ -340,8 +340,8 @@ describe Changeset, type: :model do end describe 'with work package in sub project' do - let(:sub) { FactoryBot.create :project } - let!(:work_package) { FactoryBot.create :work_package, project: sub, status: open_status } + let(:sub) { create :project } + let!(:work_package) { create :work_package, project: sub, status: open_status } before do sub.parent = repository.project @@ -380,7 +380,7 @@ describe Changeset, type: :model do end describe 'with user is committer' do - let!(:committer) { FactoryBot.create(:user, login: email) } + let!(:committer) { create(:user, login: email) } before do changeset.save! @@ -392,8 +392,8 @@ describe Changeset, type: :model do end describe 'current user is not committer' do - let(:current_user) { FactoryBot.create(:user) } - let!(:committer) { FactoryBot.create(:user, login: email) } + let(:current_user) { create(:user) } + let!(:committer) { create(:user, login: email) } before do allow(User).to receive(:current).and_return current_user diff --git a/spec/models/color_spec.rb b/spec/models/color_spec.rb index 87a2799b0c1..ba69397c75e 100644 --- a/spec/models/color_spec.rb +++ b/spec/models/color_spec.rb @@ -32,8 +32,8 @@ describe Color, type: :model do describe '- Relations ' do describe '#planning_element_types' do it 'can read planning_element_types w/ the help of the has_many association' do - color = FactoryBot.create(:color) - planning_element_type = FactoryBot.create(:type, + color = create(:color) + planning_element_type = create(:type, color_id: color.id) color.reload @@ -43,8 +43,8 @@ describe Color, type: :model do end it 'nullifies dependent planning_element_types' do - color = FactoryBot.create(:color) - planning_element_type = FactoryBot.create(:type, + color = create(:color) + planning_element_type = create(:type, color_id: color.id) color.reload diff --git a/spec/models/custom_action_spec.rb b/spec/models/custom_action_spec.rb index d037b1084e6..7276b414375 100644 --- a/spec/models/custom_action_spec.rb +++ b/spec/models/custom_action_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe CustomAction, type: :model do - let(:stubbed_instance) { FactoryBot.build_stubbed :custom_action } - let(:instance) { FactoryBot.create :custom_action, name: 'zzzzzzzzz' } - let(:other_instance) { FactoryBot.create :custom_action, name: 'aaaaa' } + let(:stubbed_instance) { build_stubbed :custom_action } + let(:instance) { create :custom_action, name: 'zzzzzzzzz' } + let(:other_instance) { create :custom_action, name: 'aaaaa' } describe '#name' do it 'can be set and read' do @@ -124,9 +124,9 @@ describe CustomAction, type: :model do end describe '.conditions' do - let(:status) { FactoryBot.create(:status) } - let(:role) { FactoryBot.create(:role) } - let(:project) { FactoryBot.create(:project) } + let(:status) { create(:status) } + let(:role) { create(:role) } + let(:project) { create(:project) } it 'is empty initially' do expect(stubbed_instance.conditions) diff --git a/spec/models/custom_actions/actions/assigned_to_spec.rb b/spec/models/custom_actions/actions/assigned_to_spec.rb index e2cc3e5f3ff..284f4d3068a 100644 --- a/spec/models/custom_actions/actions/assigned_to_spec.rb +++ b/spec/models/custom_actions/actions/assigned_to_spec.rb @@ -32,8 +32,8 @@ describe CustomActions::Actions::AssignedTo, type: :model do let(:key) { :assigned_to } let(:type) { :associated_property } let(:allowed_values) do - users = [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:group)] + users = [build_stubbed(:user), + build_stubbed(:group)] allow(Principal) .to receive_message_chain(:not_locked, :select, :ordered_by_name) .and_return(users) @@ -56,8 +56,8 @@ describe CustomActions::Actions::AssignedTo, type: :model do end describe 'current_user special value' do - let(:work_package) { FactoryBot.build_stubbed(:work_package) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:work_package) { build_stubbed(:work_package) } + let(:user) { build_stubbed(:user) } subject { described_class.new } before do diff --git a/spec/models/custom_actions/actions/custom_field_spec.rb b/spec/models/custom_actions/actions/custom_field_spec.rb index 8f9b20f9309..dbdea4c6984 100644 --- a/spec/models/custom_actions/actions/custom_field_spec.rb +++ b/spec/models/custom_actions/actions/custom_field_spec.rb @@ -30,39 +30,39 @@ require_relative '../shared_expectations' describe CustomActions::Actions::CustomField, type: :model do let(:list_custom_field) do - FactoryBot.build_stubbed(:list_wp_custom_field, - custom_options: [FactoryBot.build_stubbed(:custom_option, value: 'A'), - FactoryBot.build_stubbed(:custom_option, value: 'B')]) + build_stubbed(:list_wp_custom_field, + custom_options: [build_stubbed(:custom_option, value: 'A'), + build_stubbed(:custom_option, value: 'B')]) end let(:list_multi_custom_field) do - FactoryBot.build_stubbed(:list_wp_custom_field, - custom_options: [FactoryBot.build_stubbed(:custom_option, value: 'A'), - FactoryBot.build_stubbed(:custom_option, value: 'B')], + build_stubbed(:list_wp_custom_field, + custom_options: [build_stubbed(:custom_option, value: 'A'), + build_stubbed(:custom_option, value: 'B')], multi_value: true) end let(:version_custom_field) do - FactoryBot.build_stubbed(:version_wp_custom_field) + build_stubbed(:version_wp_custom_field) end let(:bool_custom_field) do - FactoryBot.build_stubbed(:bool_wp_custom_field) + build_stubbed(:bool_wp_custom_field) end let(:user_custom_field) do - FactoryBot.build_stubbed(:user_wp_custom_field) + build_stubbed(:user_wp_custom_field) end let(:int_custom_field) do - FactoryBot.build_stubbed(:int_wp_custom_field) + build_stubbed(:int_wp_custom_field) end let(:float_custom_field) do - FactoryBot.build_stubbed(:float_wp_custom_field) + build_stubbed(:float_wp_custom_field) end let(:text_custom_field) do - FactoryBot.build_stubbed(:text_wp_custom_field) + build_stubbed(:text_wp_custom_field) end let(:string_custom_field) do - FactoryBot.build_stubbed(:string_wp_custom_field) + build_stubbed(:string_wp_custom_field) end let(:date_custom_field) do - FactoryBot.build_stubbed(:date_wp_custom_field) + build_stubbed(:date_wp_custom_field) end let(:custom_field) do @@ -245,8 +245,8 @@ describe CustomActions::Actions::CustomField, type: :model do end describe 'current_user special value' do - let(:work_package) { FactoryBot.build_stubbed(:work_package) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:work_package) { build_stubbed(:work_package) } + let(:user) { build_stubbed(:user) } before do allow(work_package).to receive(:available_custom_fields).and_return([custom_field]) @@ -374,10 +374,10 @@ describe CustomActions::Actions::CustomField, type: :model do context 'for a version custom field' do let(:custom_field) { version_custom_field } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:a_version) { FactoryBot.build_stubbed(:version, name: 'aaaaa', project: project) } - let(:m_version) { FactoryBot.build_stubbed(:version, name: 'mmmmm', project: project) } - let(:z_version) { FactoryBot.build_stubbed(:version, name: 'zzzzz', project: project) } + let(:project) { build_stubbed(:project) } + let(:a_version) { build_stubbed(:version, name: 'aaaaa', project: project) } + let(:m_version) { build_stubbed(:version, name: 'mmmmm', project: project) } + let(:z_version) { build_stubbed(:version, name: 'zzzzz', project: project) } let(:versions) { [z_version, a_version, m_version] } before do @@ -414,9 +414,9 @@ describe CustomActions::Actions::CustomField, type: :model do context 'for a user custom field' do let(:custom_field) { user_custom_field } let(:users) do - [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:user)] + [build_stubbed(:user), + build_stubbed(:user), + build_stubbed(:user)] end before do @@ -490,9 +490,9 @@ describe CustomActions::Actions::CustomField, type: :model do context 'for a user custom field' do let(:custom_field) { user_custom_field } let(:users) do - [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:user)] + [build_stubbed(:user), + build_stubbed(:user), + build_stubbed(:user)] end before do @@ -512,11 +512,11 @@ describe CustomActions::Actions::CustomField, type: :model do context 'for a version custom field' do let(:custom_field) { version_custom_field } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:versions) do - [FactoryBot.build_stubbed(:version, project: project), - FactoryBot.build_stubbed(:version, project: project), - FactoryBot.build_stubbed(:version, project: project)] + [build_stubbed(:version, project: project), + build_stubbed(:version, project: project), + build_stubbed(:version, project: project)] end before do diff --git a/spec/models/custom_actions/actions/date_spec.rb b/spec/models/custom_actions/actions/date_spec.rb index c109604569c..25da427f99e 100644 --- a/spec/models/custom_actions/actions/date_spec.rb +++ b/spec/models/custom_actions/actions/date_spec.rb @@ -36,7 +36,7 @@ describe CustomActions::Actions::Date, type: :model do it_behaves_like 'base custom action' do describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'sets both start and finish date to the action\'s value' do instance.values = [Date.today + 5] diff --git a/spec/models/custom_actions/actions/done_ratio_spec.rb b/spec/models/custom_actions/actions/done_ratio_spec.rb index 9369f45872b..b8cfd59196f 100644 --- a/spec/models/custom_actions/actions/done_ratio_spec.rb +++ b/spec/models/custom_actions/actions/done_ratio_spec.rb @@ -35,7 +35,7 @@ describe CustomActions::Actions::DoneRatio, type: :model do it_behaves_like 'base custom action' do describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'sets the done_ratio to the action\'s value' do instance.values = [95] @@ -56,7 +56,7 @@ describe CustomActions::Actions::DoneRatio, type: :model do describe 'validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'is valid for values between 0 and 100' do diff --git a/spec/models/custom_actions/actions/estimated_hours_spec.rb b/spec/models/custom_actions/actions/estimated_hours_spec.rb index 1c73fa69325..3f4283692c7 100644 --- a/spec/models/custom_actions/actions/estimated_hours_spec.rb +++ b/spec/models/custom_actions/actions/estimated_hours_spec.rb @@ -36,7 +36,7 @@ describe CustomActions::Actions::EstimatedHours, type: :model do it_behaves_like 'base custom action' do describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'sets the done_ratio to the action\'s value' do instance.values = [95.56] @@ -57,7 +57,7 @@ describe CustomActions::Actions::EstimatedHours, type: :model do describe 'validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'is valid for values equal to or greater than 0' do diff --git a/spec/models/custom_actions/actions/notify_spec.rb b/spec/models/custom_actions/actions/notify_spec.rb index caeedf2b73f..6ac04da1aa1 100644 --- a/spec/models/custom_actions/actions/notify_spec.rb +++ b/spec/models/custom_actions/actions/notify_spec.rb @@ -32,8 +32,8 @@ describe CustomActions::Actions::Notify, type: :model do let(:key) { :notify } let(:type) { :associated_property } let(:allowed_values) do - users = [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:group)] + users = [build_stubbed(:user), + build_stubbed(:group)] allow(Principal) .to receive_message_chain(:not_locked, :select, :ordered_by_name) @@ -57,12 +57,12 @@ describe CustomActions::Actions::Notify, type: :model do it_behaves_like 'associated custom action validations' describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'adds a note with all values distinguised by type' do - principals = [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:group), - FactoryBot.build_stubbed(:user)] + principals = [build_stubbed(:user), + build_stubbed(:group), + build_stubbed(:user)] allow(Principal) .to receive_message_chain(:not_locked, :select, :ordered_by_name, :where) diff --git a/spec/models/custom_actions/actions/priority_spec.rb b/spec/models/custom_actions/actions/priority_spec.rb index cdbabfd9203..627e1c28492 100644 --- a/spec/models/custom_actions/actions/priority_spec.rb +++ b/spec/models/custom_actions/actions/priority_spec.rb @@ -32,8 +32,8 @@ describe CustomActions::Actions::Priority, type: :model do let(:key) { :priority } let(:type) { :associated_property } let(:allowed_values) do - priorities = [FactoryBot.build_stubbed(:issue_priority), - FactoryBot.build_stubbed(:issue_priority)] + priorities = [build_stubbed(:issue_priority), + build_stubbed(:issue_priority)] allow(IssuePriority) .to receive_message_chain(:select, :order) .and_return(priorities) diff --git a/spec/models/custom_actions/actions/project_spec.rb b/spec/models/custom_actions/actions/project_spec.rb index f4e0542630e..e116e73fd88 100644 --- a/spec/models/custom_actions/actions/project_spec.rb +++ b/spec/models/custom_actions/actions/project_spec.rb @@ -34,8 +34,8 @@ describe CustomActions::Actions::Project, type: :model do let(:priority) { 10 } let(:allowed_values) do - projects = [FactoryBot.build_stubbed(:project), - FactoryBot.build_stubbed(:project)] + projects = [build_stubbed(:project), + build_stubbed(:project)] allow(Project) .to receive_message_chain(:select, :order) .and_return(projects) diff --git a/spec/models/custom_actions/actions/responsible_spec.rb b/spec/models/custom_actions/actions/responsible_spec.rb index e720396ef25..7b47fc87cce 100644 --- a/spec/models/custom_actions/actions/responsible_spec.rb +++ b/spec/models/custom_actions/actions/responsible_spec.rb @@ -32,8 +32,8 @@ describe CustomActions::Actions::Responsible, type: :model do let(:key) { :responsible } let(:type) { :associated_property } let(:allowed_values) do - principals = [FactoryBot.build_stubbed(:user), - FactoryBot.build_stubbed(:group)] + principals = [build_stubbed(:user), + build_stubbed(:group)] allow(User) .to receive_message_chain(:not_locked, :select, :ordered_by_name) diff --git a/spec/models/custom_actions/actions/status_spec.rb b/spec/models/custom_actions/actions/status_spec.rb index 653995f1eaf..93b6a1f7b59 100644 --- a/spec/models/custom_actions/actions/status_spec.rb +++ b/spec/models/custom_actions/actions/status_spec.rb @@ -32,8 +32,8 @@ describe CustomActions::Actions::Status, type: :model do let(:key) { :status } let(:type) { :associated_property } let(:allowed_values) do - statuses = [FactoryBot.build_stubbed(:status), - FactoryBot.build_stubbed(:status)] + statuses = [build_stubbed(:status), + build_stubbed(:status)] allow(Status) .to receive_message_chain(:select, :order) .and_return(statuses) diff --git a/spec/models/custom_actions/actions/type_spec.rb b/spec/models/custom_actions/actions/type_spec.rb index 27badddeae2..62c60bd7689 100644 --- a/spec/models/custom_actions/actions/type_spec.rb +++ b/spec/models/custom_actions/actions/type_spec.rb @@ -33,8 +33,8 @@ describe CustomActions::Actions::Type, type: :model do let(:priority) { 20 } let(:type) { :associated_property } let(:allowed_values) do - types = [FactoryBot.build_stubbed(:type), - FactoryBot.build_stubbed(:type)] + types = [build_stubbed(:type), + build_stubbed(:type)] allow(Type) .to receive_message_chain(:select, :order) .and_return(types) diff --git a/spec/models/custom_actions/conditions/project_spec.rb b/spec/models/custom_actions/conditions/project_spec.rb index 0a2d2b9eff1..93c06ec2433 100644 --- a/spec/models/custom_actions/conditions/project_spec.rb +++ b/spec/models/custom_actions/conditions/project_spec.rb @@ -34,8 +34,8 @@ describe CustomActions::Conditions::Project, type: :model do describe '#allowed_values' do it 'is the list of all projects' do - projects = [FactoryBot.build_stubbed(:project), - FactoryBot.build_stubbed(:project)] + projects = [build_stubbed(:project), + build_stubbed(:project)] allow(Project) .to receive_message_chain(:active, :select, :order) .and_return(projects) diff --git a/spec/models/custom_actions/conditions/role_spec.rb b/spec/models/custom_actions/conditions/role_spec.rb index 60b6031540b..11a6568e72d 100644 --- a/spec/models/custom_actions/conditions/role_spec.rb +++ b/spec/models/custom_actions/conditions/role_spec.rb @@ -34,8 +34,8 @@ describe CustomActions::Conditions::Role, type: :model do describe '#allowed_values' do it 'is the list of all roles' do - roles = [FactoryBot.build_stubbed(:role), - FactoryBot.build_stubbed(:role)] + roles = [build_stubbed(:role), + build_stubbed(:role)] allow(Role) .to receive_message_chain(:givable, :select) diff --git a/spec/models/custom_actions/conditions/status_spec.rb b/spec/models/custom_actions/conditions/status_spec.rb index 383920c80ec..00bc34428d4 100644 --- a/spec/models/custom_actions/conditions/status_spec.rb +++ b/spec/models/custom_actions/conditions/status_spec.rb @@ -34,8 +34,8 @@ describe CustomActions::Conditions::Status, type: :model do describe '#allowed_values' do it 'is the list of all status' do - statuses = [FactoryBot.build_stubbed(:status), - FactoryBot.build_stubbed(:status)] + statuses = [build_stubbed(:status), + build_stubbed(:status)] allow(Status) .to receive_message_chain(:select, :order) .and_return(statuses) diff --git a/spec/models/custom_actions/conditions/type_spec.rb b/spec/models/custom_actions/conditions/type_spec.rb index b494170841a..df65a3ffdaa 100644 --- a/spec/models/custom_actions/conditions/type_spec.rb +++ b/spec/models/custom_actions/conditions/type_spec.rb @@ -34,8 +34,8 @@ describe CustomActions::Conditions::Type, type: :model do describe '#allowed_values' do it 'is the list of all types' do - types = [FactoryBot.build_stubbed(:type), - FactoryBot.build_stubbed(:type)] + types = [build_stubbed(:type), + build_stubbed(:type)] allow(Type) .to receive_message_chain(:select) .and_return(types) diff --git a/spec/models/custom_actions/shared_expectations.rb b/spec/models/custom_actions/shared_expectations.rb index f9f5b16901e..2d3e7d47ea4 100644 --- a/spec/models/custom_actions/shared_expectations.rb +++ b/spec/models/custom_actions/shared_expectations.rb @@ -125,7 +125,7 @@ end shared_examples_for 'associated custom action' do include_context 'custom actions action' do describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'sets the associated_id in the work package to the action\'s value' do expect(work_package) @@ -145,7 +145,7 @@ end shared_examples_for 'associated custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -192,7 +192,7 @@ end shared_examples_for 'bool custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -237,7 +237,7 @@ end shared_examples_for 'int custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -273,7 +273,7 @@ end shared_examples_for 'float custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -309,7 +309,7 @@ end shared_examples_for 'string custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -349,7 +349,7 @@ end shared_examples_for 'date custom action validations' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on actions if values is blank (depending on required?)' do @@ -494,7 +494,7 @@ shared_examples_for 'associated custom condition' do describe '#validate' do let(:errors) do - FactoryBot.build_stubbed(:custom_action).errors + build_stubbed(:custom_action).errors end it 'adds an error on conditions if values not from list of allowed values' do @@ -510,7 +510,7 @@ end shared_examples_for 'date custom action apply' do describe '#apply' do - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } it 'sets the daate to the action\'s value' do instance.values = [Date.today + 5.days] diff --git a/spec/models/custom_field_spec.rb b/spec/models/custom_field_spec.rb index 7644cbd6384..cec9bbefddf 100644 --- a/spec/models/custom_field_spec.rb +++ b/spec/models/custom_field_spec.rb @@ -33,8 +33,8 @@ describe CustomField, type: :model do CustomField.destroy_all end - let(:field) { FactoryBot.build :custom_field } - let(:field2) { FactoryBot.build :custom_field } + let(:field) { build :custom_field } + let(:field2) { build :custom_field } describe '#name' do it { is_expected.to validate_presence_of(:name) } @@ -177,7 +177,7 @@ describe CustomField, type: :model do end describe '#accessor_name' do - let(:field) { FactoryBot.build_stubbed :custom_field } + let(:field) { build_stubbed :custom_field } it 'is formatted as expected' do expect(field.accessor_name).to eql("custom_field_#{field.id}") @@ -185,9 +185,9 @@ describe CustomField, type: :model do end describe '#possible_values_options' do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } context 'for a user custom field' do before do @@ -228,8 +228,8 @@ describe CustomField, type: :model do end context 'for a list custom field' do - let(:option1) { FactoryBot.build_stubbed(:custom_option) } - let(:option2) { FactoryBot.build_stubbed(:custom_option) } + let(:option1) { build_stubbed(:custom_option) } + let(:option2) { build_stubbed(:custom_option) } before do field.field_format = 'list' @@ -245,7 +245,7 @@ describe CustomField, type: :model do end context 'for a version custom field' do - let(:versions) { [FactoryBot.build_stubbed(:version), FactoryBot.build_stubbed(:version)] } + let(:versions) { [build_stubbed(:version), build_stubbed(:version)] } before do field.field_format = 'version' @@ -263,7 +263,7 @@ describe CustomField, type: :model do end context 'with a time entry provided' do - let(:time_entry) { FactoryBot.build_stubbed(:time_entry, project: project) } + let(:time_entry) { build_stubbed(:time_entry, project: project) } it 'returns the project\'s shared_versions' do allow(project) @@ -328,9 +328,9 @@ describe CustomField, type: :model do end describe 'nested attributes for custom options' do - let(:option) { FactoryBot.build(:custom_option) } + let(:option) { build(:custom_option) } let(:options) { [option] } - let(:field) { FactoryBot.build :custom_field, field_format: 'list', custom_options: options } + let(:field) { build :custom_field, field_format: 'list', custom_options: options } before do field.save! @@ -367,7 +367,7 @@ describe CustomField, type: :model do describe '#multi_value_possible?' do context 'with a wp list cf' do - let(:field) { FactoryBot.build_stubbed :list_wp_custom_field } + let(:field) { build_stubbed :list_wp_custom_field } it 'is true' do expect(field) @@ -376,7 +376,7 @@ describe CustomField, type: :model do end context 'with a wp user cf' do - let(:field) { FactoryBot.build_stubbed :user_wp_custom_field } + let(:field) { build_stubbed :user_wp_custom_field } it 'is true' do expect(field) @@ -385,7 +385,7 @@ describe CustomField, type: :model do end context 'with a wp int cf' do - let(:field) { FactoryBot.build_stubbed :int_wp_custom_field } + let(:field) { build_stubbed :int_wp_custom_field } it 'is true' do expect(field) @@ -394,7 +394,7 @@ describe CustomField, type: :model do end context 'with a project list cf' do - let(:field) { FactoryBot.build_stubbed :list_project_custom_field } + let(:field) { build_stubbed :list_project_custom_field } it 'is true' do expect(field) @@ -403,7 +403,7 @@ describe CustomField, type: :model do end context 'with a project user cf' do - let(:field) { FactoryBot.build_stubbed :user_project_custom_field } + let(:field) { build_stubbed :user_project_custom_field } it 'is true' do expect(field) @@ -412,7 +412,7 @@ describe CustomField, type: :model do end context 'with a project int cf' do - let(:field) { FactoryBot.build_stubbed :int_project_custom_field } + let(:field) { build_stubbed :int_project_custom_field } it 'is true' do expect(field) @@ -421,7 +421,7 @@ describe CustomField, type: :model do end context 'with a time_entry user cf' do - let(:field) { FactoryBot.build_stubbed :time_entry_custom_field, field_format: 'user' } + let(:field) { build_stubbed :time_entry_custom_field, field_format: 'user' } it 'is true' do expect(field) @@ -430,7 +430,7 @@ describe CustomField, type: :model do end context 'with a time_entry list cf' do - let(:field) { FactoryBot.build_stubbed :time_entry_custom_field, field_format: 'list' } + let(:field) { build_stubbed :time_entry_custom_field, field_format: 'list' } it 'is true' do expect(field) diff --git a/spec/models/custom_option_spec.rb b/spec/models/custom_option_spec.rb index 4686142f08c..9c4e4aebb93 100644 --- a/spec/models/custom_option_spec.rb +++ b/spec/models/custom_option_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe CustomOption, type: :model do let(:custom_field) do - cf = FactoryBot.build(:wp_custom_field, field_format: 'list') + cf = build(:wp_custom_field, field_format: 'list') cf.custom_options.build(value: 'some value') cf @@ -54,7 +54,7 @@ describe CustomOption, type: :model do describe '.destroy' do context 'with more than one option for the cf' do before do - FactoryBot.create(:custom_option, custom_field: custom_field) + create(:custom_option, custom_field: custom_field) end it 'removes the option' do diff --git a/spec/models/custom_value/list_strategy_integration_spec.rb b/spec/models/custom_value/list_strategy_integration_spec.rb index 78f5edd8f92..bf458f05cef 100644 --- a/spec/models/custom_value/list_strategy_integration_spec.rb +++ b/spec/models/custom_value/list_strategy_integration_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe CustomValue::ListStrategy, 'integration tests' do - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type } + let(:project) { create :project, types: [type] } let!(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Invalid List CF", multi_value: true, @@ -43,7 +43,7 @@ describe CustomValue::ListStrategy, 'integration tests' do end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project, type: type, custom_values: { custom_field.id => custom_field.custom_options.find_by(value: 'A') } diff --git a/spec/models/custom_value/list_strategy_spec.rb b/spec/models/custom_value/list_strategy_spec.rb index b83a11d0924..e7eabfcaba5 100644 --- a/spec/models/custom_value/list_strategy_spec.rb +++ b/spec/models/custom_value/list_strategy_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe CustomValue::ListStrategy do let(:instance) { described_class.new(custom_value) } - let(:custom_field) { FactoryBot.create :list_wp_custom_field } + let(:custom_field) { create :list_wp_custom_field } let(:custom_value) do double("CustomField", value: value, custom_field: custom_field, customized: customized) end diff --git a/spec/models/custom_value/user_strategy_spec.rb b/spec/models/custom_value/user_strategy_spec.rb index d2229b62e37..9f3efb82fd3 100644 --- a/spec/models/custom_value/user_strategy_spec.rb +++ b/spec/models/custom_value/user_strategy_spec.rb @@ -37,8 +37,8 @@ describe CustomValue::UserStrategy do customized: customized) end let(:customized) { double('customized') } - let(:custom_field) { FactoryBot.build(:custom_field) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:custom_field) { build(:custom_field) } + let(:user) { build_stubbed(:user) } describe '#parse_value/#typed_value' do subject { instance } diff --git a/spec/models/custom_value/version_strategy_spec.rb b/spec/models/custom_value/version_strategy_spec.rb index 040da79c974..830c4c624a8 100644 --- a/spec/models/custom_value/version_strategy_spec.rb +++ b/spec/models/custom_value/version_strategy_spec.rb @@ -37,8 +37,8 @@ describe CustomValue::VersionStrategy do customized: customized) end let(:customized) { double('customized') } - let(:custom_field) { FactoryBot.build(:custom_field) } - let(:version) { FactoryBot.build_stubbed(:version) } + let(:custom_field) { build(:custom_field) } + let(:version) { build_stubbed(:version) } describe '#parse_value/#typed_value' do subject { instance } diff --git a/spec/models/custom_value_spec.rb b/spec/models/custom_value_spec.rb index 03742fb9b7a..d3cbd185002 100644 --- a/spec/models/custom_value_spec.rb +++ b/spec/models/custom_value_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe CustomValue do let(:format) { 'bool' } - let(:custom_field) { FactoryBot.create(:custom_field, field_format: format) } - let(:custom_value) { FactoryBot.create(:custom_value, custom_field: custom_field, value: value) } + let(:custom_field) { create(:custom_field, field_format: format) } + let(:custom_value) { create(:custom_value, custom_field: custom_field, value: value) } describe '#typed_value' do subject { custom_value } @@ -97,7 +97,7 @@ describe CustomValue do end describe 'trying to use a custom field that does not exist' do - subject { FactoryBot.build(:custom_value, custom_field_id: 123412341, value: 'my value') } + subject { build(:custom_value, custom_field_id: 123412341, value: 'my value') } it 'returns an empty placeholder' do expect(subject.custom_field).to be_nil @@ -108,7 +108,7 @@ describe CustomValue do end describe 'value/value=' do - let(:custom_value) { FactoryBot.build_stubbed(:custom_value) } + let(:custom_value) { build_stubbed(:custom_value) } let(:strategy_double) { double('strategy_double') } it 'calls the strategy for parsing and uses that value' do diff --git a/spec/models/deleted_user_spec.rb b/spec/models/deleted_user_spec.rb index 794c44615cd..64eb5791b0f 100644 --- a/spec/models/deleted_user_spec.rb +++ b/spec/models/deleted_user_spec.rb @@ -61,7 +61,7 @@ describe DeletedUser, type: :model do describe '#available_custom_fields' do before do - FactoryBot.create(:user_custom_field) + create(:user_custom_field) end it { expect(user.available_custom_fields).to eq([]) } @@ -69,8 +69,8 @@ describe DeletedUser, type: :model do describe '#create' do describe 'WHEN creating a second deleted user' do - let(:u1) { FactoryBot.build(:deleted_user) } - let(:u2) { FactoryBot.build(:deleted_user) } + let(:u1) { build(:deleted_user) } + let(:u2) { build(:deleted_user) } before do u1.save! @@ -93,7 +93,7 @@ describe DeletedUser, type: :model do describe '#first' do describe 'WHEN a deleted user already exists' do - let(:user) { FactoryBot.build(:deleted_user) } + let(:user) { build(:deleted_user) } before do user.save! diff --git a/spec/models/design_color_spec.rb b/spec/models/design_color_spec.rb index 15afb0fa947..9ec285c9f64 100644 --- a/spec/models/design_color_spec.rb +++ b/spec/models/design_color_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' RSpec.describe DesignColor, type: :model do let(:default_primary) { ::OpenProject::CustomStyles::Design.variables['primary-color'] } - let(:primary_color) { FactoryBot.create :"design_color_primary-color" } + let(:primary_color) { create :"design_color_primary-color" } describe "#setables" do it "returns an Array of instances" do diff --git a/spec/models/enabled_module_spec.rb b/spec/models/enabled_module_spec.rb index 42a22f87902..bf11a3f0c3a 100644 --- a/spec/models/enabled_module_spec.rb +++ b/spec/models/enabled_module_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe EnabledModule, type: :model do # Force reload, as association is not always(?) showing - let(:project) { FactoryBot.create(:project, enabled_module_names: modules).reload } + let(:project) { create(:project, enabled_module_names: modules).reload } describe '#wiki' do let(:modules) { %w[wiki] } @@ -82,7 +82,7 @@ describe EnabledModule, type: :model do end shared_examples 'does not create a repository when one exists' do - let!(:repository) { FactoryBot.create(:repository_git, project: project) } + let!(:repository) { create(:repository_git, project: project) } it 'should not create a separate repository when one exists already' do project.reload diff --git a/spec/models/forum_spec.rb b/spec/models/forum_spec.rb index c5a1b886e4d..f78104a33f5 100644 --- a/spec/models/forum_spec.rb +++ b/spec/models/forum_spec.rb @@ -32,13 +32,13 @@ require 'support/shared/acts_as_watchable' describe Forum, type: :model do it_behaves_like 'acts_as_watchable included' do - let(:model_instance) { FactoryBot.create(:forum) } + let(:model_instance) { create(:forum) } let(:watch_permission) { :view_messages } # view_messages is a public permission let(:project) { model_instance.project } end describe 'with forum present' do - let(:forum) { FactoryBot.build :forum, name: 'Test forum', description: 'Whatever' } + let(:forum) { build :forum, name: 'Test forum', description: 'Whatever' } it 'should create' do expect(forum.save).to be_truthy diff --git a/spec/models/group_performance_spec.rb b/spec/models/group_performance_spec.rb index ca41aa8d8dc..32615c1a0c5 100644 --- a/spec/models/group_performance_spec.rb +++ b/spec/models/group_performance_spec.rb @@ -32,12 +32,12 @@ require_relative '../support/shared/become_member' describe Group, type: :model do include BecomeMember - let(:user) { FactoryBot.build(:user) } - let(:status) { FactoryBot.create(:status) } - let(:role) { FactoryBot.create :role, permissions: [:view_work_packages] } + let(:user) { build(:user) } + let(:status) { create(:status) } + let(:role) { create :role, permissions: [:view_work_packages] } let(:projects) do - projects = FactoryBot.create_list :project_with_types, 20 + projects = create_list :project_with_types, 20 projects.each do |project| add_user_to_project! user: group, project: project, role: role @@ -48,7 +48,7 @@ describe Group, type: :model do let!(:work_packages) do projects.flat_map do |project| - work_packages = FactoryBot.create_list( + work_packages = create_list( :work_package, 1, type: project.types.first, @@ -64,8 +64,8 @@ describe Group, type: :model do end end - let(:users) { FactoryBot.create_list :user, 100 } - let(:group) { FactoryBot.build(:group, members: users) } + let(:users) { create_list :user, 100 } + let(:group) { build(:group, members: users) } describe '#destroy' do describe 'work packages assigned to the group' do diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 86adcc7891b..239fc939b04 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' require_relative '../support/shared/become_member' describe Group, type: :model do - let(:group) { FactoryBot.create(:group) } - let(:user) { FactoryBot.create(:user) } - let(:watcher) { FactoryBot.create :user } - let(:project) { FactoryBot.create(:project_with_types) } - let(:status) { FactoryBot.create(:status) } + let(:group) { create(:group) } + let(:user) { create(:user) } + let(:watcher) { create :user } + let(:project) { create(:project_with_types) } + let(:status) { create(:status) } let(:package) do - FactoryBot.build(:work_package, type: project.types.first, + build(:work_package, type: project.types.first, author: user, project: project, status: status) @@ -107,7 +107,7 @@ describe Group, type: :model do describe '#create' do describe 'group with empty group name' do - let(:group) { FactoryBot.build(:group, lastname: '') } + let(:group) { build(:group, lastname: '') } it { expect(group.valid?).to be_falsey } diff --git a/spec/models/issue_priority_spec.rb b/spec/models/issue_priority_spec.rb index 1f01aebc8f8..0d2bea40a92 100644 --- a/spec/models/issue_priority_spec.rb +++ b/spec/models/issue_priority_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe IssuePriority, type: :model do - let(:stubbed_priority) { FactoryBot.build_stubbed(:priority) } - let(:priority) { FactoryBot.create(:priority) } + let(:stubbed_priority) { build_stubbed(:priority) } + let(:priority) { create(:priority) } describe '.ancestors' do it 'is an enumeration' do @@ -41,8 +41,8 @@ describe IssuePriority, type: :model do end describe '#objects_count' do - let(:work_package1) { FactoryBot.create(:work_package, priority: priority) } - let(:work_package2) { FactoryBot.create(:work_package) } + let(:work_package1) { create(:work_package, priority: priority) } + let(:work_package2) { create(:work_package) } it 'counts the work packages having the priority' do expect(priority.objects_count) @@ -76,10 +76,10 @@ describe IssuePriority, type: :model do end describe '#transer_to' do - let(:new_priority) { FactoryBot.create(:priority) } - let(:work_package1) { FactoryBot.create(:work_package, priority: priority) } - let(:work_package2) { FactoryBot.create(:work_package) } - let(:work_package3) { FactoryBot.create(:work_package, priority: new_priority) } + let(:new_priority) { create(:priority) } + let(:work_package1) { create(:work_package, priority: priority) } + let(:work_package2) { create(:work_package) } + let(:work_package3) { create(:work_package, priority: new_priority) } it 'moves all work_packages to the designated priority' do work_package1 diff --git a/spec/models/journal_spec.rb b/spec/models/journal_spec.rb index 5ebf3655a48..b891e65e429 100644 --- a/spec/models/journal_spec.rb +++ b/spec/models/journal_spec.rb @@ -39,10 +39,10 @@ describe Journal, end describe '#notifications' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:journal) { work_package.journals.first } let!(:notification) do - FactoryBot.create(:notification, + create(:notification, journal: journal, resource: work_package, project: work_package.project) diff --git a/spec/models/ldap_auth_source_spec.rb b/spec/models/ldap_auth_source_spec.rb index cccf24d16aa..a60bb6825c4 100644 --- a/spec/models/ldap_auth_source_spec.rb +++ b/spec/models/ldap_auth_source_spec.rb @@ -68,7 +68,7 @@ describe LdapAuthSource, type: :model do # Ldap has three users aa729, bb459, cc414 let(:ldap) do - FactoryBot.create :ldap_auth_source, + create :ldap_auth_source, port: ParallelHelper.port_for_ldap.to_s, account: 'uid=admin,ou=system', account_password: 'secret', diff --git a/spec/models/mail_handler_spec.rb b/spec/models/mail_handler_spec.rb index 3fcb1932441..4a8ca2346d9 100644 --- a/spec/models/mail_handler_spec.rb +++ b/spec/models/mail_handler_spec.rb @@ -30,9 +30,9 @@ require 'spec_helper' describe MailHandler, type: :model do let(:anno_user) { User.anonymous } - let(:project) { FactoryBot.create(:valid_project, identifier: 'onlinestore', name: 'OnlineStore', public: false) } - let(:public_project) { FactoryBot.create(:valid_project, identifier: 'onlinestore', name: 'OnlineStore', public: true) } - let(:priority_low) { FactoryBot.create(:priority_low, is_default: true) } + let(:project) { create(:valid_project, identifier: 'onlinestore', name: 'OnlineStore', public: false) } + let(:public_project) { create(:valid_project, identifier: 'onlinestore', name: 'OnlineStore', public: true) } + let(:priority_low) { create(:priority_low, is_default: true) } before do # we need both of these run first so the anonymous user is created and @@ -49,7 +49,7 @@ describe MailHandler, type: :model do shared_context 'wp_on_given_project' do let(:permissions) { %i[add_work_packages assign_versions] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'JSmith@somenet.foo', firstname: 'John', lastname: 'Smith', @@ -66,7 +66,7 @@ describe MailHandler, type: :model do shared_context 'wp_on_given_project_case_insensitive' do let(:permissions) { %i[add_work_packages assign_versions] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'JSmith@somenet.foo', firstname: 'John', lastname: 'Smith', @@ -83,14 +83,14 @@ describe MailHandler, type: :model do shared_context 'with a reply to a wp mention with quotes above' do let(:permissions) { %i[edit_work_packages view_work_packages] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'JSmith@somenet.foo', member_in_project: project, member_with_permissions: permissions) end let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, id: 2, project: project).tap do |wp| wp.journals.last.update_column(:id, 891223) @@ -105,7 +105,7 @@ describe MailHandler, type: :model do shared_context 'with wp create with cc' do let(:permissions) { %i[add_work_packages view_work_packages add_work_package_watchers] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'JSmith@somenet.foo', firstname: 'John', lastname: 'Smith', @@ -113,7 +113,7 @@ describe MailHandler, type: :model do member_with_permissions: permissions) end let!(:cc_user) do - FactoryBot.create(:user, + create(:user, mail: 'dlopper@somenet.foo', firstname: 'D', lastname: 'Lopper', @@ -130,14 +130,14 @@ describe MailHandler, type: :model do shared_context 'with a reply to a wp mention' do let(:permissions) { %i[add_work_package_notes view_work_packages] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'j.doe@openproject.org', member_in_project: project, member_with_permissions: permissions) end let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Some subject of the bug', id: 39733, project: project).tap do |wp| @@ -153,17 +153,17 @@ describe MailHandler, type: :model do shared_context 'with a reply to a wp mention with attributes' do let(:permissions) { %i[add_work_package_notes view_work_packages edit_work_packages] } let(:role) do - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'j.doe@openproject.org', member_in_project: project, member_through_role: role) end let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Some subject of the bug', id: 39733, project: project, @@ -172,12 +172,12 @@ describe MailHandler, type: :model do end end let!(:original_status) do - FactoryBot.create(:default_status) + create(:default_status) end let!(:resolved_status) do - FactoryBot.create(:status, + create(:status, name: 'Resolved').tap do |status| - FactoryBot.create(:workflow, + create(:workflow, old_status: original_status, new_status: status, role: role, @@ -185,13 +185,13 @@ describe MailHandler, type: :model do end end let!(:other_user) do - FactoryBot.create(:user, + create(:user, mail: 'jsmith@somenet.foo', member_in_project: project, member_through_role: role) end let!(:float_cf) do - FactoryBot.create(:float_wp_custom_field, + create(:float_wp_custom_field, name: 'float field').tap do |cf| project.work_package_custom_fields << cf work_package.type.custom_fields << cf @@ -206,16 +206,16 @@ describe MailHandler, type: :model do shared_context 'with a reply to a message' do let(:permissions) { %i[view_messages add_messages] } let!(:user) do - FactoryBot.create(:user, + create(:user, mail: 'j.doe@openproject.org', member_in_project: project, member_with_permissions: permissions) end let!(:message) do - FactoryBot.create(:message, + create(:message, id: 70917, - forum: FactoryBot.create(:forum, project: project)).tap do |wp| + forum: create(:forum, project: project)).tap do |wp| wp.journals.last.update_column(:id, 99999999) end end @@ -248,8 +248,8 @@ describe MailHandler, type: :model do context 'when sending a mail not as a reply' do context 'in a given project' do - let!(:status) { FactoryBot.create(:status, name: 'Resolved') } - let!(:version) { FactoryBot.create(:version, name: 'alpha', project: project) } + let!(:status) { create(:status, name: 'Resolved') } + let!(:version) { create(:version, name: 'alpha', project: project) } include_context 'wp_on_given_project' do let(:submit_options) { { allow_override: 'version' } } @@ -330,7 +330,7 @@ describe MailHandler, type: :model do it 'sends notifications to watching users' do # User gets all updates - user = FactoryBot.create(:user, member_in_project: project, member_with_permissions: %i(view_work_packages)) + user = create(:user, member_in_project: project, member_with_permissions: %i(view_work_packages)) expect do perform_enqueued_jobs do @@ -342,7 +342,7 @@ describe MailHandler, type: :model do context 'in given project with a default type' do let(:default_type) do - FactoryBot.create(:type, is_default: true).tap do |t| + create(:type, is_default: true).tap do |t| project.types << t end end @@ -449,7 +449,7 @@ describe MailHandler, type: :model do end context 'wp with status' do - let!(:status) { FactoryBot.create(:status, name: 'Resolved') } + let!(:status) { create(:status, name: 'Resolved') } # This email contains: 'Project: onlinestore' and 'Status: Resolved' include_context 'wp_on_given_project' @@ -463,9 +463,9 @@ describe MailHandler, type: :model do end context 'wp with status case insensitive' do - let!(:status) { FactoryBot.create(:status, name: 'Resolved') } - let!(:priority_low) { FactoryBot.create(:priority_low, name: 'Low', is_default: true) } - let!(:version) { FactoryBot.create(:version, name: 'alpha', project: project) } + let!(:status) { create(:status, name: 'Resolved') } + let!(:priority_low) { create(:priority_low, name: 'Low', is_default: true) } + let!(:version) { create(:version, name: 'alpha', project: project) } # This email contains: 'Project: onlinestore' and 'Status: resolved' include_context 'wp_on_given_project_case_insensitive' @@ -492,8 +492,8 @@ describe MailHandler, type: :model do end context 'when sending a reply to work package mail' do - let!(:mail_user) { FactoryBot.create :admin, mail: 'user@example.org' } - let!(:work_package) { FactoryBot.create :work_package, project: project } + let!(:mail_user) { create :admin, mail: 'user@example.org' } + let!(:work_package) { create :work_package, project: project } before do # Avoid trying to extract text @@ -520,7 +520,7 @@ describe MailHandler, type: :model do end context 'with existing attachment' do - let!(:attachment) { FactoryBot.create(:attachment, container: work_package) } + let!(:attachment) { create(:attachment, container: work_package) } it 'does not replace it (Regression #29722)' do work_package.reload @@ -539,10 +539,10 @@ describe MailHandler, type: :model do it_behaves_like 'journal created' it 'sends notifications' do - assignee = FactoryBot.create(:user, + assignee = create(:user, member_in_project: project, member_with_permissions: %i(view_work_packages), - notification_settings: [FactoryBot.build(:notification_setting, involved: true)]) + notification_settings: [build(:notification_setting, involved: true)]) work_package.update_column(:assigned_to_id, assignee.id) @@ -616,8 +616,8 @@ describe MailHandler, type: :model do end context 'with a custom field' do - let(:work_package) { FactoryBot.create :work_package, project: project } - let(:type) { FactoryBot.create :type } + let(:work_package) { create :work_package, project: project } + let(:type) { create :type } before do type.custom_fields << custom_field @@ -630,7 +630,7 @@ describe MailHandler, type: :model do end context 'of type text' do - let(:custom_field) { FactoryBot.create :text_wp_custom_field, name: "Notes" } + let(:custom_field) { create :text_wp_custom_field, name: "Notes" } before do submit_email 'wp_reply_with_text_custom_field.eml', issue: { project: project.identifier } @@ -646,7 +646,7 @@ describe MailHandler, type: :model do end context 'of type list' do - let(:custom_field) { FactoryBot.create :list_wp_custom_field, name: "Letters", possible_values: %w(A B C) } + let(:custom_field) { create :list_wp_custom_field, name: "Letters", possible_values: %w(A B C) } before do submit_email 'wp_reply_with_list_custom_field.eml', issue: { project: project.identifier } @@ -767,7 +767,7 @@ describe MailHandler, type: :model do end describe 'category' do - let!(:category) { FactoryBot.create :category, project: project, name: 'Foobar' } + let!(:category) { create :category, project: project, name: 'Foobar' } it 'should add a work_package with category' do allow(Setting).to receive(:default_language).and_return('en') diff --git a/spec/models/member_spec.rb b/spec/models/member_spec.rb index 48d90bf626b..00e230ccc75 100644 --- a/spec/models/member_spec.rb +++ b/spec/models/member_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe Member, type: :model do - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role) } - let(:project) { FactoryBot.create(:project) } - let(:member) { FactoryBot.create(:member, user: user, roles: [role]) } - let(:new_member) { FactoryBot.build(:member, user: user, roles: [role], project: project) } + let(:user) { create(:user) } + let(:role) { create(:role) } + let(:project) { create(:project) } + let(:member) { create(:member, user: user, roles: [role]) } + let(:new_member) { build(:member, user: user, roles: [role], project: project) } describe '#project' do context 'with a project' do @@ -54,7 +54,7 @@ describe Member, type: :model do context 'without a project (global) but with a global membership already existing' do let(:project) { nil } - let!(:existing_member) { FactoryBot.create(:member, user: user, roles: [role], project: project) } + let!(:existing_member) { create(:member, user: user, roles: [role], project: project) } it 'is invalid' do expect(new_member) diff --git a/spec/models/members/scopes/not_locked_spec.rb b/spec/models/members/scopes/not_locked_spec.rb index ea43e118b70..8795f7bfa75 100644 --- a/spec/models/members/scopes/not_locked_spec.rb +++ b/spec/models/members/scopes/not_locked_spec.rb @@ -31,38 +31,38 @@ require 'spec_helper' describe Members::Scopes::NotLocked, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role) } + let(:project) { create(:project) } + let(:role) { create(:role) } let!(:invited_user_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [role], - principal: FactoryBot.create(:user, status: Principal.statuses[:invited])) + principal: create(:user, status: Principal.statuses[:invited])) end let!(:registered_user_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [role], - principal: FactoryBot.create(:user, status: Principal.statuses[:registered])) + principal: create(:user, status: Principal.statuses[:registered])) end let!(:locked_user_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [role], - principal: FactoryBot.create(:user, status: Principal.statuses[:locked])) + principal: create(:user, status: Principal.statuses[:locked])) end let!(:active_user_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [role], - principal: FactoryBot.create(:user, status: Principal.statuses[:active])) + principal: create(:user, status: Principal.statuses[:active])) end let!(:group_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [role], - principal: FactoryBot.create(:group)) + principal: create(:group)) end describe '.fetch' do diff --git a/spec/models/menu_item_spec.rb b/spec/models/menu_item_spec.rb index e8c8f7ed39d..fed6403f505 100644 --- a/spec/models/menu_item_spec.rb +++ b/spec/models/menu_item_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe MenuItem, type: :model do describe 'validations' do - let(:item) { FactoryBot.build :menu_item } + let(:item) { build :menu_item } it 'requires a title' do item.title = nil @@ -45,9 +45,9 @@ describe MenuItem, type: :model do end describe 'scoped uniqueness of title' do - let!(:item) { FactoryBot.create :menu_item } - let(:another_item) { FactoryBot.build :menu_item, title: item.title } - let(:wiki_menu_item) { FactoryBot.build :wiki_menu_item, title: item.title } + let!(:item) { create :menu_item } + let(:another_item) { build :menu_item, title: item.title } + let(:wiki_menu_item) { build :wiki_menu_item, title: item.title } it 'does not allow for duplicate titles' do expect(another_item).not_to be_valid @@ -61,8 +61,8 @@ describe MenuItem, type: :model do end context 'it should destroy' do - let!(:menu_item) { FactoryBot.create(:menu_item) } - let!(:child_item) { FactoryBot.create(:menu_item, parent_id: menu_item.id) } + let!(:menu_item) { create(:menu_item) } + let!(:child_item) { create(:menu_item, parent_id: menu_item.id) } example 'all children when deleting the parent' do menu_item.destroy diff --git a/spec/models/menu_items/wiki_menu_item_spec.rb b/spec/models/menu_items/wiki_menu_item_spec.rb index 87e1d3a7c14..d93f67d6ce5 100644 --- a/spec/models/menu_items/wiki_menu_item_spec.rb +++ b/spec/models/menu_items/wiki_menu_item_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe MenuItems::WikiMenuItem, type: :model do before(:each) do - @project = FactoryBot.create(:project, enabled_module_names: %w[activity]) - @current = FactoryBot.create(:user, login: 'user1', mail: 'user1@users.com') + @project = create(:project, enabled_module_names: %w[activity]) + @current = create(:user, login: 'user1', mail: 'user1@users.com') allow(User).to receive(:current).and_return(@current) end @@ -51,9 +51,9 @@ describe MenuItems::WikiMenuItem, type: :model do end it 'should change title when a wikipage is renamed' do - wikipage = FactoryBot.create(:wiki_page, title: 'Oldtitle') + wikipage = create(:wiki_page, title: 'Oldtitle') - menu_item_1 = FactoryBot.create(:wiki_menu_item, navigatable_id: wikipage.wiki.id, + menu_item_1 = create(:wiki_menu_item, navigatable_id: wikipage.wiki.id, title: 'Item 1', name: wikipage.slug) @@ -65,9 +65,9 @@ describe MenuItems::WikiMenuItem, type: :model do end it 'should not allow duplicate sibling entries' do - wikipage = FactoryBot.create(:wiki_page, title: 'Parent Page') + wikipage = create(:wiki_page, title: 'Parent Page') - parent = FactoryBot.create( + parent = create( :wiki_menu_item, navigatable_id: wikipage.wiki.id, title: 'Item 1', name: wikipage.slug ) child_1 = parent.children.create name: "child-1", title: "Child 1" @@ -82,11 +82,11 @@ describe MenuItems::WikiMenuItem, type: :model do @project.enabled_modules << EnabledModule.new(name: 'wiki') @project.reload - @menu_item_1 = FactoryBot.create(:wiki_menu_item, wiki: @project.wiki, + @menu_item_1 = create(:wiki_menu_item, wiki: @project.wiki, name: 'Item 1', title: 'Item 1') - @menu_item_2 = FactoryBot.create(:wiki_menu_item, wiki: @project.wiki, + @menu_item_2 = create(:wiki_menu_item, wiki: @project.wiki, name: 'Item 2', parent_id: @menu_item_1.id, title: 'Item 2') diff --git a/spec/models/messages/acts_as_journalized_spec.rb b/spec/models/messages/acts_as_journalized_spec.rb index 09c83dacee2..507ce4b6a22 100644 --- a/spec/models/messages/acts_as_journalized_spec.rb +++ b/spec/models/messages/acts_as_journalized_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe Message, 'acts_as_journalized', type: :model do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:user) } + let(:project) { create(:project) } let!(:forum) do - FactoryBot.create(:forum, + create(:forum, project: project) end - let(:attachment) { FactoryBot.create(:attachment, container: nil, author: user) } + let(:attachment) { create(:attachment, container: nil, author: user) } context 'on creation' do context 'attachments' do diff --git a/spec/models/messages_spec.rb b/spec/models/messages_spec.rb index 4a8582ca691..a7aa6d2ab36 100644 --- a/spec/models/messages_spec.rb +++ b/spec/models/messages_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' require 'support/shared/acts_as_watchable' describe Message, type: :model do - let(:message) { FactoryBot.create(:message) } + let(:message) { create(:message) } it_behaves_like 'acts_as_watchable included' do let(:model_instance) { message } @@ -40,7 +40,7 @@ describe Message, type: :model do end it_behaves_like 'acts_as_attachable included' do - let(:model_instance) { FactoryBot.create(:message) } + let(:model_instance) { create(:message) } end describe '#project' do @@ -50,9 +50,9 @@ describe Message, type: :model do end describe 'with forum' do - shared_let(:forum) { FactoryBot.create :forum } + shared_let(:forum) { create :forum } let(:message) do - FactoryBot.build(:message, forum: forum, subject: 'Test message', content: 'Test message content') + build(:message, forum: forum, subject: 'Test message', content: 'Test message content') end it 'should create' do @@ -71,9 +71,9 @@ describe Message, type: :model do end context 'with previous message' do - let(:topic) { FactoryBot.create :message } + let(:topic) { create :message } let(:reply) do - FactoryBot.create :message, forum: forum, subject: 'Test reply', parent: topic + create :message, forum: forum, subject: 'Test reply', parent: topic end it 'should reply' do @@ -97,9 +97,9 @@ describe Message, type: :model do end describe 'moving' do - let!(:forum1) { FactoryBot.create :forum } - let!(:forum2) { FactoryBot.create :forum } - let!(:message) { FactoryBot.create :message, forum: forum1 } + let!(:forum1) { create :forum } + let!(:forum2) { create :forum } + let!(:message) { create :message, forum: forum1 } it 'should moving message should update counters' do expect do @@ -136,7 +136,7 @@ describe Message, type: :model do describe 'with reply set' do let!(:reply) do - FactoryBot.create :message, forum: message.forum, parent: message + create :message, forum: message.forum, parent: message end it 'should destroy topic' do diff --git a/spec/models/news_spec.rb b/spec/models/news_spec.rb index 4ecf0f2dcc3..0a2acdf9b9e 100644 --- a/spec/models/news_spec.rb +++ b/spec/models/news_spec.rb @@ -36,17 +36,17 @@ describe News, type: :model do include BecomeMember let(:project) do - project = FactoryBot.create(:public_project) + project = create(:public_project) project.enabled_modules << EnabledModule.new(name: 'news') project.reload end - let!(:news) { FactoryBot.create(:news, project: project) } + let!(:news) { create(:news, project: project) } let(:permissions) { [] } - let(:role) { FactoryBot.build(:role, permissions: permissions) } + let(:role) { build(:role, permissions: permissions) } it_behaves_like 'acts_as_watchable included' do - let(:model_instance) { FactoryBot.create(:news) } + let(:model_instance) { create(:news) } let(:watch_permission) { :view_news } let(:project) { model_instance.project } end @@ -69,8 +69,8 @@ describe News, type: :model do end it 'only includes news elements from projects that are visible to the user' do - private_project = FactoryBot.create(:project, public: false) - FactoryBot.create(:news, project: private_project) + private_project = create(:project, public: false) + create(:news, project: private_project) latest_news = News.latest(user: User.anonymous) expect(latest_news).to match_array [news] @@ -80,7 +80,7 @@ describe News, type: :model do project_news.delete_all 10.times do - FactoryBot.create(:news, project: project) + create(:news, project: project) end expect(project_news.latest(user: User.current, count: 2).size).to eq(2) @@ -92,18 +92,18 @@ describe News, type: :model do project_news.delete_all 2.times do - FactoryBot.create(:news, project: project) + create(:news, project: project) end expect(project_news.latest.size).to eq(2) 3.times do - FactoryBot.create(:news, project: project) + create(:news, project: project) end expect(project_news.latest.size).to eq(5) 2.times do - FactoryBot.create(:news, project: project) + create(:news, project: project) end expect(project_news.latest.size).to eq(5) end @@ -111,13 +111,13 @@ describe News, type: :model do describe '#save' do it 'sends email notifications when created' do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) project.members.reload perform_enqueued_jobs do - FactoryBot.create(:news, project: project) + create(:news, project: project) end expect(ActionMailer::Base.deliveries.size).to eq(1) end @@ -126,7 +126,7 @@ describe News, type: :model do describe '#to_param' do it 'includes includes id and title for a nicer url' do title = 'OpenProject now has a Twitter Account' - news = FactoryBot.create(:news, title: title) + news = create(:news, title: title) slug = "#{news.id}-openproject-now-has-a-twitter-account" expect(news.to_param).to eq slug diff --git a/spec/models/notification_settings/scopes/applicable_spec.rb b/spec/models/notification_settings/scopes/applicable_spec.rb index 64a4a73a143..b40ec635c1f 100644 --- a/spec/models/notification_settings/scopes/applicable_spec.rb +++ b/spec/models/notification_settings/scopes/applicable_spec.rb @@ -33,17 +33,17 @@ describe NotificationSettings::Scopes::Applicable, type: :model do subject(:scope) { ::NotificationSetting.applicable(project) } let!(:user) do - FactoryBot.create(:user, + create(:user, notification_settings: notification_settings) end let!(:project) do - FactoryBot.create(:project) + create(:project) end context 'when only global settings exist' do let(:notification_settings) do [ - FactoryBot.build(:notification_setting, project: nil) + build(:notification_setting, project: nil) ] end @@ -56,12 +56,12 @@ describe NotificationSettings::Scopes::Applicable, type: :model do context 'when global and project settings exist' do let(:project_notification_settings) do [ - FactoryBot.build(:notification_setting, project: project) + build(:notification_setting, project: project) ] end let(:global_notification_settings) do [ - FactoryBot.build(:notification_setting) + build(:notification_setting) ] end let(:notification_settings) { project_notification_settings + global_notification_settings } @@ -73,15 +73,15 @@ describe NotificationSettings::Scopes::Applicable, type: :model do end context 'when global and project settings exist but for a different project' do - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let(:project_notification_settings) do [ - FactoryBot.build(:notification_setting, project: other_project) + build(:notification_setting, project: other_project) ] end let(:global_notification_settings) do [ - FactoryBot.build(:notification_setting) + build(:notification_setting) ] end let(:notification_settings) { project_notification_settings + global_notification_settings } diff --git a/spec/models/notification_spec.rb b/spec/models/notification_spec.rb index 0267cc393e7..2885849efc1 100644 --- a/spec/models/notification_spec.rb +++ b/spec/models/notification_spec.rb @@ -33,7 +33,7 @@ describe Notification, type: :model do describe '.save' do context 'for a non existing journal (e.g. because it has been deleted)' do - let(:notification) { FactoryBot.build(:notification) } + let(:notification) { build(:notification) } it 'raises an error' do notification.journal_id = 99999 diff --git a/spec/models/notifications/scopes/reminder_mail_unsent_spec.rb b/spec/models/notifications/scopes/reminder_mail_unsent_spec.rb index d7ebb805039..8f8795b9c8f 100644 --- a/spec/models/notifications/scopes/reminder_mail_unsent_spec.rb +++ b/spec/models/notifications/scopes/reminder_mail_unsent_spec.rb @@ -32,9 +32,9 @@ describe Notifications::Scopes::MailReminderUnsent, type: :model do describe '.unread_digest_mail' do subject(:scope) { ::Notification.mail_reminder_unsent } - let(:no_mail_notification) { FactoryBot.create(:notification, mail_reminder_sent: nil) } - let(:unread_mail_notification) { FactoryBot.create(:notification, mail_reminder_sent: false) } - let(:read_mail_notification) { FactoryBot.create(:notification, mail_reminder_sent: true) } + let(:no_mail_notification) { create(:notification, mail_reminder_sent: nil) } + let(:unread_mail_notification) { create(:notification, mail_reminder_sent: false) } + let(:read_mail_notification) { create(:notification, mail_reminder_sent: true) } before do no_mail_notification diff --git a/spec/models/notifications/scopes/unsent_reminders_before_spec.rb b/spec/models/notifications/scopes/unsent_reminders_before_spec.rb index ffd975f862f..fc37da0243d 100644 --- a/spec/models/notifications/scopes/unsent_reminders_before_spec.rb +++ b/spec/models/notifications/scopes/unsent_reminders_before_spec.rb @@ -33,14 +33,14 @@ describe Notifications::Scopes::UnsentRemindersBefore, type: :model do subject(:scope) { ::Notification.unsent_reminders_before(recipient: recipient, time: time) } let(:recipient) do - FactoryBot.create(:user) + create(:user) end let(:time) do Time.current end let(:notification) do - FactoryBot.create(:notification, + create(:notification, recipient: notification_recipient, read_ian: notification_read_ian, mail_reminder_sent: notification_mail_reminder_sent, @@ -74,7 +74,7 @@ describe Notifications::Scopes::UnsentRemindersBefore, type: :model do end context 'with a unread and not reminded notification that was created before the time and for different user' do - let(:notification_recipient) { FactoryBot.create(:user) } + let(:notification_recipient) { create(:user) } it_behaves_like 'is empty' end diff --git a/spec/models/notifications/scopes/visible_spec.rb b/spec/models/notifications/scopes/visible_spec.rb index 7debac97544..14affc0a146 100644 --- a/spec/models/notifications/scopes/visible_spec.rb +++ b/spec/models/notifications/scopes/visible_spec.rb @@ -33,21 +33,21 @@ describe Notifications::Scopes::Visible, type: :model do subject(:scope) { ::Notification.visible(user) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:notification) do - FactoryBot.create(:notification, + create(:notification, project: project, resource: work_package, recipient: notification_recipient) end let(:notification_recipient) { user } let(:permissions) { %i[view_work_packages] } - let(:project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let!(:notifications) { notification } @@ -72,7 +72,7 @@ describe Notifications::Scopes::Visible, type: :model do end context 'with the user not being recipient but being allowed to see the work package' do - let(:notification_recipient) { FactoryBot.create(:user) } + let(:notification_recipient) { create(:user) } it_behaves_like 'is empty' end diff --git a/spec/models/permitted_params_spec.rb b/spec/models/permitted_params_spec.rb index 28dd97bfdad..adfab76df54 100644 --- a/spec/models/permitted_params_spec.rb +++ b/spec/models/permitted_params_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe PermittedParams, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:admin) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:user) } + let(:admin) { build_stubbed(:admin) } shared_context 'prepare params comparison' do let(:params_key) { defined?(hash_key) ? hash_key : attribute } @@ -529,7 +529,7 @@ describe PermittedParams, type: :model do end context 'non-admin with global :manage_user permission' do - let(:user) { FactoryBot.create(:user, global_permission: :manage_user) } + let(:user) { create(:user, global_permission: :manage_user) } let(:hash) { Hash[all_permissions.zip(all_permissions)] } it 'permits default permissions and "login"' do diff --git a/spec/models/placeholder_users/placeholder_user_spec.rb b/spec/models/placeholder_users/placeholder_user_spec.rb index a647cfcf64b..107795af9c4 100644 --- a/spec/models/placeholder_users/placeholder_user_spec.rb +++ b/spec/models/placeholder_users/placeholder_user_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe PlaceholderUser, type: :model do - let(:placeholder_user) { FactoryBot.build(:placeholder_user) } + let(:placeholder_user) { build(:placeholder_user) } subject { placeholder_user } diff --git a/spec/models/placeholder_users/scopes/visible_spec.rb b/spec/models/placeholder_users/scopes/visible_spec.rb index 68b8aeebb06..823ec4335cc 100644 --- a/spec/models/placeholder_users/scopes/visible_spec.rb +++ b/spec/models/placeholder_users/scopes/visible_spec.rb @@ -32,17 +32,17 @@ require 'spec_helper' describe PlaceholderUsers::Scopes::Visible, type: :model do describe '.visible' do - shared_let(:project) { FactoryBot.create :project } - shared_let(:other_project) { FactoryBot.create :project } - shared_let(:role) { FactoryBot.create :role, permissions: %i[manage_members] } + shared_let(:project) { create :project } + shared_let(:other_project) { create :project } + shared_let(:role) { create :role, permissions: %i[manage_members] } - shared_let(:other_project_placeholder) { FactoryBot.create :placeholder_user, member_in_project: other_project, member_through_role: role } - shared_let(:global_placeholder) { FactoryBot.create :placeholder_user } + shared_let(:other_project_placeholder) { create :placeholder_user, member_in_project: other_project, member_through_role: role } + shared_let(:global_placeholder) { create :placeholder_user } subject { ::PlaceholderUser.visible.to_a } context 'when user has manage_members permission' do - current_user { FactoryBot.create :user, member_in_project: project, member_through_role: role } + current_user { create :user, member_in_project: project, member_through_role: role } it 'sees all users' do expect(subject).to match_array [other_project_placeholder, global_placeholder] @@ -50,7 +50,7 @@ describe PlaceholderUsers::Scopes::Visible, type: :model do end context 'when user has no manage_members permission, but it is in other project' do - current_user { FactoryBot.create :user, member_in_project: other_project, member_with_permissions: %i[view_work_packages] } + current_user { create :user, member_in_project: other_project, member_with_permissions: %i[view_work_packages] } it 'sees the other user in the same project' do expect(subject).to match_array [other_project_placeholder] @@ -58,7 +58,7 @@ describe PlaceholderUsers::Scopes::Visible, type: :model do end context 'when user has no permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'sees nothing' do expect(subject).to match_array [] diff --git a/spec/models/principal_spec.rb b/spec/models/principal_spec.rb index 523de9eb467..789fb545485 100644 --- a/spec/models/principal_spec.rb +++ b/spec/models/principal_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe Principal, type: :model do - let(:user) { FactoryBot.build(:user) } - let(:group) { FactoryBot.build(:group) } + let(:user) { build(:user) } + let(:group) { build(:group) } def self.should_return_groups_and_users_if_active(method, *params) it 'should return a user' do diff --git a/spec/models/principals/scopes/human_spec.rb b/spec/models/principals/scopes/human_spec.rb index 19a6f87ffbf..5cdc9a4ae57 100644 --- a/spec/models/principals/scopes/human_spec.rb +++ b/spec/models/principals/scopes/human_spec.rb @@ -32,12 +32,12 @@ require 'spec_helper' describe Principals::Scopes::Human, type: :model do describe '.human' do - let!(:anonymous_user) { FactoryBot.create(:anonymous) } - let!(:system_user) { FactoryBot.create(:system) } - let!(:deleted_user) { FactoryBot.create(:deleted_user) } - let!(:group) { FactoryBot.create(:group) } - let!(:user) { FactoryBot.create(:user) } - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let!(:anonymous_user) { create(:anonymous) } + let!(:system_user) { create(:system) } + let!(:deleted_user) { create(:deleted_user) } + let!(:group) { create(:group) } + let!(:user) { create(:user) } + let!(:placeholder_user) { create(:placeholder_user) } subject { Principal.human } diff --git a/spec/models/principals/scopes/like_spec.rb b/spec/models/principals/scopes/like_spec.rb index e77a6bd7738..d0ec603a84a 100644 --- a/spec/models/principals/scopes/like_spec.rb +++ b/spec/models/principals/scopes/like_spec.rb @@ -33,28 +33,28 @@ require 'spec_helper' describe Principals::Scopes::Like, type: :model do describe '.like' do let!(:login) do - FactoryBot.create(:principal, login: 'login') + create(:principal, login: 'login') end let!(:login2) do - FactoryBot.create(:principal, login: 'login2') + create(:principal, login: 'login2') end let!(:firstname) do - FactoryBot.create(:principal, firstname: 'firstname') + create(:principal, firstname: 'firstname') end let!(:firstname2) do - FactoryBot.create(:principal, firstname: 'firstname2') + create(:principal, firstname: 'firstname2') end let!(:lastname) do - FactoryBot.create(:principal, lastname: 'lastname') + create(:principal, lastname: 'lastname') end let!(:lastname2) do - FactoryBot.create(:principal, lastname: 'lastname2') + create(:principal, lastname: 'lastname2') end let!(:mail) do - FactoryBot.create(:principal, mail: 'mail@example.com') + create(:principal, mail: 'mail@example.com') end let!(:mail2) do - FactoryBot.create(:principal, mail: 'mail2@example.com') + create(:principal, mail: 'mail2@example.com') end it 'finds by login' do diff --git a/spec/models/principals/scopes/not_builtin_spec.rb b/spec/models/principals/scopes/not_builtin_spec.rb index d72cea99244..dc52141c3a6 100644 --- a/spec/models/principals/scopes/not_builtin_spec.rb +++ b/spec/models/principals/scopes/not_builtin_spec.rb @@ -32,12 +32,12 @@ require 'spec_helper' describe Principals::Scopes::NotBuiltin, type: :model do describe '.not_builtin' do - let!(:anonymous_user) { FactoryBot.create(:anonymous) } - let!(:system_user) { FactoryBot.create(:system) } - let!(:deleted_user) { FactoryBot.create(:deleted_user) } - let!(:group) { FactoryBot.create(:group) } - let!(:user) { FactoryBot.create(:user) } - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let!(:anonymous_user) { create(:anonymous) } + let!(:system_user) { create(:system) } + let!(:deleted_user) { create(:deleted_user) } + let!(:group) { create(:group) } + let!(:user) { create(:user) } + let!(:placeholder_user) { create(:placeholder_user) } subject { Principal.not_builtin } diff --git a/spec/models/principals/scopes/ordered_by_name_spec.rb b/spec/models/principals/scopes/ordered_by_name_spec.rb index dfe2ef2011d..3febb0978a5 100644 --- a/spec/models/principals/scopes/ordered_by_name_spec.rb +++ b/spec/models/principals/scopes/ordered_by_name_spec.rb @@ -32,11 +32,11 @@ require 'spec_helper' describe Principals::Scopes::OrderedByName, type: :model do describe '.ordered_by_name' do - shared_let(:alice) { FactoryBot.create(:user, login: 'alice', firstname: 'Alice', lastname: 'Zetop') } - shared_let(:eve) { FactoryBot.create(:user, login: 'eve', firstname: 'Eve', lastname: 'Baddie') } + shared_let(:alice) { create(:user, login: 'alice', firstname: 'Alice', lastname: 'Zetop') } + shared_let(:eve) { create(:user, login: 'eve', firstname: 'Eve', lastname: 'Baddie') } - shared_let(:group) { FactoryBot.create(:group, name: 'Core Team') } - shared_let(:placeholder_user) { FactoryBot.create(:placeholder_user, name: 'Developers') } + shared_let(:group) { create(:group, name: 'Core Team') } + shared_let(:placeholder_user) { create(:placeholder_user, name: 'Developers') } subject { Principal.ordered_by_name(desc: descending).pluck(:id) } diff --git a/spec/models/principals/scopes/possible_assignee_spec.rb b/spec/models/principals/scopes/possible_assignee_spec.rb index 883fef410bc..ea921bfc896 100644 --- a/spec/models/principals/scopes/possible_assignee_spec.rb +++ b/spec/models/principals/scopes/possible_assignee_spec.rb @@ -31,29 +31,29 @@ require 'spec_helper' describe Principals::Scopes::PossibleAssignee, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:other_project) { FactoryBot.create(:project) } + let(:project) { create(:project) } + let(:other_project) { create(:project) } let(:role_assignable) { true } - let(:role) { FactoryBot.create(:role, assignable: role_assignable) } + let(:role) { create(:role, assignable: role_assignable) } let(:user_status) { :active } let!(:member_user) do - FactoryBot.create(:user, + create(:user, status: user_status, member_in_project: project, member_through_role: role) end let!(:member_placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role) end let!(:member_group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_through_role: role) end let!(:other_project_member_user) do - FactoryBot.create(:group, + create(:group, member_in_project: other_project, member_through_role: role) end diff --git a/spec/models/principals/scopes/possible_member_spec.rb b/spec/models/principals/scopes/possible_member_spec.rb index 2fbb967a682..cb2842176f7 100644 --- a/spec/models/principals/scopes/possible_member_spec.rb +++ b/spec/models/principals/scopes/possible_member_spec.rb @@ -31,27 +31,27 @@ require 'spec_helper' describe Principals::Scopes::PossibleMember, type: :model do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role) } - let!(:active_user) { FactoryBot.create(:user) } - let!(:locked_user) { FactoryBot.create(:user, status: :locked) } - let!(:registered_user) { FactoryBot.create(:user, status: :registered) } - let!(:invited_user) { FactoryBot.create(:user, status: :invited) } - let!(:anonymous_user) { FactoryBot.create(:anonymous) } - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } - let!(:group) { FactoryBot.create(:group) } + let(:project) { create(:project) } + let(:role) { create(:role) } + let!(:active_user) { create(:user) } + let!(:locked_user) { create(:user, status: :locked) } + let!(:registered_user) { create(:user, status: :registered) } + let!(:invited_user) { create(:user, status: :invited) } + let!(:anonymous_user) { create(:anonymous) } + let!(:placeholder_user) { create(:placeholder_user) } + let!(:group) { create(:group) } let!(:member_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let!(:member_placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role) end let!(:member_group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_through_role: role) end diff --git a/spec/models/principals/scopes/user_spec.rb b/spec/models/principals/scopes/user_spec.rb index 63431024f2e..eca7a27ed13 100644 --- a/spec/models/principals/scopes/user_spec.rb +++ b/spec/models/principals/scopes/user_spec.rb @@ -32,12 +32,12 @@ require 'spec_helper' describe Principals::Scopes::User, type: :model do describe '.user' do - let!(:anonymous_user) { FactoryBot.create(:anonymous) } - let!(:system_user) { FactoryBot.create(:system) } - let!(:deleted_user) { FactoryBot.create(:deleted_user) } - let!(:group) { FactoryBot.create(:group) } - let!(:user) { FactoryBot.create(:user) } - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let!(:anonymous_user) { create(:anonymous) } + let!(:system_user) { create(:system) } + let!(:deleted_user) { create(:deleted_user) } + let!(:group) { create(:group) } + let!(:user) { create(:user) } + let!(:placeholder_user) { create(:placeholder_user) } subject { Principal.user } diff --git a/spec/models/principals/scopes/visible_spec.rb b/spec/models/principals/scopes/visible_spec.rb index 6ab4db1cd08..e53431b5332 100644 --- a/spec/models/principals/scopes/visible_spec.rb +++ b/spec/models/principals/scopes/visible_spec.rb @@ -32,17 +32,17 @@ require 'spec_helper' describe Principals::Scopes::Visible, type: :model do describe '.visible' do - shared_let(:project) { FactoryBot.create :project } - shared_let(:other_project) { FactoryBot.create :project } - shared_let(:role) { FactoryBot.create :role, permissions: %i[manage_members] } + shared_let(:project) { create :project } + shared_let(:other_project) { create :project } + shared_let(:role) { create :role, permissions: %i[manage_members] } - shared_let(:other_project_user) { FactoryBot.create :user, member_in_project: other_project, member_through_role: role } - shared_let(:global_user) { FactoryBot.create :user } + shared_let(:other_project_user) { create :user, member_in_project: other_project, member_through_role: role } + shared_let(:global_user) { create :user } subject { ::Principal.visible.to_a } context 'when user has manage_members permission' do - current_user { FactoryBot.create :user, member_in_project: project, member_through_role: role } + current_user { create :user, member_in_project: project, member_through_role: role } it 'sees all users' do expect(subject).to match_array [current_user, other_project_user, global_user] @@ -50,7 +50,7 @@ describe Principals::Scopes::Visible, type: :model do end context 'when user has no manage_members permission, but it is in other project' do - current_user { FactoryBot.create :user, member_in_project: other_project, member_with_permissions: %i[view_work_packages] } + current_user { create :user, member_in_project: other_project, member_with_permissions: %i[view_work_packages] } it 'sees the other user in the same project' do expect(subject).to match_array [current_user, other_project_user] @@ -58,7 +58,7 @@ describe Principals::Scopes::Visible, type: :model do end context 'when user has no permission' do - current_user { FactoryBot.create :user } + current_user { create :user } it 'sees only herself' do expect(subject).to match_array [current_user] diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index f02ddd343e4..a3ecd63e8fe 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -31,12 +31,12 @@ require File.expand_path('../support/shared/become_member', __dir__) describe Project, type: :model do include BecomeMember - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:active) { true } - let(:project) { FactoryBot.create(:project, active: active) } - let(:build_project) { FactoryBot.build_stubbed(:project, active: active) } - let(:user) { FactoryBot.create(:user) } + let(:project) { create(:project, active: active) } + let(:build_project) { build_stubbed(:project, active: active) } + let(:user) { create(:user) } describe '#active?' do context 'if active' do @@ -71,7 +71,7 @@ describe Project, type: :model do end context 'when the wiki module is enabled' do - let(:project) { FactoryBot.create(:project, disable_modules: 'wiki') } + let(:project) { create(:project, disable_modules: 'wiki') } before :each do project.enabled_module_names = project.enabled_module_names | ['wiki'] @@ -90,8 +90,8 @@ describe Project, type: :model do end describe '#copy_allowed?' do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } let(:permission_granted) { true } before do @@ -119,9 +119,9 @@ describe Project, type: :model do end describe 'status' do - let(:status) { FactoryBot.build_stubbed(:project_status) } + let(:status) { build_stubbed(:project_status) } let(:stubbed_project) do - FactoryBot.build_stubbed(:project, + build_stubbed(:project, status: status) end @@ -142,7 +142,7 @@ describe Project, type: :model do describe 'name' do let(:name) { ' Hello World ' } - let(:project) { described_class.new FactoryBot.attributes_for(:project, name: name) } + let(:project) { described_class.new attributes_for(:project, name: name) } context 'with white spaces in the name' do it 'trims the name' do @@ -164,12 +164,12 @@ describe Project, type: :model do end describe '#types_used_by_work_packages' do - let(:project) { FactoryBot.create(:project_with_types) } + let(:project) { create(:project_with_types) } let(:type) { project.types.first } - let(:other_type) { FactoryBot.create(:type) } - let(:project_work_package) { FactoryBot.create(:work_package, type: type, project: project) } - let(:other_project) { FactoryBot.create(:project, types: [other_type, type]) } - let(:other_project_work_package) { FactoryBot.create(:work_package, type: other_type, project: other_project) } + let(:other_type) { create(:type) } + let(:project_work_package) { create(:work_package, type: type, project: project) } + let(:other_project) { create(:project, types: [other_type, type]) } + let(:other_project_work_package) { create(:work_package, type: other_type, project: other_project) } it 'returns the type used by a work package of the project' do project_work_package diff --git a/spec/models/projects/activity_spec.rb b/spec/models/projects/activity_spec.rb index bed5d441dba..7c15a426712 100644 --- a/spec/models/projects/activity_spec.rb +++ b/spec/models/projects/activity_spec.rb @@ -30,89 +30,89 @@ require 'spec_helper' describe Projects::Activity, type: :model do let(:project) do - FactoryBot.create(:project) + create(:project) end let(:initial_time) { Time.now } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end let(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end let(:wiki_content) do project.reload - page = FactoryBot.create(:wiki_page, + page = create(:wiki_page, wiki: project.wiki) - FactoryBot.create(:wiki_content, + create(:wiki_content, page: page) end let(:wiki_content2) do project.reload - page = FactoryBot.create(:wiki_page, + page = create(:wiki_page, wiki: project.wiki) - FactoryBot.create(:wiki_content, + create(:wiki_content, page: page) end let(:news) do - FactoryBot.create(:news, + create(:news, project: project) end let(:news2) do - FactoryBot.create(:news, + create(:news, project: project) end let(:repository) do - FactoryBot.create(:repository_git, + create(:repository_git, project: project) end let(:changeset) do - FactoryBot.create(:changeset, + create(:changeset, repository: repository) end let(:changeset2) do - FactoryBot.create(:changeset, + create(:changeset, repository: repository) end let(:forum) do - FactoryBot.create(:forum, + create(:forum, project: project) end let(:message) do - FactoryBot.create(:message, + create(:message, forum: forum) end let(:message2) do - FactoryBot.create(:message, + create(:message, forum: forum) end let(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, project: project) end let(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, project: project) end diff --git a/spec/models/projects/allowed_to_scope_spec.rb b/spec/models/projects/allowed_to_scope_spec.rb index a78d72438f6..585bd7cf327 100644 --- a/spec/models/projects/allowed_to_scope_spec.rb +++ b/spec/models/projects/allowed_to_scope_spec.rb @@ -31,32 +31,32 @@ require 'spec_helper' describe Project, 'allowed to', type: :model do - let(:user) { FactoryBot.build(:user) } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:admin) { FactoryBot.build(:admin) } + let(:user) { build(:user) } + let(:anonymous) { build(:anonymous) } + let(:admin) { build(:admin) } let(:private_project) do - FactoryBot.build(:project, + build(:project, public: false, active: project_status) end let(:public_project) do - FactoryBot.build(:project, + build(:project, public: true, active: project_status) end let(:project_status) { true } let(:role) do - FactoryBot.build(:role, + build(:role, permissions: permissions) end let(:anonymous_role) do - FactoryBot.build(:anonymous_role, + build(:anonymous_role, permissions: anonymous_permissions) end let(:non_member_role) do - FactoryBot.build(:non_member, + build(:non_member, permissions: non_member_permissions) end let(:permissions) { [action] } @@ -66,7 +66,7 @@ describe Project, 'allowed to', type: :model do let(:public_action) { :view_news } let(:public_non_module_action) { :view_project } let(:member) do - FactoryBot.build(:member, + build(:member, user: user, roles: [role], project: project) diff --git a/spec/models/projects/customizable_spec.rb b/spec/models/projects/customizable_spec.rb index dc2e97936c4..814eb6f4207 100644 --- a/spec/models/projects/customizable_spec.rb +++ b/spec/models/projects/customizable_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Project, 'customizable', type: :model do let(:project) do - FactoryBot.build_stubbed(:project, + build_stubbed(:project, custom_values: custom_values) end let(:stub_available_custom_fields) do @@ -46,9 +46,9 @@ describe Project, 'customizable', type: :model do .and_return(available_custom_fields) end let(:custom_values) { [] } - let(:bool_custom_field) { FactoryBot.build_stubbed(:bool_project_custom_field) } - let(:text_custom_field) { FactoryBot.build_stubbed(:text_project_custom_field) } - let(:list_custom_field) { FactoryBot.build_stubbed(:list_project_custom_field) } + let(:bool_custom_field) { build_stubbed(:bool_project_custom_field) } + let(:text_custom_field) { build_stubbed(:text_project_custom_field) } + let(:list_custom_field) { build_stubbed(:list_project_custom_field) } before do stub_available_custom_fields @@ -80,7 +80,7 @@ describe Project, 'customizable', type: :model do context 'with a value set' do let(:custom_value) do - FactoryBot.build_stubbed(:custom_value, + build_stubbed(:custom_value, custom_field: custom_field, value: true) end @@ -97,12 +97,12 @@ describe Project, 'customizable', type: :model do describe '#custom_value_attributes' do let(:available_custom_fields) { [bool_custom_field, list_custom_field, text_custom_field] } let(:text_custom_value) do - FactoryBot.build_stubbed(:custom_value, + build_stubbed(:custom_value, custom_field: text_custom_field, value: 'blubs') end let(:bool_custom_value) do - FactoryBot.build_stubbed(:custom_value, + build_stubbed(:custom_value, custom_field: bool_custom_field, value: true) end diff --git a/spec/models/projects/exporter/exportable_project_context.rb b/spec/models/projects/exporter/exportable_project_context.rb index 7998ae40626..8e72a5d9251 100644 --- a/spec/models/projects/exporter/exportable_project_context.rb +++ b/spec/models/projects/exporter/exportable_project_context.rb @@ -27,29 +27,29 @@ #++ shared_context 'with a project with an arrangement of custom fields' do - shared_let(:version_cf) { FactoryBot.create(:version_project_custom_field) } - shared_let(:bool_cf) { FactoryBot.create(:bool_project_custom_field) } - shared_let(:user_cf) { FactoryBot.create(:user_project_custom_field) } - shared_let(:int_cf) { FactoryBot.create(:int_project_custom_field) } - shared_let(:float_cf) { FactoryBot.create(:float_project_custom_field) } - shared_let(:text_cf) { FactoryBot.create(:text_project_custom_field) } - shared_let(:string_cf) { FactoryBot.create(:string_project_custom_field) } - shared_let(:date_cf) { FactoryBot.create(:date_project_custom_field) } + shared_let(:version_cf) { create(:version_project_custom_field) } + shared_let(:bool_cf) { create(:bool_project_custom_field) } + shared_let(:user_cf) { create(:user_project_custom_field) } + shared_let(:int_cf) { create(:int_project_custom_field) } + shared_let(:float_cf) { create(:float_project_custom_field) } + shared_let(:text_cf) { create(:text_project_custom_field) } + shared_let(:string_cf) { create(:string_project_custom_field) } + shared_let(:date_cf) { create(:date_project_custom_field) } - shared_let(:system_version) { FactoryBot.create(:version, sharing: 'system') } + shared_let(:system_version) { create(:version, sharing: 'system') } shared_let(:role) do - FactoryBot.create(:role) + create(:role) end shared_let(:other_user) do - FactoryBot.create(:user, + create(:user, firstname: 'Other', lastname: 'User') end shared_let(:project) do - FactoryBot.create(:project, members: { other_user => role }).tap do |p| + create(:project, members: { other_user => role }).tap do |p| p.send(:"custom_field_#{int_cf.id}=", 5) p.send(:"custom_field_#{bool_cf.id}=", true) p.send(:"custom_field_#{version_cf.id}=", system_version) @@ -72,7 +72,7 @@ shared_context 'with an instance of the described exporter' do end let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i(view_projects)) end diff --git a/spec/models/projects/status_spec.rb b/spec/models/projects/status_spec.rb index 1dc7ad0f15c..efb988c8f22 100644 --- a/spec/models/projects/status_spec.rb +++ b/spec/models/projects/status_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Projects::Status, type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:explanation) { 'some explanation' } let(:code) { :on_track } diff --git a/spec/models/projects/storage_spec.rb b/spec/models/projects/storage_spec.rb index 41a3b478a60..5c75a1de594 100644 --- a/spec/models/projects/storage_spec.rb +++ b/spec/models/projects/storage_spec.rb @@ -30,22 +30,22 @@ require 'spec_helper' describe Projects::Storage, type: :model do let(:project1) do - FactoryBot.create(:project) + create(:project) .reload # Reload required for wiki association to be available end - let(:project2) { FactoryBot.create(:project) } + let(:project2) { create(:project) } before do allow(Setting).to receive(:enabled_scm).and_return(['git']) - wp = FactoryBot.create(:work_package, project: project1) - FactoryBot.create(:work_package, project: project1) - FactoryBot.create_list(:attachment, 10, filesize: 250, container: wp) + wp = create(:work_package, project: project1) + create(:work_package, project: project1) + create_list(:attachment, 10, filesize: 250, container: wp) - wikipage = FactoryBot.create(:wiki_page, wiki: project1.wiki) - FactoryBot.create(:attachment, filesize: 10000, container: wikipage) + wikipage = create(:wiki_page, wiki: project1.wiki) + create(:attachment, filesize: 10000, container: wikipage) - repo = FactoryBot.create(:repository_git, project: project2) + repo = create(:repository_git, project: project2) repo.update(required_storage_bytes: 1234) end @@ -76,7 +76,7 @@ describe Projects::Storage, type: :model do end context 'with a project with all modules' do - let(:repository1) { FactoryBot.create(:repository_git, project: project1) } + let(:repository1) { create(:repository_git, project: project1) } before do repository1.update(required_storage_bytes: 543211234) end diff --git a/spec/models/queries/capabilities/capability_query_spec.rb b/spec/models/queries/capabilities/capability_query_spec.rb index dfccdc8d621..cc1d66e2ad0 100644 --- a/spec/models/queries/capabilities/capability_query_spec.rb +++ b/spec/models/queries/capabilities/capability_query_spec.rb @@ -32,7 +32,7 @@ describe Queries::Capabilities::CapabilityQuery, type: :model do let(:instance) { described_class.new } current_user do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end describe '#valid?' do diff --git a/spec/models/queries/filters/available_filters_spec.rb b/spec/models/queries/filters/available_filters_spec.rb index a086cd1c28d..3236509fb02 100644 --- a/spec/models/queries/filters/available_filters_spec.rb +++ b/spec/models/queries/filters/available_filters_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Filters::AvailableFilters, type: :model do - let(:context) { FactoryBot.build_stubbed(:project) } + let(:context) { build_stubbed(:project) } let(:register) { Queries::FilterRegister } class HelperClass diff --git a/spec/models/queries/members/filters/group_filter_spec.rb b/spec/models/queries/members/filters/group_filter_spec.rb index 93aa89a6396..8dd4d589b41 100644 --- a/spec/models/queries/members/filters/group_filter_spec.rb +++ b/spec/models/queries/members/filters/group_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::Members::Filters::GroupFilter, type: :model do - let(:group1) { FactoryBot.build_stubbed(:group) } - let(:group2) { FactoryBot.build_stubbed(:group) } + let(:group1) { build_stubbed(:group) } + let(:group2) { build_stubbed(:group) } before do allow(Group) diff --git a/spec/models/queries/members/filters/principal_filter_spec.rb b/spec/models/queries/members/filters/principal_filter_spec.rb index 1eb26f0d9eb..0b1c5ca7823 100644 --- a/spec/models/queries/members/filters/principal_filter_spec.rb +++ b/spec/models/queries/members/filters/principal_filter_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe Queries::Members::Filters::PrincipalFilter, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:group) { FactoryBot.build_stubbed(:group) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } + let(:group) { build_stubbed(:group) } + let(:current_user) { build_stubbed(:user) } before do login_as(current_user) diff --git a/spec/models/queries/members/filters/role_filter_spec.rb b/spec/models/queries/members/filters/role_filter_spec.rb index 032ae045437..a4325bcee8a 100644 --- a/spec/models/queries/members/filters/role_filter_spec.rb +++ b/spec/models/queries/members/filters/role_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::Members::Filters::RoleFilter, type: :model do - let(:role1) { FactoryBot.build_stubbed(:role) } - let(:role2) { FactoryBot.build_stubbed(:role) } + let(:role1) { build_stubbed(:role) } + let(:role2) { build_stubbed(:role) } before do allow(Role) diff --git a/spec/models/queries/news/filters/project_filter_spec.rb b/spec/models/queries/news/filters/project_filter_spec.rb index 3b0fbc44dd6..7953c25c852 100644 --- a/spec/models/queries/news/filters/project_filter_spec.rb +++ b/spec/models/queries/news/filters/project_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::News::Filters::ProjectFilter, type: :model do - let(:project1) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(Project) diff --git a/spec/models/queries/news/news_query_spec.rb b/spec/models/queries/news/news_query_spec.rb index 7011b22cd1b..9c2193b0bc0 100644 --- a/spec/models/queries/news/news_query_spec.rb +++ b/spec/models/queries/news/news_query_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::News::NewsQuery, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:base_scope) { News.visible(user).order(id: :desc) } let(:instance) { described_class.new } diff --git a/spec/models/queries/notifications/notification_query_spec.rb b/spec/models/queries/notifications/notification_query_spec.rb index acea32fca91..73b265e03d6 100644 --- a/spec/models/queries/notifications/notification_query_spec.rb +++ b/spec/models/queries/notifications/notification_query_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe Queries::Notifications::NotificationQuery, type: :model do - shared_let(:project) { FactoryBot.create :project } + shared_let(:project) { create :project } - shared_let(:recipient) { FactoryBot.create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } + shared_let(:recipient) { create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } - shared_let(:notification) { FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package } + shared_let(:work_package) { create :work_package, project: project } + shared_let(:notification) { create :notification, recipient: recipient, project: project, resource: work_package } let(:instance) { described_class.new(user: recipient) } let(:base_scope) { Notification.visible(recipient).recipient(recipient) } diff --git a/spec/models/queries/placeholder_users/placeholder_user_query_spec.rb b/spec/models/queries/placeholder_users/placeholder_user_query_spec.rb index bb75f9132ed..6a0d83cce4d 100644 --- a/spec/models/queries/placeholder_users/placeholder_user_query_spec.rb +++ b/spec/models/queries/placeholder_users/placeholder_user_query_spec.rb @@ -69,7 +69,7 @@ describe Queries::PlaceholderUsers::PlaceholderUserQuery, type: :model do end context 'with a group filter' do - let(:group_1) { FactoryBot.build_stubbed(:group) } + let(:group_1) { build_stubbed(:group) } before do allow(Group) diff --git a/spec/models/queries/principals/principal_query_integrations_spec.rb b/spec/models/queries/principals/principal_query_integrations_spec.rb index 2abfb379541..e2575e19a36 100644 --- a/spec/models/queries/principals/principal_query_integrations_spec.rb +++ b/spec/models/queries/principals/principal_query_integrations_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Principals::PrincipalQuery, 'integration', type: :model do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } let(:instance) { described_class.new } before do @@ -37,22 +37,22 @@ describe Queries::Principals::PrincipalQuery, 'integration', type: :model do end context 'with a member filter' do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role) } + let(:project) { create(:project) } + let(:role) { create(:role) } let(:project_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) do |u| # Granting another membership in order to better test the "not" filter - FactoryBot.create(:member, + create(:member, principal: u, project: other_project, roles: [role]) end end - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let(:other_project_user) do - FactoryBot.create(:user, + create(:user, member_in_project: other_project, member_through_role: role) end diff --git a/spec/models/queries/projects/filters/created_at_filter_spec.rb b/spec/models/queries/projects/filters/created_at_filter_spec.rb index 2ce8674eef2..35538ae660a 100644 --- a/spec/models/queries/projects/filters/created_at_filter_spec.rb +++ b/spec/models/queries/projects/filters/created_at_filter_spec.rb @@ -37,8 +37,8 @@ describe Queries::Projects::Filters::CreatedAtFilter, type: :model do let(:model) { Project } let(:attribute) { :created_at } let(:values) { ['3'] } - let(:admin) { FactoryBot.build_stubbed(:admin) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:admin) { build_stubbed(:admin) } + let(:user) { build_stubbed(:user) } describe '#available?' do context 'for an admin' do diff --git a/spec/models/queries/projects/filters/custom_field_filter_spec.rb b/spec/models/queries/projects/filters/custom_field_filter_spec.rb index c046eed8de0..df412adb488 100644 --- a/spec/models/queries/projects/filters/custom_field_filter_spec.rb +++ b/spec/models/queries/projects/filters/custom_field_filter_spec.rb @@ -36,15 +36,15 @@ describe Queries::Projects::Filters::CustomFieldFilter, type: :model do end let(:instance_key) { nil } - shared_let(:list_project_custom_field) { FactoryBot.create(:list_project_custom_field) } - let(:bool_project_custom_field) { FactoryBot.build_stubbed(:bool_project_custom_field) } - let(:int_project_custom_field) { FactoryBot.build_stubbed(:int_project_custom_field) } - let(:float_project_custom_field) { FactoryBot.build_stubbed(:float_project_custom_field) } - let(:text_project_custom_field) { FactoryBot.build_stubbed(:text_project_custom_field) } - let(:user_project_custom_field) { FactoryBot.build_stubbed(:user_project_custom_field) } - let(:version_project_custom_field) { FactoryBot.build_stubbed(:version_project_custom_field) } - let(:date_project_custom_field) { FactoryBot.build_stubbed(:date_project_custom_field) } - let(:string_project_custom_field) { FactoryBot.build_stubbed(:string_project_custom_field) } + shared_let(:list_project_custom_field) { create(:list_project_custom_field) } + let(:bool_project_custom_field) { build_stubbed(:bool_project_custom_field) } + let(:int_project_custom_field) { build_stubbed(:int_project_custom_field) } + let(:float_project_custom_field) { build_stubbed(:float_project_custom_field) } + let(:text_project_custom_field) { build_stubbed(:text_project_custom_field) } + let(:user_project_custom_field) { build_stubbed(:user_project_custom_field) } + let(:version_project_custom_field) { build_stubbed(:version_project_custom_field) } + let(:date_project_custom_field) { build_stubbed(:date_project_custom_field) } + let(:string_project_custom_field) { build_stubbed(:string_project_custom_field) } let(:custom_field) { list_project_custom_field } let(:all_custom_fields) do @@ -417,8 +417,8 @@ describe Queries::Projects::Filters::CustomFieldFilter, type: :model do end describe '#value_objects' do - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } before do allow(Principal) @@ -446,8 +446,8 @@ describe Queries::Projects::Filters::CustomFieldFilter, type: :model do end describe '#value_objects' do - let(:version1) { FactoryBot.build_stubbed(:version) } - let(:version2) { FactoryBot.build_stubbed(:version) } + let(:version1) { build_stubbed(:version) } + let(:version2) { build_stubbed(:version) } before do allow(Version) diff --git a/spec/models/queries/projects/filters/latest_activity_at_filter_spec.rb b/spec/models/queries/projects/filters/latest_activity_at_filter_spec.rb index 2eb72c4f4f3..7a08562c459 100644 --- a/spec/models/queries/projects/filters/latest_activity_at_filter_spec.rb +++ b/spec/models/queries/projects/filters/latest_activity_at_filter_spec.rb @@ -37,8 +37,8 @@ describe Queries::Projects::Filters::LatestActivityAtFilter, type: :model do let(:model) { Project.with_latest_activity } let(:attribute) { :activity } let(:values) { ['3'] } - let(:admin) { FactoryBot.build_stubbed(:admin) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:admin) { build_stubbed(:admin) } + let(:user) { build_stubbed(:user) } describe '#available?' do context 'for an admin' do diff --git a/spec/models/queries/projects/filters/parent_filter_spec.rb b/spec/models/queries/projects/filters/parent_filter_spec.rb index c99b7b19bcb..83ec677e863 100644 --- a/spec/models/queries/projects/filters/parent_filter_spec.rb +++ b/spec/models/queries/projects/filters/parent_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::Projects::Filters::ParentFilter, type: :model do - let(:project1) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project1) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(Project) diff --git a/spec/models/queries/projects/filters/principal_filter_spec.rb b/spec/models/queries/projects/filters/principal_filter_spec.rb index e687eda8cac..ea2605d5204 100644 --- a/spec/models/queries/projects/filters/principal_filter_spec.rb +++ b/spec/models/queries/projects/filters/principal_filter_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe Queries::Projects::Filters::PrincipalFilter, type: :model do - let(:group1) { FactoryBot.build_stubbed(:group) } - let(:group2) { FactoryBot.build_stubbed(:group) } - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:group1) { build_stubbed(:group) } + let(:group2) { build_stubbed(:group) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } before do allow(Principal) diff --git a/spec/models/queries/projects/filters/project_status_filter_spec.rb b/spec/models/queries/projects/filters/project_status_filter_spec.rb index 19c66694326..85817e06bc6 100644 --- a/spec/models/queries/projects/filters/project_status_filter_spec.rb +++ b/spec/models/queries/projects/filters/project_status_filter_spec.rb @@ -38,8 +38,8 @@ describe Queries::Projects::Filters::ProjectStatusFilter, type: :model do let(:attribute) { :project_status_code } let(:values) { ['On track'] } let(:human_name) { 'Project status' } - let(:admin) { FactoryBot.build_stubbed(:admin) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:admin) { build_stubbed(:admin) } + let(:user) { build_stubbed(:user) } describe '#allowed_values' do it 'is a list of the possible values' do diff --git a/spec/models/queries/projects/filters/type_filter_spec.rb b/spec/models/queries/projects/filters/type_filter_spec.rb index 5d1486c84fb..aed9f67b95c 100644 --- a/spec/models/queries/projects/filters/type_filter_spec.rb +++ b/spec/models/queries/projects/filters/type_filter_spec.rb @@ -37,8 +37,8 @@ describe Queries::Projects::Filters::TypeFilter, type: :model do let(:model) { Project } let(:attribute) { :type_id } let(:values) { ['3'] } - let(:admin) { FactoryBot.build_stubbed(:admin) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:admin) { build_stubbed(:admin) } + let(:user) { build_stubbed(:user) } before do allow(Type).to receive(:pluck).with(:name, :id).and_return([['Foo', '1234']]) diff --git a/spec/models/queries/projects/project_query_spec.rb b/spec/models/queries/projects/project_query_spec.rb index bd599f21582..4aa3f4f1b62 100644 --- a/spec/models/queries/projects/project_query_spec.rb +++ b/spec/models/queries/projects/project_query_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Queries::Projects::ProjectQuery, type: :model do let(:instance) { described_class.new } let(:base_scope) { Project.all.order(id: :desc) } - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } before do login_as(current_user) @@ -45,7 +45,7 @@ describe Queries::Projects::ProjectQuery, type: :model do end context 'as a non admin' do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it 'is the same as getting all visible projects' do expect(instance.results.to_sql).to eql base_scope.where(id: Project.visible).to_sql diff --git a/spec/models/queries/queries/query_query_spec.rb b/spec/models/queries/queries/query_query_spec.rb index c3933b3da57..70204294482 100644 --- a/spec/models/queries/queries/query_query_spec.rb +++ b/spec/models/queries/queries/query_query_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Queries::QueryQuery, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(user: user) } let(:base_scope) { Query.visible(user).order(id: :desc) } diff --git a/spec/models/queries/relations/filters/from_filter_spec.rb b/spec/models/queries/relations/filters/from_filter_spec.rb index a5f2033895d..8a578475fc1 100644 --- a/spec/models/queries/relations/filters/from_filter_spec.rb +++ b/spec/models/queries/relations/filters/from_filter_spec.rb @@ -34,7 +34,7 @@ describe Queries::Relations::Filters::FromFilter, type: :model do include_context 'filter tests' let(:values) { ['1'] } let(:model) { Relation } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'basic query filter' do let(:class_key) { :from_id } diff --git a/spec/models/queries/relations/filters/involved_filter_spec.rb b/spec/models/queries/relations/filters/involved_filter_spec.rb index 9494c05444f..798702753c3 100644 --- a/spec/models/queries/relations/filters/involved_filter_spec.rb +++ b/spec/models/queries/relations/filters/involved_filter_spec.rb @@ -34,7 +34,7 @@ describe Queries::Relations::Filters::InvolvedFilter, type: :model do include_context 'filter tests' let(:values) { ['1'] } let(:model) { Relation } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'basic query filter' do let(:class_key) { :involved } diff --git a/spec/models/queries/relations/filters/to_filter_spec.rb b/spec/models/queries/relations/filters/to_filter_spec.rb index 9644df2367b..5de7d0606d6 100644 --- a/spec/models/queries/relations/filters/to_filter_spec.rb +++ b/spec/models/queries/relations/filters/to_filter_spec.rb @@ -34,7 +34,7 @@ describe Queries::Relations::Filters::ToFilter, type: :model do include_context 'filter tests' let(:values) { ['1'] } let(:model) { Relation } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it_behaves_like 'basic query filter' do let(:class_key) { :to_id } diff --git a/spec/models/queries/relations/relation_query_spec.rb b/spec/models/queries/relations/relation_query_spec.rb index 8a25a7a85df..3411d0f1edb 100644 --- a/spec/models/queries/relations/relation_query_spec.rb +++ b/spec/models/queries/relations/relation_query_spec.rb @@ -76,7 +76,7 @@ describe Queries::Relations::RelationQuery, type: :model do end context 'with a from filter' do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } before do login_as(current_user) instance.where('from_id', '=', ['1']) diff --git a/spec/models/queries/users/filters/group_filter_spec.rb b/spec/models/queries/users/filters/group_filter_spec.rb index ff77bfdac74..1d0d4f5d8a0 100644 --- a/spec/models/queries/users/filters/group_filter_spec.rb +++ b/spec/models/queries/users/filters/group_filter_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Queries::Users::Filters::GroupFilter, type: :model do - let(:group1) { FactoryBot.build_stubbed(:group) } - let(:group2) { FactoryBot.build_stubbed(:group) } + let(:group1) { build_stubbed(:group) } + let(:group2) { build_stubbed(:group) } before do allow(Group) diff --git a/spec/models/queries/users/user_query_spec.rb b/spec/models/queries/users/user_query_spec.rb index b471cfc825e..f323b560b9d 100644 --- a/spec/models/queries/users/user_query_spec.rb +++ b/spec/models/queries/users/user_query_spec.rb @@ -98,7 +98,7 @@ describe Queries::Users::UserQuery, type: :model do end context 'with a group filter' do - let(:group_1) { FactoryBot.build_stubbed(:group) } + let(:group_1) { build_stubbed(:group) } before do allow(Group) diff --git a/spec/models/queries/views/filters/type_filter_spec.rb b/spec/models/queries/views/filters/type_filter_spec.rb index 2b958ef0752..6cf0af2d063 100644 --- a/spec/models/queries/views/filters/type_filter_spec.rb +++ b/spec/models/queries/views/filters/type_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::Views::Filters::TypeFilter, type: :model do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do login_as(current_user) diff --git a/spec/models/queries/work_packages/columns/custom_field_column_spec.rb b/spec/models/queries/work_packages/columns/custom_field_column_spec.rb index 0fd06ea7d6d..82343e843f4 100644 --- a/spec/models/queries/work_packages/columns/custom_field_column_spec.rb +++ b/spec/models/queries/work_packages/columns/custom_field_column_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' require_relative 'shared_query_column_specs' describe Queries::WorkPackages::Columns::CustomFieldColumn, type: :model do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:custom_field) do double('CustomField', field_format: 'string', @@ -43,11 +43,11 @@ describe Queries::WorkPackages::Columns::CustomFieldColumn, type: :model do describe 'instances' do let(:text_custom_field) do - FactoryBot.create(:text_wp_custom_field) + create(:text_wp_custom_field) end let(:list_custom_field) do - FactoryBot.create(:list_wp_custom_field) + create(:list_wp_custom_field) end context 'within project' do diff --git a/spec/models/queries/work_packages/columns/relation_of_type_column_spec.rb b/spec/models/queries/work_packages/columns/relation_of_type_column_spec.rb index e8e47137b4a..a69cccec932 100644 --- a/spec/models/queries/work_packages/columns/relation_of_type_column_spec.rb +++ b/spec/models/queries/work_packages/columns/relation_of_type_column_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' require_relative 'shared_query_column_specs' describe Queries::WorkPackages::Columns::RelationOfTypeColumn, type: :model do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { build_stubbed(:project) } + let(:type) { build_stubbed(:type) } let(:instance) { described_class.new(type) } let(:enterprise_token_allows) { true } diff --git a/spec/models/queries/work_packages/columns/relation_to_type_column_spec.rb b/spec/models/queries/work_packages/columns/relation_to_type_column_spec.rb index 5d71537e56d..3201c38dcf0 100644 --- a/spec/models/queries/work_packages/columns/relation_to_type_column_spec.rb +++ b/spec/models/queries/work_packages/columns/relation_to_type_column_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' require_relative 'shared_query_column_specs' describe Queries::WorkPackages::Columns::RelationToTypeColumn, type: :model do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { build_stubbed(:project) } + let(:type) { build_stubbed(:type) } let(:instance) { described_class.new(type) } let(:enterprise_token_allows) { true } diff --git a/spec/models/queries/work_packages/filter/assigned_to_filter_spec.rb b/spec/models/queries/work_packages/filter/assigned_to_filter_spec.rb index a736ec54fb9..765bc0c66a5 100644 --- a/spec/models/queries/work_packages/filter/assigned_to_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/assigned_to_filter_spec.rb @@ -40,9 +40,9 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do let(:values) { [] } describe 'where filter results' do - let(:work_package) { FactoryBot.create(:work_package, assigned_to: assignee) } - let(:assignee) { FactoryBot.create(:user) } - let(:group) { FactoryBot.create(:group) } + let(:work_package) { create(:work_package, assigned_to: assignee) } + let(:assignee) { create(:user) } + let(:group) { create(:group) } subject { WorkPackage.where(instance.where) } @@ -84,7 +84,7 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do before do allow(User) .to receive(:current) - .and_return(FactoryBot.create(:user)) + .and_return(create(:user)) end it 'does not return the work package' do @@ -94,8 +94,8 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do end context 'for me and user values' do - let(:user) { FactoryBot.create :user } - let(:assignee2) { FactoryBot.create :user } + let(:user) { create :user } + let(:assignee2) { create :user } let(:values) { [assignee.id, user.id, 'me', assignee2.id] } before do @@ -130,7 +130,7 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do context 'for a group value with a group member being assignee' do let(:values) { [group.id.to_s] } - let(:group) { FactoryBot.create(:group, members: assignee) } + let(:group) { create(:group, members: assignee) } it 'does not return the work package' do is_expected @@ -150,8 +150,8 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do context "for a user value with the user's group being assignee" do let(:values) { [user.id.to_s] } let(:assignee) { group } - let(:user) { FactoryBot.create(:user) } - let(:group) { FactoryBot.create(:group, members: user) } + let(:user) { create(:user) } + let(:group) { create(:group, members: user) } it 'does not return the work package' do is_expected @@ -162,7 +162,7 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do context "for a user value with the user not being member of the assigned group" do let(:values) { [user.id.to_s] } let(:assignee) { group } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } it 'does not return the work package' do is_expected @@ -184,9 +184,9 @@ describe Queries::WorkPackages::Filter::AssignedToFilter, type: :model do let(:type) { :list_optional } let(:class_key) { :assigned_to_id } - let(:user) { FactoryBot.build_stubbed(:user) } - let(:group) { FactoryBot.build_stubbed(:group) } - let(:placeholder_user) { FactoryBot.build_stubbed(:group) } + let(:user) { build_stubbed(:user) } + let(:group) { build_stubbed(:group) } + let(:placeholder_user) { build_stubbed(:group) } let(:principal_loader) do double('principal_loader', principal_values: principal_values) diff --git a/spec/models/queries/work_packages/filter/assignee_or_group_filter_spec.rb b/spec/models/queries/work_packages/filter/assignee_or_group_filter_spec.rb index 89251447efa..0b431286e1d 100644 --- a/spec/models/queries/work_packages/filter/assignee_or_group_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/assignee_or_group_filter_spec.rb @@ -40,9 +40,9 @@ describe Queries::WorkPackages::Filter::AssigneeOrGroupFilter, type: :model do let(:values) { [] } describe 'where filter results' do - let(:work_package) { FactoryBot.create(:work_package, assigned_to: assignee) } - let(:assignee) { FactoryBot.create(:user) } - let(:group) { FactoryBot.create(:group, members: group_members) } + let(:work_package) { create(:work_package, assigned_to: assignee) } + let(:assignee) { create(:user) } + let(:group) { create(:group, members: group_members) } let(:group_members) { [] } subject { WorkPackage.where(instance.where) } @@ -77,7 +77,7 @@ describe Queries::WorkPackages::Filter::AssigneeOrGroupFilter, type: :model do before do allow(User) .to receive(:current) - .and_return(FactoryBot.create(:user)) + .and_return(create(:user)) end it 'does not return the work package' do @@ -118,8 +118,8 @@ describe Queries::WorkPackages::Filter::AssigneeOrGroupFilter, type: :model do context "for a user value with the user's group being assignee" do let(:values) { [user.id.to_s] } let(:assignee) { group } - let(:user) { FactoryBot.create(:user) } - let!(:group) { FactoryBot.create(:group, members: user) } + let(:user) { create(:user) } + let!(:group) { create(:group, members: user) } it 'returns the work package' do is_expected @@ -130,7 +130,7 @@ describe Queries::WorkPackages::Filter::AssigneeOrGroupFilter, type: :model do context "for a user value with the user not being member of the assigned group" do let(:values) { [user.id.to_s] } let(:assignee) { group } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } it 'does not return the work package' do is_expected @@ -154,7 +154,7 @@ describe Queries::WorkPackages::Filter::AssigneeOrGroupFilter, type: :model do let(:human_name) { I18n.t('query_fields.assignee_or_group') } describe '#valid_values!' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:loader) do loader = double('loader') diff --git a/spec/models/queries/work_packages/filter/attachment_content_filter_spec.rb b/spec/models/queries/work_packages/filter/attachment_content_filter_spec.rb index 6a870446ef1..b59937be49b 100644 --- a/spec/models/queries/work_packages/filter/attachment_content_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/attachment_content_filter_spec.rb @@ -43,9 +43,9 @@ describe Queries::WorkPackages::Filter::AttachmentContentFilter, type: :model do described_class.create!(name: :search, context: context, operator: operator, values: [value]) end - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:text) { 'lorem ipsum' } - let(:attachment) { FactoryBot.create(:attachment, container: work_package) } + let(:attachment) { create(:attachment, container: work_package) } before do allow_any_instance_of(Plaintext::Resolver).to receive(:text).and_return(text) diff --git a/spec/models/queries/work_packages/filter/author_filter_spec.rb b/spec/models/queries/work_packages/filter/author_filter_spec.rb index 003f7d4eb28..8faded46f90 100644 --- a/spec/models/queries/work_packages/filter/author_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/author_filter_spec.rb @@ -33,7 +33,7 @@ describe Queries::WorkPackages::Filter::AuthorFilter, type: :model do let(:type) { :list } let(:class_key) { :author_id } - let(:user_1) { FactoryBot.build_stubbed(:user) } + let(:user_1) { build_stubbed(:user) } let(:principal_loader) do loader = double('principal_loader') diff --git a/spec/models/queries/work_packages/filter/category_filter_spec.rb b/spec/models/queries/work_packages/filter/category_filter_spec.rb index 54cc04767c1..003d0cdb925 100644 --- a/spec/models/queries/work_packages/filter/category_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/category_filter_spec.rb @@ -64,7 +64,7 @@ describe Queries::WorkPackages::Filter::CategoryFilter, type: :model do end describe '#allowed_values' do - let(:category) { FactoryBot.build_stubbed(:category) } + let(:category) { build_stubbed(:category) } before do allow(project) @@ -79,8 +79,8 @@ describe Queries::WorkPackages::Filter::CategoryFilter, type: :model do end describe '#value_objects' do - let(:category1) { FactoryBot.build_stubbed(:category) } - let(:category2) { FactoryBot.build_stubbed(:category) } + let(:category1) { build_stubbed(:category) } + let(:category2) { build_stubbed(:category) } before do allow(project) diff --git a/spec/models/queries/work_packages/filter/custom_fields/contains_text_custom_field_filter_spec.rb b/spec/models/queries/work_packages/filter/custom_fields/contains_text_custom_field_filter_spec.rb index 976e5586e35..d7cf55c32d3 100644 --- a/spec/models/queries/work_packages/filter/custom_fields/contains_text_custom_field_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/custom_fields/contains_text_custom_field_filter_spec.rb @@ -32,43 +32,43 @@ describe Queries::WorkPackages::Filter::CustomFieldFilter, 'with contains filter (Regression test #28348)', type: :model do let(:cf_accessor) { "cf_#{custom_field.id}" } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:query) { build_stubbed(:query, project: project) } let(:instance) do described_class.create!(name: cf_accessor, operator: operator, values: %w(foo), context: query) end let(:project) do - FactoryBot.create :project, + create :project, types: [type], work_package_custom_fields: [custom_field] end let(:custom_field) do - FactoryBot.create(:text_issue_custom_field, name: 'LongText') + create(:text_issue_custom_field, name: 'LongText') end - let(:type) { FactoryBot.create(:type_standard, custom_fields: [custom_field]) } + let(:type) { create(:type_standard, custom_fields: [custom_field]) } let!(:wp_contains) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: { custom_field.id => 'foo' } end let!(:wp_not_contains) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: { custom_field.id => 'bar' } end let!(:wp_empty) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: { custom_field.id => '' } end let!(:wp_nil) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: { custom_field.id => nil } diff --git a/spec/models/queries/work_packages/filter/custom_fields/custom_field_filter_spec.rb b/spec/models/queries/work_packages/filter/custom_fields/custom_field_filter_spec.rb index d2b4ce95939..e23c4efb2be 100644 --- a/spec/models/queries/work_packages/filter/custom_fields/custom_field_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/custom_fields/custom_field_filter_spec.rb @@ -29,23 +29,23 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::CustomFieldFilter, type: :model do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project) } let(:cf_accessor) { "cf_#{custom_field.id}" } let(:instance) do described_class.create!(name: cf_accessor, operator: '=', context: query) end let(:instance_key) { nil } - shared_let(:list_wp_custom_field) { FactoryBot.create(:list_wp_custom_field) } - let(:bool_wp_custom_field) { FactoryBot.build_stubbed(:bool_wp_custom_field) } - let(:int_wp_custom_field) { FactoryBot.build_stubbed(:int_wp_custom_field) } - let(:float_wp_custom_field) { FactoryBot.build_stubbed(:float_wp_custom_field) } - let(:text_wp_custom_field) { FactoryBot.build_stubbed(:text_wp_custom_field) } - let(:user_wp_custom_field) { FactoryBot.build_stubbed(:user_wp_custom_field) } - let(:version_wp_custom_field) { FactoryBot.build_stubbed(:version_wp_custom_field) } - let(:date_wp_custom_field) { FactoryBot.build_stubbed(:date_wp_custom_field) } - let(:string_wp_custom_field) { FactoryBot.build_stubbed(:string_wp_custom_field) } + shared_let(:list_wp_custom_field) { create(:list_wp_custom_field) } + let(:bool_wp_custom_field) { build_stubbed(:bool_wp_custom_field) } + let(:int_wp_custom_field) { build_stubbed(:int_wp_custom_field) } + let(:float_wp_custom_field) { build_stubbed(:float_wp_custom_field) } + let(:text_wp_custom_field) { build_stubbed(:text_wp_custom_field) } + let(:user_wp_custom_field) { build_stubbed(:user_wp_custom_field) } + let(:version_wp_custom_field) { build_stubbed(:version_wp_custom_field) } + let(:date_wp_custom_field) { build_stubbed(:date_wp_custom_field) } + let(:string_wp_custom_field) { build_stubbed(:string_wp_custom_field) } let(:custom_field) { list_wp_custom_field } let(:all_custom_fields) do @@ -465,8 +465,8 @@ describe Queries::WorkPackages::Filter::CustomFieldFilter, type: :model do end describe '#value_objects' do - let(:user1) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:user1) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } before do allow(Principal) @@ -495,8 +495,8 @@ describe Queries::WorkPackages::Filter::CustomFieldFilter, type: :model do end describe '#value_objects' do - let(:version1) { FactoryBot.build_stubbed(:version) } - let(:version2) { FactoryBot.build_stubbed(:version) } + let(:version1) { build_stubbed(:version) } + let(:version2) { build_stubbed(:version) } before do allow(Version) diff --git a/spec/models/queries/work_packages/filter/estimated_hours_filter_spec.rb b/spec/models/queries/work_packages/filter/estimated_hours_filter_spec.rb index 08b45796ce7..08ca26de35b 100644 --- a/spec/models/queries/work_packages/filter/estimated_hours_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/estimated_hours_filter_spec.rb @@ -48,9 +48,9 @@ describe Queries::WorkPackages::Filter::EstimatedHoursFilter, type: :model do it_behaves_like 'non ar filter' describe '#where' do - let!(:work_package_zero_hour) { FactoryBot.create(:work_package, estimated_hours: 0) } - let!(:work_package_no_hours) { FactoryBot.create(:work_package, estimated_hours: nil) } - let!(:work_package_with_hours) { FactoryBot.create(:work_package, estimated_hours: 1) } + let!(:work_package_zero_hour) { create(:work_package, estimated_hours: 0) } + let!(:work_package_no_hours) { create(:work_package, estimated_hours: nil) } + let!(:work_package_with_hours) { create(:work_package, estimated_hours: 1) } context 'with the operator being "none"' do before do diff --git a/spec/models/queries/work_packages/filter/group_filter_spec.rb b/spec/models/queries/work_packages/filter/group_filter_spec.rb index 69e04114db7..a6027cb04d0 100644 --- a/spec/models/queries/work_packages/filter/group_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/group_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::GroupFilter, type: :model do - let(:group) { FactoryBot.build_stubbed(:group) } + let(:group) { build_stubbed(:group) } it_behaves_like 'basic query filter' do let(:type) { :list_optional } @@ -75,7 +75,7 @@ describe Queries::WorkPackages::Filter::GroupFilter, type: :model do end describe '#value_objects' do - let(:group2) { FactoryBot.build_stubbed(:group) } + let(:group2) { build_stubbed(:group) } before do allow(Group) diff --git a/spec/models/queries/work_packages/filter/id_filter_spec.rb b/spec/models/queries/work_packages/filter/id_filter_spec.rb index 963d7dad9c6..655be1f7ffb 100644 --- a/spec/models/queries/work_packages/filter/id_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/id_filter_spec.rb @@ -35,8 +35,8 @@ describe Queries::WorkPackages::Filter::IdFilter, type: :model do let(:class_key) { :id } describe '#where' do - let!(:visible_wp) { FactoryBot.create(:work_package) } - let!(:other_wp) { FactoryBot.create(:work_package) } + let!(:visible_wp) { create(:work_package) } + let!(:other_wp) { create(:work_package) } before do instance.values = [visible_wp.id.to_s] diff --git a/spec/models/queries/work_packages/filter/manual_sort_filter_spec.rb b/spec/models/queries/work_packages/filter/manual_sort_filter_spec.rb index 251f532a89b..c9659011df2 100644 --- a/spec/models/queries/work_packages/filter/manual_sort_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/manual_sort_filter_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::ManualSortFilter, type: :model do - let!(:in_order) { FactoryBot.create(:work_package) } - let!(:in_order2) { FactoryBot.create(:work_package) } - let!(:out_order) { FactoryBot.create(:work_package) } + let!(:in_order) { create(:work_package) } + let!(:in_order2) { create(:work_package) } + let!(:out_order) { create(:work_package) } let(:ar_double) { double(ActiveRecord::Relation, pluck: [in_order2.id, in_order.id]) } let(:query_double) { double(Query, ordered_work_packages: ar_double) } diff --git a/spec/models/queries/work_packages/filter/parent_filter_spec.rb b/spec/models/queries/work_packages/filter/parent_filter_spec.rb index ecc5ff399d4..8efd67ebf79 100644 --- a/spec/models/queries/work_packages/filter/parent_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/parent_filter_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::ParentFilter, type: :model do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:query) do - FactoryBot.build_stubbed(:query, project: project) + build_stubbed(:query, project: project) end it_behaves_like 'basic query filter' do @@ -105,7 +105,7 @@ describe Queries::WorkPackages::Filter::ParentFilter, type: :model do end describe '#value_object' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } it 'returns the work package for the values' do allow(WorkPackage) @@ -145,8 +145,8 @@ describe Queries::WorkPackages::Filter::ParentFilter, type: :model do end describe '#valid_values!' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } - let(:invisible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } + let(:invisible_wp) { build_stubbed(:work_package) } context 'within a project' do it 'removes all non existing/non visible ids' do @@ -189,8 +189,8 @@ describe Queries::WorkPackages::Filter::ParentFilter, type: :model do end describe '#validate' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } - let(:invisible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } + let(:invisible_wp) { build_stubbed(:work_package) } context 'with old templated value' do it 'is still valid' do @@ -268,8 +268,8 @@ describe Queries::WorkPackages::Filter::ParentFilter, type: :model do end describe '#where and #includes' do - let(:parent) { FactoryBot.create(:work_package) } - let(:visible_wp) { FactoryBot.create(:work_package, parent: parent) } + let(:parent) { create(:work_package) } + let(:visible_wp) { create(:work_package, parent: parent) } before do visible_wp diff --git a/spec/models/queries/work_packages/filter/principal_loader_spec.rb b/spec/models/queries/work_packages/filter/principal_loader_spec.rb index 375f4176def..af19f5753c5 100644 --- a/spec/models/queries/work_packages/filter/principal_loader_spec.rb +++ b/spec/models/queries/work_packages/filter/principal_loader_spec.rb @@ -29,10 +29,10 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::PrincipalLoader, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:group) { FactoryBot.build_stubbed(:group) } - let(:placeholder_user) { FactoryBot.build_stubbed(:placeholder_user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:user) { build_stubbed(:user) } + let(:group) { build_stubbed(:group) } + let(:placeholder_user) { build_stubbed(:placeholder_user) } + let(:project) { build_stubbed(:project) } let(:instance) { described_class.new(project) } context 'with a project' do @@ -90,7 +90,7 @@ describe Queries::WorkPackages::Filter::PrincipalLoader, type: :model do context 'without a project' do let(:project) { nil } - let(:visible_projects) { [FactoryBot.build_stubbed(:project)] } + let(:visible_projects) { [build_stubbed(:project)] } let(:matching_principals) { [user, group, placeholder_user] } before do diff --git a/spec/models/queries/work_packages/filter/priority_filter_spec.rb b/spec/models/queries/work_packages/filter/priority_filter_spec.rb index 035b98988c0..50cdf9c9ab5 100644 --- a/spec/models/queries/work_packages/filter/priority_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/priority_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::PriorityFilter, type: :model do - let(:priority) { FactoryBot.build_stubbed(:priority) } + let(:priority) { build_stubbed(:priority) } it_behaves_like 'basic query filter' do let(:type) { :list } @@ -74,7 +74,7 @@ describe Queries::WorkPackages::Filter::PriorityFilter, type: :model do end describe '#value_objects' do - let(:priority2) { FactoryBot.build_stubbed(:priority) } + let(:priority2) { build_stubbed(:priority) } before do allow(IssuePriority) diff --git a/spec/models/queries/work_packages/filter/project_filter_instance_spec.rb b/spec/models/queries/work_packages/filter/project_filter_instance_spec.rb index da73d628259..c420d160145 100644 --- a/spec/models/queries/work_packages/filter/project_filter_instance_spec.rb +++ b/spec/models/queries/work_packages/filter/project_filter_instance_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::ProjectFilter, type: :model do - let(:query) { FactoryBot.build :query } + let(:query) { build :query } let(:instance) do described_class.create!(name: 'project', context: query, operator: '=', values: []) end describe '#allowed_values' do - let!(:project) { FactoryBot.create :project } - let!(:archived_project) { FactoryBot.create :project, active: false } + let!(:project) { create :project } + let!(:archived_project) { create :project, active: false } - let(:user) { FactoryBot.create(:user, member_in_projects: [project, archived_project], member_through_role: role) } - let(:role) { FactoryBot.create :role, permissions: %i(view_work_packages) } + let(:user) { create(:user, member_in_projects: [project, archived_project], member_through_role: role) } + let(:role) { create :role, permissions: %i(view_work_packages) } before do login_as user diff --git a/spec/models/queries/work_packages/filter/project_filter_spec.rb b/spec/models/queries/work_packages/filter/project_filter_spec.rb index b07d503e4ee..2a36d2b9702 100644 --- a/spec/models/queries/work_packages/filter/project_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/project_filter_spec.rb @@ -65,8 +65,8 @@ describe Queries::WorkPackages::Filter::ProjectFilter, type: :model do let(:project) { nil } it 'is an array of group values' do - parent = FactoryBot.build_stubbed(:project, id: 1) - child = FactoryBot.build_stubbed(:project, parent: parent, id: 2) + parent = build_stubbed(:project, id: 1) + child = build_stubbed(:project, parent: parent, id: 2) visible_projects = [parent, child] @@ -94,8 +94,8 @@ describe Queries::WorkPackages::Filter::ProjectFilter, type: :model do end describe '#value_objects' do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } before do allow(Project) diff --git a/spec/models/queries/work_packages/filter/responsible_filter_spec.rb b/spec/models/queries/work_packages/filter/responsible_filter_spec.rb index 1595825d89e..f50ee6632da 100644 --- a/spec/models/queries/work_packages/filter/responsible_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/responsible_filter_spec.rb @@ -40,9 +40,9 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do let(:values) { [] } describe 'where filter results' do - let(:work_package) { FactoryBot.create(:work_package, responsible: responsible) } - let(:responsible) { FactoryBot.create(:user) } - let(:group) { FactoryBot.create(:group) } + let(:work_package) { create(:work_package, responsible: responsible) } + let(:responsible) { create(:user) } + let(:group) { create(:group) } subject { WorkPackage.where(instance.where) } @@ -84,7 +84,7 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do before do allow(User) .to receive(:current) - .and_return(FactoryBot.create(:user)) + .and_return(create(:user)) end it 'does not return the work package' do @@ -94,8 +94,8 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do end context 'for me and user values' do - let(:user) { FactoryBot.create :user } - let(:responsible2) { FactoryBot.create :user } + let(:user) { create :user } + let(:responsible2) { create :user } let(:values) { [responsible.id, user.id, 'me', responsible2.id] } before do @@ -133,7 +133,7 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do context 'for a group value with a group member being assignee' do let(:values) { [group.id.to_s] } - let(:group) { FactoryBot.create(:group, members: responsible) } + let(:group) { create(:group, members: responsible) } it 'does not return the work package' do is_expected @@ -153,8 +153,8 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do context "for a user value with the user's group being assignee" do let(:values) { [user.id.to_s] } let(:responsible) { group } - let(:user) { FactoryBot.create(:user) } - let(:group) { FactoryBot.create(:group, members: user) } + let(:user) { create(:user) } + let(:group) { create(:group, members: user) } it 'does not return the work package' do is_expected @@ -165,7 +165,7 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do context "for a user value with the user not being member of the assigned group" do let(:values) { [user.id.to_s] } let(:responsible) { group } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } it 'does not return the work package' do is_expected @@ -187,7 +187,7 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do let(:type) { :list_optional } let(:class_key) { :responsible_id } - let(:user_1) { FactoryBot.build_stubbed(:user) } + let(:user_1) { build_stubbed(:user) } let(:principal_loader) do loader = double('principal_loader') @@ -247,7 +247,7 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do describe '#allowed_values' do let(:logged_in) { true } - let(:group) { FactoryBot.build_stubbed(:group) } + let(:group) { build_stubbed(:group) } before do allow(User) @@ -288,8 +288,8 @@ describe Queries::WorkPackages::Filter::ResponsibleFilter, type: :model do end describe '#value_objects' do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:user2) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } + let(:user2) { build_stubbed(:user) } before do allow(Principal) diff --git a/spec/models/queries/work_packages/filter/role_filter_spec.rb b/spec/models/queries/work_packages/filter/role_filter_spec.rb index 83785608842..af516273d7b 100644 --- a/spec/models/queries/work_packages/filter/role_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/role_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::RoleFilter, type: :model do - let(:role) { FactoryBot.build_stubbed(:role) } + let(:role) { build_stubbed(:role) } it_behaves_like 'basic query filter' do let(:type) { :list_optional } @@ -75,7 +75,7 @@ describe Queries::WorkPackages::Filter::RoleFilter, type: :model do end describe '#value_objects' do - let(:role2) { FactoryBot.build_stubbed(:role) } + let(:role2) { build_stubbed(:role) } before do allow(Role) diff --git a/spec/models/queries/work_packages/filter/search_filter_spec.rb b/spec/models/queries/work_packages/filter/search_filter_spec.rb index b7799563a53..79d59c20e98 100644 --- a/spec/models/queries/work_packages/filter/search_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/search_filter_spec.rb @@ -33,7 +33,7 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do let(:value) { 'bogus' } let(:operator) { '**' } let(:subject) { 'Some subject' } - let(:work_package) { FactoryBot.create(:work_package, subject: subject) } + let(:work_package) { create(:work_package, subject: subject) } let(:journal) { work_package.journals.last } let(:instance) do described_class.create!(name: :search, context: context, operator: operator, values: [value]) @@ -43,7 +43,7 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do subject { WorkPackage.joins(instance.joins).where(instance.where) } context '' do - let!(:work_package) { FactoryBot.create(:work_package, subject: "A bogus subject", description: "And a short description") } + let!(:work_package) { create(:work_package, subject: "A bogus subject", description: "And a short description") } it 'finds in subject' do instance.values = ['bogus subject'] @@ -70,7 +70,7 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do describe 'partial (not fuzzy) match of string in subject (#29832)' do subject { WorkPackage.joins(instance.joins).where(instance.where) } - let!(:work_package) { FactoryBot.create(:work_package, subject: "big old cat") } + let!(:work_package) { create(:work_package, subject: "big old cat") } it 'finds in subject' do instance.values = ['big cat'] @@ -81,7 +81,7 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do describe 'partial match of string in subject and description (#29832)' do subject { WorkPackage.joins(instance.joins).where(instance.where) } - let!(:work_package) { FactoryBot.create(:work_package, subject: "big", description: "cat") } + let!(:work_package) { create(:work_package, subject: "big", description: "cat") } it 'does not match a partial result currently' do instance.values = ['big cat'] @@ -103,7 +103,7 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do context 'WP with attachment' do let(:text) { 'lorem ipsum' } let(:filename) { 'plaintext-file.txt' } - let(:attachment) { FactoryBot.create(:attachment, container: work_package, filename: filename) } + let(:attachment) { create(:attachment, container: work_package, filename: filename) } before do allow_any_instance_of(Plaintext::Resolver).to receive(:text).and_return(text) @@ -132,8 +132,8 @@ describe Queries::WorkPackages::Filter::SearchFilter, type: :model do context 'with two attachments' do let(:text) { 'lorem ipsum' } let(:filename) { 'plaintext-file.txt' } - let(:attachment) { FactoryBot.create(:attachment, container: work_package, filename: filename) } - let(:attachment2) { FactoryBot.create(:attachment, container: work_package, filename: filename) } + let(:attachment) { create(:attachment, container: work_package, filename: filename) } + let(:attachment2) { create(:attachment, container: work_package, filename: filename) } before do allow_any_instance_of(Plaintext::Resolver).to receive(:text).and_return(text) diff --git a/spec/models/queries/work_packages/filter/status_filter_spec.rb b/spec/models/queries/work_packages/filter/status_filter_spec.rb index d4f514b2c91..81832406658 100644 --- a/spec/models/queries/work_packages/filter/status_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/status_filter_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::StatusFilter, type: :model do - let(:status) { FactoryBot.build_stubbed(:status) } - let(:status2) { FactoryBot.build_stubbed(:status) } + let(:status) { build_stubbed(:status) } + let(:status2) { build_stubbed(:status) } it_behaves_like 'basic query filter' do let(:type) { :list } diff --git a/spec/models/queries/work_packages/filter/subject_or_id_filter_spec.rb b/spec/models/queries/work_packages/filter/subject_or_id_filter_spec.rb index f2cc71ac75e..f776245c411 100644 --- a/spec/models/queries/work_packages/filter/subject_or_id_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/subject_or_id_filter_spec.rb @@ -32,9 +32,9 @@ describe Queries::WorkPackages::Filter::SubjectOrIdFilter, type: :model do let(:value) { 'bogus' } let(:operator) { '**' } let(:subject) { 'Some subject' } - let(:work_package) { FactoryBot.create(:work_package, subject: subject) } - let(:current_user) { FactoryBot.create(:user, member_in_project: work_package.project) } - let(:query) { FactoryBot.build_stubbed(:global_query, user: current_user) } + let(:work_package) { create(:work_package, subject: subject) } + let(:current_user) { create(:user, member_in_project: work_package.project) } + let(:query) { build_stubbed(:global_query, user: current_user) } let(:instance) do described_class.create!(name: :search, context: query, operator: operator, values: [value]) end diff --git a/spec/models/queries/work_packages/filter/subproject_filter_spec.rb b/spec/models/queries/work_packages/filter/subproject_filter_spec.rb index 359cbdac427..54551f64cbf 100644 --- a/spec/models/queries/work_packages/filter/subproject_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/subproject_filter_spec.rb @@ -33,7 +33,7 @@ describe Queries::WorkPackages::Filter::SubprojectFilter, type: :model do let(:type) { :list_optional } let(:class_key) { :subproject_id } let(:name) { I18n.t('query_fields.subproject_id') } - let(:project) { FactoryBot.build_stubbed :project } + let(:project) { build_stubbed :project } let(:relation) { double(ActiveRecord::Relation) } let(:projects) { [] } let(:plucked) { projects.map { |p| [p.id, p.name] } } @@ -54,7 +54,7 @@ describe Queries::WorkPackages::Filter::SubprojectFilter, type: :model do describe '#available?' do context 'with a project and that project not being a leaf and the project having visible descendants' do - let(:subproject) { FactoryBot.build_stubbed(:project) } + let(:subproject) { build_stubbed(:project) } let(:projects) { [subproject] } before do @@ -109,8 +109,8 @@ describe Queries::WorkPackages::Filter::SubprojectFilter, type: :model do end describe '#allowed_values' do - let(:subproject1) { FactoryBot.build_stubbed(:project) } - let(:subproject2) { FactoryBot.build_stubbed(:project) } + let(:subproject1) { build_stubbed(:project) } + let(:subproject2) { build_stubbed(:project) } let(:projects) { [subproject1, subproject2] } it 'returns a list of all visible descendants' do @@ -134,8 +134,8 @@ describe Queries::WorkPackages::Filter::SubprojectFilter, type: :model do end describe '#where' do - let(:subproject1) { FactoryBot.build_stubbed(:project) } - let(:subproject2) { FactoryBot.build_stubbed(:project) } + let(:subproject1) { build_stubbed(:project) } + let(:subproject2) { build_stubbed(:project) } let(:projects) { [subproject1, subproject2] } context 'for the equals operator' do diff --git a/spec/models/queries/work_packages/filter/type_filter_spec.rb b/spec/models/queries/work_packages/filter/type_filter_spec.rb index 357ed32be64..0b211a5c594 100644 --- a/spec/models/queries/work_packages/filter/type_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/type_filter_spec.rb @@ -78,7 +78,7 @@ describe Queries::WorkPackages::Filter::TypeFilter, type: :model do end describe '#allowed_values' do - let(:type) { FactoryBot.build_stubbed(:type) } + let(:type) { build_stubbed(:type) } context 'within a project' do before do allow(project) @@ -116,8 +116,8 @@ describe Queries::WorkPackages::Filter::TypeFilter, type: :model do end describe '#value_objects' do - let(:type1) { FactoryBot.build_stubbed(:type) } - let(:type2) { FactoryBot.build_stubbed(:type) } + let(:type1) { build_stubbed(:type) } + let(:type2) { build_stubbed(:type) } before do allow(project) diff --git a/spec/models/queries/work_packages/filter/version_filter_spec.rb b/spec/models/queries/work_packages/filter/version_filter_spec.rb index 9ba2831dca0..d334c333af3 100644 --- a/spec/models/queries/work_packages/filter/version_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/version_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::VersionFilter, type: :model do - let(:version) { FactoryBot.build_stubbed(:version) } + let(:version) { build_stubbed(:version) } it_behaves_like 'basic query filter' do let(:type) { :list_optional } @@ -107,8 +107,8 @@ describe Queries::WorkPackages::Filter::VersionFilter, type: :model do end describe '#value_objects' do - let(:version1) { FactoryBot.build_stubbed(:version) } - let(:version2) { FactoryBot.build_stubbed(:version) } + let(:version1) { build_stubbed(:version) } + let(:version2) { build_stubbed(:version) } before do allow(project) diff --git a/spec/models/queries/work_packages/filter/watcher_filter_spec.rb b/spec/models/queries/work_packages/filter/watcher_filter_spec.rb index 4d33ddecef7..abe0d17ac2b 100644 --- a/spec/models/queries/work_packages/filter/watcher_filter_spec.rb +++ b/spec/models/queries/work_packages/filter/watcher_filter_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Queries::WorkPackages::Filter::WatcherFilter, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } it_behaves_like 'basic query filter' do let(:type) { :list } @@ -150,7 +150,7 @@ describe Queries::WorkPackages::Filter::WatcherFilter, type: :model do end describe '#value_objects' do - let(:user1) { FactoryBot.build_stubbed(:user) } + let(:user1) { build_stubbed(:user) } before do allow(Principal) diff --git a/spec/models/queries/work_packages/manual_sorting_spec.rb b/spec/models/queries/work_packages/manual_sorting_spec.rb index 26e4ae7da71..25452c50452 100644 --- a/spec/models/queries/work_packages/manual_sorting_spec.rb +++ b/spec/models/queries/work_packages/manual_sorting_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe Query, "manual sorting ", type: :model do - shared_let(:user) { FactoryBot.create :admin } - shared_let(:project) { FactoryBot.create :project } - shared_let(:query) { FactoryBot.create :query, user: user, project: project } + shared_let(:user) { create :admin } + shared_let(:project) { create :project } + shared_let(:query) { create :query, user: user, project: project } shared_let(:wp_1) do User.execute_as user do - FactoryBot.create :work_package, project: project + create :work_package, project: project end end shared_let(:wp_2) do User.execute_as user do - FactoryBot.create :work_package, project: project + create :work_package, project: project end end @@ -66,7 +66,7 @@ describe Query, "manual sorting ", type: :model do end describe 'with a second query on the same work package' do - let(:query2) { FactoryBot.create :query, user: user, project: project } + let(:query2) { create :query, user: user, project: project } before do ::OrderedWorkPackage.create(query: query, work_package: wp_1, position: 0) diff --git a/spec/models/query/results_cf_sorting_integration_spec.rb b/spec/models/query/results_cf_sorting_integration_spec.rb index e9ef9496aae..1a0e52a7e18 100644 --- a/spec/models/query/results_cf_sorting_integration_spec.rb +++ b/spec/models/query/results_cf_sorting_integration_spec.rb @@ -33,38 +33,38 @@ describe ::Query::Results, 'Sorting of custom field floats', type: :model, with_ ::Query::Results.new query end let(:user) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '1', member_in_project: project, member_with_permissions: [:view_work_packages]) end - let(:type) { FactoryBot.create(:type_standard, custom_fields: [custom_field]) } + let(:type) { create(:type_standard, custom_fields: [custom_field]) } let(:project) do - FactoryBot.create :project, + create :project, types: [type], work_package_custom_fields: [custom_field] end let(:work_package_with_float) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project, custom_values: { custom_field.id => "6.25" } end let(:work_package_without_float) do - FactoryBot.create :work_package, + create :work_package, type: type, project: project end let(:custom_field) do - FactoryBot.create(:float_wp_custom_field, name: 'MyFloat') + create(:float_wp_custom_field, name: 'MyFloat') end let(:query) do - FactoryBot.build(:query, + build(:query, user: user, show_hierarchies: false, project: project).tap do |q| diff --git a/spec/models/query/results_spec.rb b/spec/models/query/results_spec.rb index bf03e7b4b7c..180d8bc5113 100644 --- a/spec/models/query/results_spec.rb +++ b/spec/models/query/results_spec.rb @@ -30,15 +30,15 @@ require 'spec_helper' describe ::Query::Results, type: :model, with_mail: false do let(:query) do - FactoryBot.build :query, + build :query, show_hierarchies: false end let(:query_results) do ::Query::Results.new query end - let(:project_1) { FactoryBot.create :project } + let(:project_1) { create :project } let(:role_pm) do - FactoryBot.create(:role, + create(:role, permissions: %i( view_work_packages edit_work_packages @@ -47,11 +47,11 @@ describe ::Query::Results, type: :model, with_mail: false do )) end let(:role_dev) do - FactoryBot.create(:role, + create(:role, permissions: [:view_work_packages]) end let(:user_1) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '1', member_in_project: project_1, @@ -59,7 +59,7 @@ describe ::Query::Results, type: :model, with_mail: false do end let(:wp_p1) do (1..3).map do - FactoryBot.create(:work_package, + create(:work_package, project: project_1, assigned_to_id: user_1.id) end @@ -67,24 +67,24 @@ describe ::Query::Results, type: :model, with_mail: false do describe '#work_package_count_by_group' do let(:query) do - FactoryBot.build :query, + build :query, show_hierarchies: false, group_by: group_by, project: project_1 end let(:type_1) do - FactoryBot.create(:type) + create(:type) end let(:type_2) do - FactoryBot.create(:type) + create(:type) end let(:work_package1) do - FactoryBot.create(:work_package, + create(:work_package, type: type_1, project: project_1) end let(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, type: type_2, project: project_1) end @@ -177,7 +177,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'grouping by list custom field and filtering for it at the same time' do let!(:custom_field) do - FactoryBot.create(:list_wp_custom_field, + create(:list_wp_custom_field, is_for_all: true, is_filter: true, multi_value: true).tap do |cf| @@ -218,7 +218,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'grouping by int custom field' do let!(:custom_field) do - FactoryBot.create(:int_wp_custom_field, is_for_all: true, is_filter: true) + create(:int_wp_custom_field, is_for_all: true, is_filter: true) end let(:group_by) { "cf_#{custom_field.id}" } @@ -242,7 +242,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'grouping by user custom field' do let!(:custom_field) do - FactoryBot.create(:user_wp_custom_field, is_for_all: true, is_filter: true) + create(:user_wp_custom_field, is_for_all: true, is_filter: true) end let(:group_by) { "cf_#{custom_field.id}" } @@ -261,7 +261,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'grouping by bool custom field' do let!(:custom_field) do - FactoryBot.create(:bool_wp_custom_field, is_for_all: true, is_filter: true) + create(:bool_wp_custom_field, is_for_all: true, is_filter: true) end let(:group_by) { "cf_#{custom_field.id}" } @@ -285,7 +285,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'grouping by date custom field' do let!(:custom_field) do - FactoryBot.create(:date_wp_custom_field, is_for_all: true, is_filter: true) + create(:date_wp_custom_field, is_for_all: true, is_filter: true) end let(:group_by) { "cf_#{custom_field.id}" } @@ -309,16 +309,16 @@ describe ::Query::Results, type: :model, with_mail: false do end describe '#work_packages' do - let!(:project_1) { FactoryBot.create :project } - let!(:project_2) { FactoryBot.create :project } + let!(:project_1) { create :project } + let!(:project_2) { create :project } let!(:member) do - FactoryBot.create(:member, + create(:member, project: project_2, principal: user_1, roles: [role_pm]) end let!(:user_2) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '2', member_in_project: project_2, @@ -326,12 +326,12 @@ describe ::Query::Results, type: :model, with_mail: false do end let!(:wp_p2) do - FactoryBot.create(:work_package, + create(:work_package, project: project_2, assigned_to_id: user_2.id) end let!(:wp2_p2) do - FactoryBot.create(:work_package, + create(:work_package, project: project_2, assigned_to_id: user_1.id) end @@ -349,7 +349,7 @@ describe ::Query::Results, type: :model, with_mail: false do end context 'when a project is set' do - let(:query) { FactoryBot.build :query, project: project_2 } + let(:query) { build :query, project: project_2 } it 'should display only wp for selected project and selected role' do expect(query_results.work_packages).to match_array([wp_p2]) @@ -357,7 +357,7 @@ describe ::Query::Results, type: :model, with_mail: false do end context 'when no project is set' do - let(:query) { FactoryBot.build :query, project: nil } + let(:query) { build :query, project: nil } it 'should display all wp from projects where User.current has access' do expect(query_results.work_packages).to match_array([wp_p2, wp2_p2]) @@ -370,13 +370,13 @@ describe ::Query::Results, type: :model, with_mail: false do context 'with a custom field being returned and paginating' do let(:group_by) { nil } let(:query) do - FactoryBot.build_stubbed :query, + build_stubbed :query, show_hierarchies: false, group_by: group_by, project: project_2 end - let!(:custom_field) { FactoryBot.create(:work_package_custom_field, is_for_all: true) } + let!(:custom_field) { create(:work_package_custom_field, is_for_all: true) } before do allow(User).to receive(:current).and_return(user_2) @@ -424,7 +424,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'when grouping by responsible' do let(:query) do - FactoryBot.build :query, + build :query, show_hierarchies: false, group_by: group_by, project: project_1 @@ -446,7 +446,7 @@ describe ::Query::Results, type: :model, with_mail: false do context 'when filtering by precedes and ordering by id' do let(:query) do - FactoryBot.build :query, + build :query, project: project_1 end @@ -468,15 +468,15 @@ describe ::Query::Results, type: :model, with_mail: false do end describe '#work_packages' do - let(:work_package1) { FactoryBot.create(:work_package, project: project_1, id: 1) } - let(:work_package2) { FactoryBot.create(:work_package, project: project_1, id: 2) } - let(:work_package3) { FactoryBot.create(:work_package, project: project_1, id: 3) } + let(:work_package1) { create(:work_package, project: project_1, id: 1) } + let(:work_package2) { create(:work_package, project: project_1, id: 2) } + let(:work_package3) { create(:work_package, project: project_1, id: 3) } let(:sort_by) { [['id', 'asc']] } let(:columns) { %i(id subject) } let(:group_by) { '' } let(:query) do - FactoryBot.build_stubbed :query, + build_stubbed :query, show_hierarchies: false, group_by: group_by, sort_criteria: sort_by, @@ -488,9 +488,9 @@ describe ::Query::Results, type: :model, with_mail: false do ::Query::Results.new query end - let(:user_a) { FactoryBot.create(:user, firstname: 'AAA', lastname: 'AAA') } - let(:user_m) { FactoryBot.create(:user, firstname: 'MMM', lastname: 'MMM') } - let(:user_z) { FactoryBot.create(:user, firstname: 'ZZZ', lastname: 'ZZZ') } + let(:user_a) { create(:user, firstname: 'AAA', lastname: 'AAA') } + let(:user_m) { create(:user, firstname: 'MMM', lastname: 'MMM') } + let(:user_z) { create(:user, firstname: 'ZZZ', lastname: 'ZZZ') } context 'grouping by assigned_to, having the author column selected' do let(:group_by) { 'assigned_to' } @@ -577,8 +577,8 @@ describe ::Query::Results, type: :model, with_mail: false do end context 'sorting and grouping by priority' do - let(:prio_low) { FactoryBot.create :issue_priority, position: 1 } - let(:prio_high) { FactoryBot.create :issue_priority, position: 0 } + let(:prio_low) { create :issue_priority, position: 1 } + let(:prio_high) { create :issue_priority, position: 0 } let(:group_by) { 'priority' } before do @@ -605,8 +605,8 @@ describe ::Query::Results, type: :model, with_mail: false do end context 'sorting by priority, grouping by project' do - let(:prio_low) { FactoryBot.create :issue_priority, position: 1 } - let(:prio_high) { FactoryBot.create :issue_priority, position: 0 } + let(:prio_low) { create :issue_priority, position: 1 } + let(:prio_high) { create :issue_priority, position: 0 } let(:group_by) { 'project' } before do @@ -688,9 +688,9 @@ describe ::Query::Results, type: :model, with_mail: false do end context 'filtering by bool cf' do - let(:bool_cf) { FactoryBot.create(:bool_wp_custom_field, is_filter: true) } + let(:bool_cf) { create(:bool_wp_custom_field, is_filter: true) } let(:custom_value) do - FactoryBot.create(:custom_value, + create(:custom_value, custom_field: bool_cf, customized: work_package1, value: value) @@ -810,7 +810,7 @@ describe ::Query::Results, type: :model, with_mail: false do let(:custom_value) { nil } let(:filter_value) { 'f' } let(:bool_cf) do - FactoryBot.create(:bool_wp_custom_field, + create(:bool_wp_custom_field, is_filter: true, is_for_all: true) end diff --git a/spec/models/query/results_subject_filter_integration_spec.rb b/spec/models/query/results_subject_filter_integration_spec.rb index c3482503364..6770c4b4e56 100644 --- a/spec/models/query/results_subject_filter_integration_spec.rb +++ b/spec/models/query/results_subject_filter_integration_spec.rb @@ -32,9 +32,9 @@ describe ::Query::Results, 'Subject filter integration', type: :model, with_mail let(:query_results) do ::Query::Results.new query end - let(:project_1) { FactoryBot.create :project } + let(:project_1) { create :project } let(:user_1) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '1', member_in_project: project_1, @@ -42,28 +42,28 @@ describe ::Query::Results, 'Subject filter integration', type: :model, with_mail end let!(:contains_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'The quick brown fox jumped', project: project_1) end let!(:contains_reversed_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'The quick brown fox jumped', project: project_1) end let!(:partially_contains_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'The quick brown goose jumped', project: project_1) end let!(:not_contains_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Something completely different', project: project_1) end let(:query) do - FactoryBot.build(:query, + build(:query, user: user_1, show_hierarchies: false, project: project_1).tap do |q| diff --git a/spec/models/query/results_subproject_filter_integration_spec.rb b/spec/models/query/results_subproject_filter_integration_spec.rb index dc5c4692370..afbadbb5e3b 100644 --- a/spec/models/query/results_subproject_filter_integration_spec.rb +++ b/spec/models/query/results_subproject_filter_integration_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe ::Query::Results, 'Subproject filter integration', type: :model, with_mail: false do let(:query) do - FactoryBot.build(:query, + build(:query, user: user, project: parent_project).tap do |q| q.filters.clear @@ -40,19 +40,19 @@ describe ::Query::Results, 'Subproject filter integration', type: :model, with_m ::Query::Results.new query end - shared_let(:parent_project) { FactoryBot.create :project } - shared_let(:child_project) { FactoryBot.create :project, parent: parent_project } + shared_let(:parent_project) { create :project } + shared_let(:child_project) { create :project, parent: parent_project } shared_let(:user) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '1', member_in_projects: [parent_project, child_project], member_with_permissions: [:view_work_packages]) end - shared_let(:parent_wp) { FactoryBot.create :work_package, project: parent_project } - shared_let(:child_wp) { FactoryBot.create :work_package, project: child_project } + shared_let(:parent_wp) { create :work_package, project: parent_project } + shared_let(:child_wp) { create :work_package, project: child_project } before do login_as user diff --git a/spec/models/query/results_sums_integration_spec.rb b/spec/models/query/results_sums_integration_spec.rb index c897ec3d822..d1d3d16fafd 100644 --- a/spec/models/query/results_sums_integration_spec.rb +++ b/spec/models/query/results_sums_integration_spec.rb @@ -30,19 +30,19 @@ require 'spec_helper' describe ::Query::Results, 'sums', type: :model do let(:project) do - FactoryBot.create(:project).tap do |p| + create(:project).tap do |p| p.work_package_custom_fields << int_cf p.work_package_custom_fields << float_cf end end let(:other_project) do - FactoryBot.create(:project).tap do |p| + create(:project).tap do |p| p.work_package_custom_fields << int_cf p.work_package_custom_fields << float_cf end end let!(:work_package1) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project, estimated_hours: 5, @@ -53,7 +53,7 @@ describe ::Query::Results, 'sums', type: :model do story_points: 7) end let!(:work_package2) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project, assigned_to: current_user, @@ -65,7 +65,7 @@ describe ::Query::Results, 'sums', type: :model do story_points: 7) end let!(:work_package3) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: project, assigned_to: current_user, @@ -78,7 +78,7 @@ describe ::Query::Results, 'sums', type: :model do story_points: 7) end let!(:invisible_work_package1) do - FactoryBot.create(:work_package, + create(:work_package, type: type, project: other_project, estimated_hours: 5, @@ -88,47 +88,47 @@ describe ::Query::Results, 'sums', type: :model do story_points: 7) end let!(:cost_entry1) do - FactoryBot.create(:cost_entry, + create(:cost_entry, project: project, work_package: work_package1, user: current_user, overridden_costs: 200) end let!(:cost_entry2) do - FactoryBot.create(:cost_entry, + create(:cost_entry, project: project, work_package: work_package2, user: current_user, overridden_costs: 200) end let!(:time_entry1) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package1, user: current_user, overridden_costs: 300) end let!(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package2, user: current_user, overridden_costs: 300) end let(:int_cf) do - FactoryBot.create(:int_wp_custom_field) + create(:int_wp_custom_field) end let(:float_cf) do - FactoryBot.create(:float_wp_custom_field) + create(:float_wp_custom_field) end let(:type) do - FactoryBot.create(:type).tap do |t| + create(:type).tap do |t| t.custom_fields << int_cf t.custom_fields << float_cf end end let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -137,7 +137,7 @@ describe ::Query::Results, 'sums', type: :model do end let(:group_by) { nil } let(:query) do - FactoryBot.build :query, + build :query, project: project, group_by: group_by end diff --git a/spec/models/query/results_version_integration_spec.rb b/spec/models/query/results_version_integration_spec.rb index 2880fe232ac..58e86838af1 100644 --- a/spec/models/query/results_version_integration_spec.rb +++ b/spec/models/query/results_version_integration_spec.rb @@ -32,9 +32,9 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit let(:query_results) do ::Query::Results.new query end - let(:project_1) { FactoryBot.create :project } + let(:project_1) { create :project } let(:user_1) do - FactoryBot.create(:user, + create(:user, firstname: 'user', lastname: '1', member_in_project: project_1, @@ -42,7 +42,7 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit end let(:old_version) do - FactoryBot.create(:version, + create(:version, name: '1. Old version', project: project_1, start_date: '2019-02-02', @@ -50,7 +50,7 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit end let(:new_version) do - FactoryBot.create(:version, + create(:version, name: '1.2 New version', project: project_1, start_date: '2020-02-02', @@ -58,7 +58,7 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit end let(:no_date_version) do - FactoryBot.create(:version, + create(:version, name: '1.1 No date version', project: project_1, start_date: nil, @@ -66,24 +66,24 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit end let!(:no_version_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'No version wp', project: project_1) end let!(:newest_version_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Newest version wp', version: new_version, project: project_1) end let!(:oldest_version_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'Oldest version wp', version: old_version, project: project_1) end let!(:no_date_version_wp) do - FactoryBot.create(:work_package, + create(:work_package, subject: 'No date version wp', version: no_date_version, project: project_1) @@ -93,7 +93,7 @@ describe ::Query::Results, 'Grouping and sorting for version', type: :model, wit let(:sort_criteria) { [['version', 'asc']] } let(:query) do - FactoryBot.build(:query, + build(:query, user: user_1, group_by: group_by, show_hierarchies: false, diff --git a/spec/models/query/scopes/visible_spec.rb b/spec/models/query/scopes/visible_spec.rb index 01db729132f..c00d4099997 100644 --- a/spec/models/query/scopes/visible_spec.rb +++ b/spec/models/query/scopes/visible_spec.rb @@ -33,48 +33,48 @@ describe Queries::Scopes::Visible, type: :model do subject(:scope) { ::Query.visible(user) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:permissions) { %i[view_work_packages] } let!(:private_user_query) do - FactoryBot.create(:query, + create(:query, project: project, user: user) end let!(:private_other_user_query) do - FactoryBot.create(:query, + create(:query, project: project) end let!(:private_user_query_lacking_permissions) do - FactoryBot.create(:query, - project: FactoryBot.create(:project, - members: { user => FactoryBot.create(:role, permissions: []) }), + create(:query, + project: create(:project, + members: { user => create(:role, permissions: []) }), user: user) end let!(:public_query) do - FactoryBot.create(:query, + create(:query, project: project, public: true) end let!(:public_query_lacking_permissions) do - FactoryBot.create(:query, - project: FactoryBot.create(:project, - members: { user => FactoryBot.create(:role, permissions: []) }), + create(:query, + project: create(:project, + members: { user => create(:role, permissions: []) }), public: true) end let!(:global_user_query) do - FactoryBot.create(:query, + create(:query, project: nil, user: user) end let!(:global_other_user_query) do - FactoryBot.create(:query, + create(:query, project: nil) end - let(:project) { FactoryBot.create(:project) } - let(:public_project) { FactoryBot.create(:public_project) } + let(:project) { create(:project) } + let(:public_project) { create(:public_project) } context 'with the user having the :view_work_packages permission' do it 'returns the queries that are public or that are the user`s' do diff --git a/spec/models/query/sort_criteria_spec.rb b/spec/models/query/sort_criteria_spec.rb index 9b60cb6352f..73f063ae4dc 100644 --- a/spec/models/query/sort_criteria_spec.rb +++ b/spec/models/query/sort_criteria_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe ::Query::SortCriteria, type: :model do let(:query) do - FactoryBot.build_stubbed :query, + build_stubbed :query, show_hierarchies: false end diff --git a/spec/models/query_spec.rb b/spec/models/query_spec.rb index 33edb236d9b..32cd1c673ba 100644 --- a/spec/models/query_spec.rb +++ b/spec/models/query_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe Query, type: :model do - let(:query) { FactoryBot.build(:query) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:query) { build(:query) } + let(:project) { build_stubbed(:project) } let(:relation_columns_allowed) { true } let(:conditional_highlighting_allowed) { true } @@ -65,7 +65,7 @@ describe Query, type: :model do describe 'hidden' do context 'with a view' do before do - FactoryBot.create(:view_work_packages_table, query: query) + create(:view_work_packages_table, query: query) end it 'is false' do @@ -211,7 +211,7 @@ describe Query, type: :model do end context 'results caching' do - let(:project2) { FactoryBot.build_stubbed(:project) } + let(:project2) { build_stubbed(:project) } it 'does not call the db twice' do query.project = project @@ -266,14 +266,14 @@ describe Query, type: :model do context 'relation_to_type columns' do let(:type_in_project) do - type = FactoryBot.create(:type) + type = create(:type) project.types << type type end let(:type_not_in_project) do - FactoryBot.create(:type) + create(:type) end before do @@ -348,8 +348,8 @@ describe Query, type: :model do end describe '.available_columns' do - let(:custom_field) { FactoryBot.create(:list_wp_custom_field) } - let(:type) { FactoryBot.create(:type) } + let(:custom_field) { create(:list_wp_custom_field) } + let(:type) { create(:type) } before do stub_const('Relation::TYPES', @@ -411,8 +411,8 @@ describe Query, type: :model do end context 'when filters are blank' do - let(:status) { FactoryBot.create :status } - let(:query) { FactoryBot.build(:query).tap { |q| q.filters = [] } } + let(:status) { create :status } + let(:query) { build(:query).tap { |q| q.filters = [] } } it 'is valid' do expect(query.valid?).to be_truthy @@ -421,7 +421,7 @@ describe Query, type: :model do context 'with a missing value for a custom field' do let(:custom_field) do - FactoryBot.create :text_issue_custom_field, is_filter: true, is_for_all: true + create :text_issue_custom_field, is_filter: true, is_for_all: true end before do @@ -446,7 +446,7 @@ describe Query, type: :model do end describe '#valid_subset!' do - let(:valid_status) { FactoryBot.build_stubbed(:status) } + let(:valid_status) { build_stubbed(:status) } context 'filters' do before do diff --git a/spec/models/relation_spec.rb b/spec/models/relation_spec.rb index cfed693877f..99c2e23ad0e 100644 --- a/spec/models/relation_spec.rb +++ b/spec/models/relation_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe Relation, type: :model do - let(:from) { FactoryBot.create(:work_package) } - let(:to) { FactoryBot.create(:work_package) } + let(:from) { create(:work_package) } + let(:to) { create(:work_package) } let(:type) { 'relates' } - let(:relation) { FactoryBot.build(:relation, from: from, to: to, relation_type: type) } + let(:relation) { build(:relation, from: from, to: to, relation_type: type) } describe 'all relation types' do Relation::TYPES.each do |key, type_hash| @@ -66,7 +66,7 @@ describe Relation, type: :model do let(:type) { key } let(:reversed) { type_hash[:reverse] } let(:relation) do - FactoryBot.build_stubbed(:relation, + build_stubbed(:relation, relation_type: nil, column_name => column_count) end @@ -105,7 +105,7 @@ describe Relation, type: :model do end end let(:relation) do - FactoryBot.build_stubbed(:relation, + build_stubbed(:relation, relation_type: nil, column_name => 1, other_column => 1) @@ -174,20 +174,20 @@ describe Relation, type: :model do end describe 'it should validate circular dependency' do - let(:otherwp) { FactoryBot.create(:work_package) } + let(:otherwp) { create(:work_package) } let(:relation) do - FactoryBot.build(:relation, from: from, to: to, relation_type: Relation::TYPE_PRECEDES) + build(:relation, from: from, to: to, relation_type: Relation::TYPE_PRECEDES) end let(:relation2) do - FactoryBot.build(:relation, from: to, to: otherwp, relation_type: Relation::TYPE_PRECEDES) + build(:relation, from: to, to: otherwp, relation_type: Relation::TYPE_PRECEDES) end let(:invalid_precedes_relation) do - FactoryBot.build(:relation, from: otherwp, to: from, relation_type: Relation::TYPE_PRECEDES) + build(:relation, from: otherwp, to: from, relation_type: Relation::TYPE_PRECEDES) end let(:invalid_follows_relation) do - FactoryBot.build(:relation, from: from, to: otherwp, relation_type: Relation::TYPE_FOLLOWS) + build(:relation, from: from, to: otherwp, relation_type: Relation::TYPE_FOLLOWS) end it 'prevents invalid precedes relations' do diff --git a/spec/models/relations/scopes/visible_spec.rb b/spec/models/relations/scopes/visible_spec.rb index b45763bf9cb..3d6519b07d1 100644 --- a/spec/models/relations/scopes/visible_spec.rb +++ b/spec/models/relations/scopes/visible_spec.rb @@ -31,25 +31,25 @@ require 'spec_helper' describe Relations::Scopes::Visible, type: :model do - let(:from) { FactoryBot.create(:work_package, project: project1) } - let(:intermediary) { FactoryBot.create(:work_package, project: project1) } - let(:to) { FactoryBot.create(:work_package, project: project2) } - let(:project1) { FactoryBot.create(:project) } - let(:project2) { FactoryBot.create(:project) } + let(:from) { create(:work_package, project: project1) } + let(:intermediary) { create(:work_package, project: project1) } + let(:to) { create(:work_package, project: project2) } + let(:project1) { create(:project) } + let(:project2) { create(:project) } let(:type) { 'relates' } - let!(:relation1) { FactoryBot.create(:relation, from: from, to: intermediary, relation_type: type) } - let!(:relation2) { FactoryBot.create(:relation, from: intermediary, to: to, relation_type: type) } - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let!(:relation1) { create(:relation, from: from, to: intermediary, relation_type: type) } + let!(:relation2) { create(:relation, from: intermediary, to: to, relation_type: type) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:member_project1) do - FactoryBot.create(:member, + create(:member, project: project1, user: user, roles: [role]) end let(:member_project2) do - FactoryBot.create(:member, + create(:member, project: project2, user: user, roles: [role]) diff --git a/spec/models/reports_services_spec.rb b/spec/models/reports_services_spec.rb index 478888367c8..9b3f09681ed 100644 --- a/spec/models/reports_services_spec.rb +++ b/spec/models/reports_services_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Reports::ReportsService, type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } it 'should be initializable with a project' do expect { Reports::ReportsService.new(project) }.not_to raise_error diff --git a/spec/models/repository/git_spec.rb b/spec/models/repository/git_spec.rb index 6b6fbead909..ab293dbcf72 100644 --- a/spec/models/repository/git_spec.rb +++ b/spec/models/repository/git_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Repository::Git, type: :model do let(:encoding) { 'UTF-8' } - let(:instance) { FactoryBot.build(:repository_git, path_encoding: encoding) } + let(:instance) { build(:repository_git, path_encoding: encoding) } let(:adapter) { instance.scm } let(:config) { {} } let(:enabled_scm) { %w[git] } @@ -79,7 +79,7 @@ describe Repository::Git, type: :model do context 'with managed config' do let(:config) { { manages: managed_path } } - let(:project) { FactoryBot.build :project } + let(:project) { build :project } let(:identifier) { project.identifier + '.git' } it 'is manageable' do @@ -126,8 +126,8 @@ describe Repository::Git, type: :model do end context 'and associated project with parent' do - let(:parent) { FactoryBot.build :project } - let(:project) { FactoryBot.build :project, parent: parent } + let(:parent) { build :project } + let(:project) { build :project, parent: parent } before do instance.project = project @@ -142,7 +142,7 @@ describe Repository::Git, type: :model do end describe 'URL validation' do - let(:instance) { FactoryBot.build(:repository_git, url: url) } + let(:instance) { build(:repository_git, url: url) } shared_examples 'repository url is valid' do it 'is valid' do @@ -179,7 +179,7 @@ describe Repository::Git, type: :model do with_git_repository do |repo_dir| let(:url) { repo_dir } let(:instance) do - FactoryBot.create(:repository_git, + create(:repository_git, path_encoding: encoding, url: url, root_url: url) @@ -405,8 +405,8 @@ describe Repository::Git, type: :model do end context 'with an admin browsing activity' do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } def find_events(user, options = {}) options[:scope] = ['changesets'] diff --git a/spec/models/repository/subversion_spec.rb b/spec/models/repository/subversion_spec.rb index c5dedcee01b..efdc7c29616 100644 --- a/spec/models/repository/subversion_spec.rb +++ b/spec/models/repository/subversion_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Repository::Subversion, type: :model do - let(:instance) { FactoryBot.build(:repository_subversion) } + let(:instance) { build(:repository_subversion) } let(:adapter) { instance.scm } let(:config) { {} } let(:enabled_scm) { %w[subversion] } @@ -103,7 +103,7 @@ describe Repository::Subversion, type: :model do context 'with managed config' do let(:config) { { manages: managed_path } } - let(:project) { FactoryBot.build :project } + let(:project) { build :project } it 'is manageable' do expect(instance.manageable?).to be true @@ -132,8 +132,8 @@ describe Repository::Subversion, type: :model do end context 'and associated project with parent' do - let(:parent) { FactoryBot.build :project } - let(:project) { FactoryBot.build :project, parent: parent } + let(:parent) { build :project } + let(:project) { build :project, parent: parent } before do instance.project = project @@ -149,7 +149,7 @@ describe Repository::Subversion, type: :model do describe 'with a remote repository' do let(:instance) do - FactoryBot.build(:repository_subversion, + build(:repository_subversion, url: 'https://somewhere.example.org/svn/foo') end @@ -161,7 +161,7 @@ describe Repository::Subversion, type: :model do describe 'with an actual repository' do with_subversion_repository do |repo_dir| let(:url) { "file://#{repo_dir}" } - let(:instance) { FactoryBot.create(:repository_subversion, url: url, root_url: url) } + let(:instance) { create(:repository_subversion, url: url, root_url: url) } it 'should be available' do expect(instance.scm).to be_available @@ -305,8 +305,8 @@ describe Repository::Subversion, type: :model do end context 'with an admin browsing activity' do - let(:user) { FactoryBot.create(:admin) } - let(:project) { FactoryBot.create(:project) } + let(:user) { create(:admin) } + let(:project) { create(:project) } def find_events(user, options = {}) options[:scope] = ['changesets'] @@ -371,7 +371,7 @@ describe Repository::Subversion, type: :model do describe 'ciphering' do it 'password is encrypted' do OpenProject::Configuration.with 'database_cipher_key' => 'secret' do - r = FactoryBot.create(:repository_subversion, password: 'foo') + r = create(:repository_subversion, password: 'foo') expect(r.password) .to eql('foo') @@ -382,7 +382,7 @@ describe Repository::Subversion, type: :model do it 'password is unencrypted with blank key' do OpenProject::Configuration.with 'database_cipher_key' => '' do - r = FactoryBot.create(:repository_subversion, password: 'foo') + r = create(:repository_subversion, password: 'foo') expect(r.password) .to eql('foo') expect(r.read_attribute(:password)) @@ -392,7 +392,7 @@ describe Repository::Subversion, type: :model do it 'password is unencrypted with nil key' do OpenProject::Configuration.with 'database_cipher_key' => nil do - r = FactoryBot.create(:repository_subversion, password: 'foo') + r = create(:repository_subversion, password: 'foo') expect(r.password) .to eql('foo') @@ -403,7 +403,7 @@ describe Repository::Subversion, type: :model do it 'unciphered password is readable if activating cipher later' do OpenProject::Configuration.with 'database_cipher_key' => nil do - FactoryBot.create(:repository_subversion, password: 'clear') + create(:repository_subversion, password: 'clear') end OpenProject::Configuration.with 'database_cipher_key' => 'secret' do @@ -418,8 +418,8 @@ describe Repository::Subversion, type: :model do it 'encrypts formerly unencrypted passwords' do Repository.delete_all OpenProject::Configuration.with 'database_cipher_key' => nil do - FactoryBot.create(:repository_subversion, password: 'foo') - FactoryBot.create(:repository_subversion, password: 'bar') + create(:repository_subversion, password: 'foo') + create(:repository_subversion, password: 'bar') end OpenProject::Configuration.with 'database_cipher_key' => 'secret' do @@ -447,8 +447,8 @@ describe Repository::Subversion, type: :model do it 'removes cyphering from all passwords' do Repository.delete_all OpenProject::Configuration.with 'database_cipher_key' => 'secret' do - foo = FactoryBot.create(:repository_subversion, password: 'foo') - bar = FactoryBot.create(:repository_subversion, password: 'bar') + foo = create(:repository_subversion, password: 'foo') + bar = create(:repository_subversion, password: 'bar') expect(Repository.decrypt_all(:password)) .to be_truthy diff --git a/spec/models/role_spec.rb b/spec/models/role_spec.rb index bc46df5c9e8..a101e9fdf6c 100644 --- a/spec/models/role_spec.rb +++ b/spec/models/role_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe Role, type: :model do let(:permissions) { %i[permission1 permission2] } - let(:build_role) { FactoryBot.build(:role, permissions: permissions) } - let(:created_role) { FactoryBot.create(:role, permissions: permissions) } + let(:build_role) { build(:role, permissions: permissions) } + let(:created_role) { create(:role, permissions: permissions) } describe '#by_permission' do it 'returns roles with given permission' do @@ -150,14 +150,14 @@ describe Role, type: :model do end describe '.in_new_project' do - let!(:ungivable_role) { FactoryBot.create(:role, builtin: Role::BUILTIN_NON_MEMBER) } + let!(:ungivable_role) { create(:role, builtin: Role::BUILTIN_NON_MEMBER) } let!(:second_role) do - FactoryBot.create(:role).tap do |r| + create(:role).tap do |r| r.update_column(:position, 100) end end let!(:first_role) do - FactoryBot.create(:role).tap do |r| + create(:role).tap do |r| r.update_column(:position, 1) end end diff --git a/spec/models/sessions/active_record_sessions_spec.rb b/spec/models/sessions/active_record_sessions_spec.rb index 600f56dcffa..0e90a60da44 100644 --- a/spec/models/sessions/active_record_sessions_spec.rb +++ b/spec/models/sessions/active_record_sessions_spec.rb @@ -39,7 +39,7 @@ describe ::Sessions::UserSession do end describe '#update' do - let(:session) { FactoryBot.create :user_session } + let(:session) { create :user_session } subject { described_class.find_by(session_id: session.session_id) } it 'can not update' do @@ -52,7 +52,7 @@ describe ::Sessions::UserSession do end describe '#destroy' do - let(:sessions) { FactoryBot.create :user_session } + let(:sessions) { create :user_session } it 'can not destroy' do expect { subject.destroy }.to raise_error(ActiveRecord::ReadOnlyRecord) @@ -61,8 +61,8 @@ describe ::Sessions::UserSession do end describe '.for_user' do - let(:user) { FactoryBot.create :user } - let!(:sessions) { FactoryBot.create_list :user_session, 2, user: user } + let(:user) { create :user } + let!(:sessions) { create_list :user_session, 2, user: user } subject { described_class.for_user(user) } @@ -78,7 +78,7 @@ describe ::Sessions::UserSession do end describe '.non_user' do - let!(:session) { FactoryBot.create :user_session, user: nil } + let!(:session) { create :user_session, user: nil } subject { described_class.non_user } diff --git a/spec/models/sessions/sql_bypass_sessions_spec.rb b/spec/models/sessions/sql_bypass_sessions_spec.rb index 762c35b4f2e..162818d374c 100644 --- a/spec/models/sessions/sql_bypass_sessions_spec.rb +++ b/spec/models/sessions/sql_bypass_sessions_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::Sessions::SqlBypass do - subject { FactoryBot.build(:user_session, user: user) } + subject { build(:user_session, user: user) } shared_examples 'augments the user_id attribute' do it do @@ -39,7 +39,7 @@ describe ::Sessions::SqlBypass do end describe 'when user_id is present' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:user_id) { user.id } it_behaves_like 'augments the user_id attribute' end @@ -51,8 +51,8 @@ describe ::Sessions::SqlBypass do end describe 'delete other sessions on destroy' do - let(:user) { FactoryBot.build_stubbed(:user) } - let!(:sessions) { FactoryBot.create_list(:user_session, 2, user: user) } + let(:user) { build_stubbed(:user) } + let!(:sessions) { create_list(:user_session, 2, user: user) } context 'when config is enabled', with_config: { drop_old_sessions_on_logout: true } do diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index c2dec634f98..6794bce400c 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe Status, type: :model do - let(:stubbed_status) { FactoryBot.build_stubbed(:status) } + let(:stubbed_status) { build_stubbed(:status) } describe 'default status' do context 'when default exists' do - let!(:status) { FactoryBot.create(:default_status) } + let!(:status) { create(:default_status) } it 'returns that one' do expect(described_class.default).to eq(status) @@ -47,7 +47,7 @@ describe Status, type: :model do end it 'is removed from the existing default status upon creation of a new one' do - new_default = FactoryBot.create(:status) + new_default = create(:status) new_default.is_default = true new_default.save @@ -65,7 +65,7 @@ describe Status, type: :model do end describe '#is_readonly' do - let!(:status) { FactoryBot.build(:status, is_readonly: true) } + let!(:status) { build(:status, is_readonly: true) } context 'when EE enabled', with_ee: %i[readonly_work_packages] do it 'is still marked read only' do @@ -98,8 +98,8 @@ describe Status, type: :model do end describe '.update_done_ratios' do - let(:status) { FactoryBot.create(:status, default_done_ratio: 50) } - let(:work_package) { FactoryBot.create(:work_package, status: status) } + let(:status) { create(:status, default_done_ratio: 50) } + let(:work_package) { create(:work_package, status: status) } context 'with Setting.work_package_done_ratio using the field', with_settings: { work_package_done_ratio: 'field' } do it 'changes nothing' do @@ -123,14 +123,14 @@ describe Status, type: :model do describe '#destroy' do it 'cannot be destroyed if the status is in use' do - work_package = FactoryBot.create(:work_package) + work_package = create(:work_package) expect { work_package.status.destroy } .to raise_error(RuntimeError, "Can't delete status") end it 'cleans up the workflows' do - workflow = FactoryBot.create(:workflow) + workflow = create(:workflow) expect { workflow.old_status.destroy } .to change { Workflow.exists?(id: workflow.id) } diff --git a/spec/models/token/base_token_spec.rb b/spec/models/token/base_token_spec.rb index 3430c3d7e6d..33f7db74b40 100644 --- a/spec/models/token/base_token_spec.rb +++ b/spec/models/token/base_token_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::Token::Base, type: :model do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } subject { described_class.new user: user } diff --git a/spec/models/token/hashed_token_spec.rb b/spec/models/token/hashed_token_spec.rb index 86c80235805..e5293480be4 100644 --- a/spec/models/token/hashed_token_spec.rb +++ b/spec/models/token/hashed_token_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::Token::HashedToken, type: :model do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } subject { described_class.new user: user } diff --git a/spec/models/type/attribute_groups_spec.rb b/spec/models/type/attribute_groups_spec.rb index 82933d836fc..fcfeb9c41cb 100644 --- a/spec/models/type/attribute_groups_spec.rb +++ b/spec/models/type/attribute_groups_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe ::Type, type: :model do - let(:type) { FactoryBot.build(:type) } - shared_let(:admin) { FactoryBot.create :admin } + let(:type) { build(:type) } + shared_let(:admin) { create :admin } before do # Clear up the request store cache for all_work_package_attributes @@ -91,8 +91,8 @@ describe ::Type, type: :model do end context 'with a query group' do - let(:type) { FactoryBot.create(:type) } - let(:query) { FactoryBot.build(:global_query, user_id: 0) } + let(:type) { create(:type) } + let(:query) { build(:global_query, user_id: 0) } before do login_as(admin) @@ -111,7 +111,7 @@ describe ::Type, type: :model do end it 'removes the former query if a new one is assigned' do - new_query = FactoryBot.build(:global_query, user_id: 0) + new_query = build(:global_query, user_id: 0) type.attribute_groups[0].attributes = new_query type.save! type.reload @@ -158,7 +158,7 @@ describe ::Type, type: :model do describe 'custom fields' do let!(:custom_field) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string' ) @@ -179,7 +179,7 @@ describe ::Type, type: :model do context 'with multiple CFs' do let!(:custom_field2) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string' ) @@ -205,13 +205,13 @@ describe ::Type, type: :model do describe 'custom field added implicitly to type' do let(:custom_field) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'string', is_for_all: true ) end - let!(:type) { FactoryBot.create(:type, custom_fields: [custom_field]) } + let!(:type) { create(:type, custom_fields: [custom_field]) } it 'has the custom field in the default group' do OpenProject::Cache.clear @@ -233,7 +233,7 @@ describe ::Type, type: :model do end describe '#destroy' do - let(:query) { FactoryBot.build(:global_query, user_id: 0) } + let(:query) { build(:global_query, user_id: 0) } before do login_as(admin) diff --git a/spec/models/type_spec.rb b/spec/models/type_spec.rb index d313e6ee9ec..9bdfb620459 100644 --- a/spec/models/type_spec.rb +++ b/spec/models/type_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe ::Type, type: :model do - let(:type) { FactoryBot.build(:type) } - let(:type2) { FactoryBot.build(:type) } - let(:project) { FactoryBot.build(:project, no_types: true) } + let(:type) { build(:type) } + let(:type2) { build(:type) } + let(:project) { build(:project, no_types: true) } describe '.enabled_in(project)' do before do @@ -52,7 +52,7 @@ describe ::Type, type: :model do let(:subject) { type.statuses } context 'when new' do - let(:type) { FactoryBot.build(:type) } + let(:type) { build(:type) } it 'returns an empty relation' do expect(subject).to be_empty @@ -60,7 +60,7 @@ describe ::Type, type: :model do end context 'when existing but no statuses' do - let(:type) { FactoryBot.create(:type) } + let(:type) { create(:type) } it 'returns an empty relation' do expect(subject).to be_empty @@ -68,12 +68,12 @@ describe ::Type, type: :model do end context 'when existing with workflow' do - let(:role) { FactoryBot.create(:role) } - let(:statuses) { (1..2).map { |_i| FactoryBot.create(:status) } } + let(:role) { create(:role) } + let(:statuses) { (1..2).map { |_i| create(:status) } } - let!(:type) { FactoryBot.create(:type) } + let!(:type) { create(:type) } let!(:workflow_a) do - FactoryBot.create(:workflow, role_id: role.id, + create(:workflow, role_id: role.id, type_id: type.id, old_status_id: statuses[0].id, new_status_id: statuses[1].id, @@ -86,7 +86,7 @@ describe ::Type, type: :model do end context 'with default status' do - let!(:default_status) { FactoryBot.create(:default_status) } + let!(:default_status) { create(:default_status) } let(:subject) { type.statuses(include_default: true) } it 'returns the workflow and the default status' do diff --git a/spec/models/types/scopes/milestone_spec.rb b/spec/models/types/scopes/milestone_spec.rb index 6be1938a79d..ed9fc45fe5b 100644 --- a/spec/models/types/scopes/milestone_spec.rb +++ b/spec/models/types/scopes/milestone_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe Types::Scopes::Milestone, type: :model do - let!(:milestone) { FactoryBot.create(:type, is_milestone: true) } - let!(:other_type) { FactoryBot.create(:type, is_milestone: false) } + let!(:milestone) { create(:type, is_milestone: true) } + let!(:other_type) { create(:type, is_milestone: false) } describe '.milestone' do subject { Type.milestone } diff --git a/spec/models/user_password_spec.rb b/spec/models/user_password_spec.rb index 4be29eba4a6..45f7826500f 100644 --- a/spec/models/user_password_spec.rb +++ b/spec/models/user_password_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe UserPassword, type: :model do - let(:old_password) { FactoryBot.create(:old_user_password) } - let(:user) { FactoryBot.create(:user) } - let(:password) { FactoryBot.create(:user_password, user: user, plain_password: 'adminAdmin!') } + let(:old_password) { create(:old_user_password) } + let(:user) { create(:user) } + let(:password) { create(:user_password, user: user, plain_password: 'adminAdmin!') } describe '#expired?' do context 'with expiry value set', @@ -62,7 +62,7 @@ describe UserPassword, type: :model do describe '#rehash_as_active' do let(:password) do - pass = FactoryBot.build(:legacy_sha1_password, user: user, plain_password: 'adminAdmin!') + pass = build(:legacy_sha1_password, user: user, plain_password: 'adminAdmin!') expect(pass).to receive(:salt_and_hash_password!).and_return nil pass.save! @@ -96,7 +96,7 @@ describe UserPassword, type: :model do end describe '#save' do - let(:password) { FactoryBot.build(:user_password) } + let(:password) { build(:user_password) } it 'saves correctly' do expect(password).to receive(:salt_and_hash_password!).and_call_original diff --git a/spec/models/user_passwords/sha1_spec.rb b/spec/models/user_passwords/sha1_spec.rb index e79ddac0dfe..1f73fed45d6 100644 --- a/spec/models/user_passwords/sha1_spec.rb +++ b/spec/models/user_passwords/sha1_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe UserPassword::SHA1, type: :model do let(:legacy_password) do - pass = FactoryBot.build(:legacy_sha1_password, plain_password: 'adminAdmin!') + pass = build(:legacy_sha1_password, plain_password: 'adminAdmin!') expect(pass).to receive(:salt_and_hash_password!).and_return nil pass.save! @@ -45,7 +45,7 @@ describe UserPassword::SHA1, type: :model do end describe '#create' do - let(:legacy_password) { FactoryBot.build(:legacy_sha1_password) } + let(:legacy_password) { build(:legacy_sha1_password) } it 'raises an exception trying to save it' do expect { legacy_password.save! }.to raise_error(ArgumentError) diff --git a/spec/models/user_preference_spec.rb b/spec/models/user_preference_spec.rb index 7a878fcad91..282252286b7 100644 --- a/spec/models/user_preference_spec.rb +++ b/spec/models/user_preference_spec.rb @@ -30,14 +30,14 @@ require 'spec_helper' describe UserPreference do subject(:preference) do - FactoryBot.build(:user_preference, + build(:user_preference, user: user, settings: settings) end let(:settings) { {} } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } shared_examples 'accepts real and false booleans' do |setter, getter| it 'accepts true boolean' do @@ -187,7 +187,7 @@ describe UserPreference do end describe '[]=' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } it 'will save the values on sending "save"' do subject.save diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 94821524b10..5a40c409380 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe User, type: :model do - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.create(:project_with_types) } - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:user) { build(:user) } + let(:project) { create(:project_with_types) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role], principal: user) end - let(:status) { FactoryBot.create(:status) } + let(:status) { create(:status) } let(:issue) do - FactoryBot.build(:work_package, type: project.types.first, + build(:work_package, type: project.types.first, author: user, project: project, status: status) @@ -228,7 +228,7 @@ describe User, type: :model do describe '#blocked' do let!(:blocked_user) do - FactoryBot.create(:user, + create(:user, failed_login_count: 3, last_failed_login_on: Time.now) end @@ -246,7 +246,7 @@ describe User, type: :model do end describe '#change_password_allowed?' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } context 'for user without auth source' do before do @@ -259,7 +259,7 @@ describe User, type: :model do end context 'for user with an auth source' do - let(:allowed_auth_source) { FactoryBot.create :auth_source } + let(:allowed_auth_source) { create :auth_source } context 'that allows password changes' do before do @@ -273,7 +273,7 @@ describe User, type: :model do end context 'that does not allow password changes' do - let(:denied_auth_source) { FactoryBot.create :auth_source } + let(:denied_auth_source) { create :auth_source } before do def denied_auth_source.allow_password_changes?; false; end @@ -330,7 +330,7 @@ describe User, type: :model do describe '#uses_external_authentication?' do context 'with identity_url' do - let(:user) { FactoryBot.build(:user, identity_url: 'test_provider:veryuniqueid') } + let(:user) { build(:user, identity_url: 'test_provider:veryuniqueid') } it 'should return true' do expect(user.uses_external_authentication?).to be_truthy @@ -338,7 +338,7 @@ describe User, type: :model do end context 'without identity_url' do - let(:user) { FactoryBot.build(:user, identity_url: nil) } + let(:user) { build(:user, identity_url: nil) } it 'should return false' do expect(user.uses_external_authentication?).to be_falsey @@ -405,9 +405,9 @@ describe User, type: :model do end context 'with an external auth source' do - let(:auth_source) { FactoryBot.build(:auth_source) } + let(:auth_source) { build(:auth_source) } let(:user_with_external_auth_source) do - user = FactoryBot.build(:user, login: 'user') + user = build(:user, login: 'user') allow(user).to receive(:auth_source).and_return(auth_source) user end @@ -468,7 +468,7 @@ describe User, type: :model do describe '.default_admin_account_deleted_or_changed?' do let(:default_admin) do - FactoryBot.build(:user, login: 'admin', password: 'admin', password_confirmation: 'admin', admin: true) + build(:user, login: 'admin', password: 'admin', password_confirmation: 'admin', admin: true) end before do @@ -535,8 +535,8 @@ describe User, type: :model do describe 'scope.newest' do let!(:anonymous) { User.anonymous } - let!(:user1) { FactoryBot.create(:user) } - let!(:user2) { FactoryBot.create(:user) } + let!(:user1) { create(:user) } + let!(:user2) { create(:user) } let(:newest) { User.newest.to_a } @@ -555,9 +555,9 @@ describe User, type: :model do end describe '#find_by_mail' do - let!(:user1) { FactoryBot.create(:user, mail: 'foo+test@example.org') } - let!(:user2) { FactoryBot.create(:user, mail: 'foo@example.org') } - let!(:user3) { FactoryBot.create(:user, mail: 'foo-bar@example.org') } + let!(:user1) { create(:user, mail: 'foo+test@example.org') } + let!(:user2) { create(:user, mail: 'foo@example.org') } + let!(:user3) { create(:user, mail: 'foo-bar@example.org') } context 'with default plus suffix' do it 'finds users matching the suffix' do diff --git a/spec/models/users/allowed_scope_spec.rb b/spec/models/users/allowed_scope_spec.rb index c16279c6add..5c34d6a90df 100644 --- a/spec/models/users/allowed_scope_spec.rb +++ b/spec/models/users/allowed_scope_spec.rb @@ -30,14 +30,14 @@ require 'spec_helper' describe User, 'allowed scope' do let(:user) { member.principal } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:project) { FactoryBot.build(:project, public: false) } - let(:project2) { FactoryBot.build(:project, public: false) } - let(:role) { FactoryBot.build(:role) } - let(:role2) { FactoryBot.build(:role) } - let(:anonymous_role) { FactoryBot.build(:anonymous_role) } + let(:anonymous) { build(:anonymous) } + let(:project) { build(:project, public: false) } + let(:project2) { build(:project, public: false) } + let(:role) { build(:role) } + let(:role2) { build(:role) } + let(:anonymous_role) { build(:anonymous_role) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role]) end diff --git a/spec/models/users/allowed_to_spec.rb b/spec/models/users/allowed_to_spec.rb index f29e98d430b..fd70c0bddaf 100644 --- a/spec/models/users/allowed_to_spec.rb +++ b/spec/models/users/allowed_to_spec.rb @@ -29,27 +29,27 @@ require 'spec_helper' describe User, 'allowed_to?' do - let(:user) { FactoryBot.build(:user) } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:project) { FactoryBot.build(:project, public: false) } - let(:project2) { FactoryBot.build(:project, public: false) } - let(:role) { FactoryBot.build(:role) } - let(:role2) { FactoryBot.build(:role) } - let(:anonymous_role) { FactoryBot.build(:anonymous_role) } + let(:user) { build(:user) } + let(:anonymous) { build(:anonymous) } + let(:project) { build(:project, public: false) } + let(:project2) { build(:project, public: false) } + let(:role) { build(:role) } + let(:role2) { build(:role) } + let(:anonymous_role) { build(:anonymous_role) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role], principal: user) end let(:member2) do - FactoryBot.build(:member, project: project2, + build(:member, project: project2, roles: [role2], principal: user) end let(:global_permission) { OpenProject::AccessControl.permissions.find { |p| p.global? } } - let(:global_role) { FactoryBot.build(:global_role, permissions: [global_permission.name]) } + let(:global_role) { build(:global_role, permissions: [global_permission.name]) } let(:global_member) do - FactoryBot.build(:global_member, + build(:global_member, principal: user, roles: [global_role]) end diff --git a/spec/models/users/default_timezone_spec.rb b/spec/models/users/default_timezone_spec.rb index ddeb2997eb2..195bde98e8d 100644 --- a/spec/models/users/default_timezone_spec.rb +++ b/spec/models/users/default_timezone_spec.rb @@ -29,7 +29,7 @@ require "spec_helper" describe User, "default time zone" do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } context "with no system default set" do it "is not set" do diff --git a/spec/models/users/scopes/find_by_login_spec.rb b/spec/models/users/scopes/find_by_login_spec.rb index 0d264076d20..840724446a4 100644 --- a/spec/models/users/scopes/find_by_login_spec.rb +++ b/spec/models/users/scopes/find_by_login_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Users::Scopes::FindByLogin, type: :model do - let!(:activity) { FactoryBot.create(:time_entry_activity) } - let!(:project) { FactoryBot.create(:project) } - let!(:user) { FactoryBot.create(:user, login: login) } + let!(:activity) { create(:time_entry_activity) } + let!(:project) { create(:project) } + let!(:user) { create(:user, login: login) } let(:login) { 'Some string' } let(:search_login) { login } diff --git a/spec/models/users/scopes/having_reminder_mail_to_send_spec.rb b/spec/models/users/scopes/having_reminder_mail_to_send_spec.rb index d2638ecf050..584509e1f92 100644 --- a/spec/models/users/scopes/having_reminder_mail_to_send_spec.rb +++ b/spec/models/users/scopes/having_reminder_mail_to_send_spec.rb @@ -48,7 +48,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do let(:scope_time) { "2021-09-30T08:00:00Z".to_datetime } let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: { @@ -71,7 +71,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do times: [hitting_reminder_slot_for("Europe/Paris", current_time)] } end - let(:notifications) { FactoryBot.create(:notification, recipient: paris_user, created_at: 5.minutes.ago) } + let(:notifications) { create(:notification, recipient: paris_user, created_at: 5.minutes.ago) } let(:users) { [paris_user] } before do @@ -154,7 +154,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is on the previous workday' do # 8:00 thursday Etc/UTC = 22:00 wednesday Pacific/Honolulu let(:hawaii_user) do - FactoryBot.create( + create( :user, firstname: 'Pacific/Honolulu', preferences: { @@ -174,7 +174,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do } end let(:notifications) do - FactoryBot.create(:notification, recipient: hawaii_user, created_at: 5.minutes.ago) + create(:notification, recipient: hawaii_user, created_at: 5.minutes.ago) end let(:users) { [hawaii_user] } let(:hawaii_user_workdays) { paris_user_workdays } @@ -230,7 +230,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do let(:scope_time) { "2021-09-30T12:00:00Z".to_datetime } let(:samoa_user) do - FactoryBot.create( + create( :user, firstname: 'Pacific/Apia', preferences: { @@ -244,7 +244,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do ) end let(:notifications) do - FactoryBot.create(:notification, recipient: samoa_user, created_at: 5.minutes.ago) + create(:notification, recipient: samoa_user, created_at: 5.minutes.ago) end let(:users) { [samoa_user] } let(:samoa_user_workdays) { paris_user_workdays } @@ -266,7 +266,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time (in a non CET time zone)' do let(:moscow_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Moscow', preferences: { @@ -279,7 +279,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do ) end let(:notifications) do - FactoryBot.create(:notification, recipient: moscow_user, created_at: 5.minutes.ago) + create(:notification, recipient: moscow_user, created_at: 5.minutes.ago) end let(:users) { [moscow_user] } @@ -370,7 +370,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time but without a daily_reminders setting at 8:00' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: { @@ -389,7 +389,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time but without a daily_reminders setting at 10:00' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: { @@ -408,7 +408,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user who is in a 45 min time zone and having reminder set to 8:00 and being executed at 8:10' do let(:kathmandu_user) do - FactoryBot.create( + create( :user, firstname: 'Asia/Kathmandu', preferences: { @@ -423,7 +423,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do let(:current_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T08:10").utc } let(:scope_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T08:00").utc } let(:notifications) do - FactoryBot.create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) + create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) end let(:users) { [kathmandu_user] } @@ -436,7 +436,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user who is in a 45 min time zone and having reminder set to 8:00 and being executed at 8:40' do let(:kathmandu_user) do - FactoryBot.create( + create( :user, firstname: 'Asia/Kathmandu', preferences: { @@ -451,7 +451,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do let(:current_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T08:40").utc } let(:scope_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T08:30").utc } let(:notifications) do - FactoryBot.create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) + create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) end let(:users) { [kathmandu_user] } @@ -464,7 +464,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user who is in a 45 min time zone and having reminder set to 8:00 and being executed at 7:55' do let(:kathmandu_user) do - FactoryBot.create( + create( :user, firstname: 'Asia/Kathmandu', preferences: { @@ -479,7 +479,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do let(:current_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T07:55").utc } let(:scope_time) { ActiveSupport::TimeZone['Asia/Kathmandu'].parse("2021-09-30T07:45").utc } let(:notifications) do - FactoryBot.create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) + create(:notification, recipient: kathmandu_user, created_at: 5.minutes.ago) end let(:users) { [kathmandu_user] } @@ -492,7 +492,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time but with an already read notification (IAN)' do let(:notifications) do - FactoryBot.create(:notification, recipient: paris_user, created_at: 5.minutes.ago, read_ian: true) + create(:notification, recipient: paris_user, created_at: 5.minutes.ago, read_ian: true) end it 'is empty' do @@ -503,7 +503,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time but with an already read notification (reminder)' do let(:notifications) do - FactoryBot.create(:notification, recipient: paris_user, created_at: 5.minutes.ago, mail_reminder_sent: true) + create(:notification, recipient: paris_user, created_at: 5.minutes.ago, mail_reminder_sent: true) end it 'is empty' do @@ -514,7 +514,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user whose local time is matching the configured time but with the user being inactive' do let(:notifications) do - FactoryBot.create(:notification, recipient: paris_user, created_at: 5.minutes.ago) + create(:notification, recipient: paris_user, created_at: 5.minutes.ago) end before do @@ -557,7 +557,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user without a time zone' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: { @@ -577,7 +577,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user without a blank time zone' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: { @@ -598,7 +598,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user without a time zone and daily_reminders at 08:00' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: {} @@ -614,7 +614,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user without a time zone and daily_reminders at 10:00' do let(:paris_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Paris', preferences: {} @@ -632,7 +632,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do context 'for a user without a time zone and a default time zone configured', with_settings: { user_default_timezone: 'Europe/Moscow' } do let(:moscow_user) do - FactoryBot.create( + create( :user, firstname: 'Europe/Moscow', preferences: { @@ -644,7 +644,7 @@ describe User, '.having_reminder_mail_to_send', type: :model do ) end let(:notifications) do - FactoryBot.create(:notification, recipient: moscow_user, created_at: 5.minutes.ago) + create(:notification, recipient: moscow_user, created_at: 5.minutes.ago) end let(:users) { [moscow_user] } diff --git a/spec/models/users/scopes/newest_spec.rb b/spec/models/users/scopes/newest_spec.rb index d8e1c767774..d88028630a5 100644 --- a/spec/models/users/scopes/newest_spec.rb +++ b/spec/models/users/scopes/newest_spec.rb @@ -32,14 +32,14 @@ require 'spec_helper' describe Users::Scopes::Newest, type: :model do describe '.newest' do - let!(:anonymous_user) { FactoryBot.create(:anonymous) } - let!(:system_user) { FactoryBot.create(:system) } - let!(:deleted_user) { FactoryBot.create(:deleted_user) } - let!(:group) { FactoryBot.create(:group) } - let!(:user1) { FactoryBot.create(:user) } - let!(:user2) { FactoryBot.create(:user) } - let!(:user3) { FactoryBot.create(:user) } - let!(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let!(:anonymous_user) { create(:anonymous) } + let!(:system_user) { create(:system) } + let!(:deleted_user) { create(:deleted_user) } + let!(:group) { create(:group) } + let!(:user1) { create(:user) } + let!(:user2) { create(:user) } + let!(:user3) { create(:user) } + let!(:placeholder_user) { create(:placeholder_user) } subject { User.newest } diff --git a/spec/models/version_spec.rb b/spec/models/version_spec.rb index 388bd34c92e..966971de63b 100644 --- a/spec/models/version_spec.rb +++ b/spec/models/version_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe Version, type: :model do - subject(:version) { FactoryBot.build(:version, name: 'Test Version') } + subject(:version) { build(:version, name: 'Test Version') } it { is_expected.to be_valid } @@ -42,7 +42,7 @@ describe Version, type: :model do end context '#to_s_for_project' do - let(:other_project) { FactoryBot.build(:project) } + let(:other_project) { build(:project) } it 'returns only the version for the same project' do expect(version.to_s_for_project(version.project)).to eq(version.name.to_s) @@ -77,8 +77,8 @@ describe Version, type: :model do end context '#<=>' do - let(:version1) { FactoryBot.build_stubbed(:version) } - let(:version2) { FactoryBot.build_stubbed(:version) } + let(:version1) { build_stubbed(:version) } + let(:version2) { build_stubbed(:version) } it 'is 0 if name and project are equal' do version1.project = version2.project @@ -169,38 +169,38 @@ describe Version, type: :model do context '#projects' do let(:grand_parent_project) do - FactoryBot.build(:project, name: 'grand_parent_project') + build(:project, name: 'grand_parent_project') end let(:parent_project) do - FactoryBot.build(:project, parent: grand_parent_project, name: 'parent_project') + build(:project, parent: grand_parent_project, name: 'parent_project') end let(:sibling_parent_project) do - FactoryBot.build(:project, parent: grand_parent_project, name: 'sibling_parent_project') + build(:project, parent: grand_parent_project, name: 'sibling_parent_project') end let(:child_project) do - FactoryBot.build(:project, parent: parent_project, name: 'child_project') + build(:project, parent: parent_project, name: 'child_project') end let(:sibling_project) do - FactoryBot.build(:project, parent: parent_project, name: 'sibling_project') + build(:project, parent: parent_project, name: 'sibling_project') end let(:unrelated_project) do - FactoryBot.build(:project, name: 'unrelated_project') + build(:project, name: 'unrelated_project') end let(:unshared_version) do - FactoryBot.build(:version, project: parent_project, sharing: 'none') + build(:version, project: parent_project, sharing: 'none') end let(:hierarchy_shared_version) do - FactoryBot.build(:version, project: parent_project, sharing: 'hierarchy') + build(:version, project: parent_project, sharing: 'hierarchy') end let(:descendants_shared_version) do - FactoryBot.build(:version, project: parent_project, sharing: 'descendants') + build(:version, project: parent_project, sharing: 'descendants') end let(:system_shared_version) do - FactoryBot.build(:version, project: parent_project, sharing: 'system') + build(:version, project: parent_project, sharing: 'system') end let(:tree_shared_version) do - FactoryBot.build(:version, project: parent_project, sharing: 'tree') + build(:version, project: parent_project, sharing: 'tree') end def save_all_projects diff --git a/spec/models/versions/scopes/order_by_semver_name_spec.rb b/spec/models/versions/scopes/order_by_semver_name_spec.rb index f5c2610625a..99fad0fa31e 100644 --- a/spec/models/versions/scopes/order_by_semver_name_spec.rb +++ b/spec/models/versions/scopes/order_by_semver_name_spec.rb @@ -1,27 +1,27 @@ require 'spec_helper' describe Versions::Scopes::OrderBySemverName, type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let!(:version1) do - FactoryBot.create(:version, name: "aaaaa 1.", project: project) + create(:version, name: "aaaaa 1.", project: project) end let!(:version2) do - FactoryBot.create(:version, name: "aaaaa", project: project) + create(:version, name: "aaaaa", project: project) end let!(:version3) do - FactoryBot.create(:version, name: "1.10. aaa", project: project) + create(:version, name: "1.10. aaa", project: project) end let!(:version4) do - FactoryBot.create(:version, name: "1.1. zzz", project: project, start_date: Date.today, effective_date: Date.today + 1.day) + create(:version, name: "1.1. zzz", project: project, start_date: Date.today, effective_date: Date.today + 1.day) end let!(:version5) do - FactoryBot.create(:version, name: "1.2. mmm", project: project, start_date: Date.today) + create(:version, name: "1.2. mmm", project: project, start_date: Date.today) end let!(:version6) do - FactoryBot.create(:version, name: "1. xxxx", project: project, start_date: Date.today + 5.days) + create(:version, name: "1. xxxx", project: project, start_date: Date.today + 5.days) end let!(:version7) do - FactoryBot.create(:version, name: "1.1. aaa", project: project) + create(:version, name: "1.1. aaa", project: project) end subject { Version.order_by_semver_name } diff --git a/spec/models/versions/scopes/rolled_up_spec.rb b/spec/models/versions/scopes/rolled_up_spec.rb index b737d64666e..2cb295b5e98 100644 --- a/spec/models/versions/scopes/rolled_up_spec.rb +++ b/spec/models/versions/scopes/rolled_up_spec.rb @@ -31,16 +31,16 @@ require 'spec_helper' describe Versions::Scopes::RolledUp, type: :model do - shared_let(:parent_project) { FactoryBot.create(:project) } - shared_let(:project) { FactoryBot.create(:project, parent: parent_project) } - shared_let(:sibling_project) { FactoryBot.create(:project, parent: parent_project) } - shared_let(:child_project) { FactoryBot.create(:project, parent: project) } - shared_let(:grand_child_project) { FactoryBot.create(:project, parent: child_project) } - shared_let(:version) { FactoryBot.create(:version, project: project) } - shared_let(:child_version) { FactoryBot.create(:version, project: child_project) } - shared_let(:grand_child_version) { FactoryBot.create(:version, project: grand_child_project) } - shared_let(:parent_version) { FactoryBot.create(:version, project: parent_project) } - shared_let(:sibling_version) { FactoryBot.create(:version, project: sibling_project) } + shared_let(:parent_project) { create(:project) } + shared_let(:project) { create(:project, parent: parent_project) } + shared_let(:sibling_project) { create(:project, parent: parent_project) } + shared_let(:child_project) { create(:project, parent: project) } + shared_let(:grand_child_project) { create(:project, parent: child_project) } + shared_let(:version) { create(:version, project: project) } + shared_let(:child_version) { create(:version, project: child_project) } + shared_let(:grand_child_version) { create(:version, project: grand_child_project) } + shared_let(:parent_version) { create(:version, project: parent_project) } + shared_let(:sibling_version) { create(:version, project: sibling_project) } describe '.rolled_up' do it 'includes versions of self and all descendants' do diff --git a/spec/models/versions/scopes/shared_with_spec.rb b/spec/models/versions/scopes/shared_with_spec.rb index 5f2e76f91cd..71fcb863921 100644 --- a/spec/models/versions/scopes/shared_with_spec.rb +++ b/spec/models/versions/scopes/shared_with_spec.rb @@ -31,18 +31,18 @@ require 'spec_helper' describe Versions::Scopes::SharedWith, type: :model do - shared_let(:root_project) { FactoryBot.create(:project) } - shared_let(:parent_project) { FactoryBot.create(:project, parent: root_project) } - shared_let(:project) { FactoryBot.create(:project, parent: parent_project) } - shared_let(:other_root_project) { FactoryBot.create(:project) } - shared_let(:aunt_project) { FactoryBot.create(:project, parent: root_project) } - shared_let(:sibling_project) { FactoryBot.create(:project, parent: parent_project) } - shared_let(:child_project) { FactoryBot.create(:project, parent: project) } - shared_let(:grand_child_project) { FactoryBot.create(:project, parent: child_project) } + shared_let(:root_project) { create(:project) } + shared_let(:parent_project) { create(:project, parent: root_project) } + shared_let(:project) { create(:project, parent: parent_project) } + shared_let(:other_root_project) { create(:project) } + shared_let(:aunt_project) { create(:project, parent: root_project) } + shared_let(:sibling_project) { create(:project, parent: parent_project) } + shared_let(:child_project) { create(:project, parent: project) } + shared_let(:grand_child_project) { create(:project, parent: child_project) } describe '.shared_with' do context 'with the version not being shared' do - let!(:version) { FactoryBot.create(:version, project: project, sharing: 'none') } + let!(:version) { create(:version, project: project, sharing: 'none') } it 'is visible within the original project' do expect(Version.shared_with(project)) @@ -64,7 +64,7 @@ describe Versions::Scopes::SharedWith, type: :model do end context 'with the version being shared with descendants' do - let!(:version) { FactoryBot.create(:version, project: project, sharing: 'descendants') } + let!(:version) { create(:version, project: project, sharing: 'descendants') } it 'is visible within the original project and it`s descendants' do [project, @@ -103,7 +103,7 @@ describe Versions::Scopes::SharedWith, type: :model do end context 'with the version being shared with hierarchy' do - let!(:version) { FactoryBot.create(:version, project: project, sharing: 'hierarchy') } + let!(:version) { create(:version, project: project, sharing: 'hierarchy') } it 'is visible within the original project and it`s descendants and ancestors' do [project, @@ -142,7 +142,7 @@ describe Versions::Scopes::SharedWith, type: :model do end context 'with the version being shared with tree' do - let(:version) { FactoryBot.create(:version, project: project, sharing: 'tree') } + let(:version) { create(:version, project: project, sharing: 'tree') } it 'is visible within the original project and every project within the same tree' do [project, @@ -181,7 +181,7 @@ describe Versions::Scopes::SharedWith, type: :model do end context 'with the version being shared with system' do - let(:version) { FactoryBot.create(:version, project: project, sharing: 'system') } + let(:version) { create(:version, project: project, sharing: 'system') } it 'is visible in all projects' do [project, diff --git a/spec/models/watcher_spec.rb b/spec/models/watcher_spec.rb index 07f66f58133..a641e18fe38 100644 --- a/spec/models/watcher_spec.rb +++ b/spec/models/watcher_spec.rb @@ -30,28 +30,28 @@ require 'spec_helper' describe Watcher, type: :model, with_mail: false do let(:project) { watchable.project } - let(:user) { FactoryBot.build :user, admin: true } + let(:user) { build :user, admin: true } let(:watcher) do - FactoryBot.build :watcher, + build :watcher, watchable: watchable, user: user end - let(:watchable) { FactoryBot.build :news } + let(:watchable) { build :news } let(:other_watcher) do - FactoryBot.build :watcher, + build :watcher, watchable: watchable, user: other_user end - let(:other_project) { FactoryBot.create(:project) } - let(:other_user) { FactoryBot.create(:user, admin: true) } + let(:other_project) { create(:project) } + let(:other_user) { create(:user, admin: true) } let(:notification_settings) { [] } let(:saved_user) do - FactoryBot.create :user, + create :user, member_in_project: saved_watchable.project, member_with_permissions: [], notification_settings: notification_settings end - let(:saved_watchable) { FactoryBot.create :news } + let(:saved_watchable) { create :news } describe '#valid' do it 'is valid for an active user' do @@ -107,7 +107,7 @@ describe Watcher, type: :model, with_mail: false do end context 'with a non matching user scope' do - let(:other_other_user) { FactoryBot.create(:user) } + let(:other_other_user) { create(:user) } it 'leaves the watcher' do Watcher.prune(user: other_other_user) @@ -181,10 +181,10 @@ describe Watcher, type: :model, with_mail: false do end context 'for a message' do - let(:forum) { FactoryBot.build(:forum) } + let(:forum) { build(:forum) } let(:watchable) do forum.save! - FactoryBot.build(:message, forum: forum) + build(:message, forum: forum) end let(:project) { forum.project } diff --git a/spec/models/wiki_content_spec.rb b/spec/models/wiki_content_spec.rb index 4e00689112c..c77db104955 100644 --- a/spec/models/wiki_content_spec.rb +++ b/spec/models/wiki_content_spec.rb @@ -29,23 +29,23 @@ require 'spec_helper' describe WikiContent, type: :model do - let(:content) { FactoryBot.create(:wiki_content, page: page, author: author) } + let(:content) { create(:wiki_content, page: page, author: author) } - shared_let(:wiki) { FactoryBot.create(:wiki) } - shared_let(:page) { FactoryBot.create(:wiki_page, wiki: wiki) } + shared_let(:wiki) { create(:wiki) } + shared_let(:page) { create(:wiki_page, wiki: wiki) } shared_let(:author) do - FactoryBot.create(:user, + create(:user, member_in_project: wiki.project, member_with_permissions: [:view_wiki_pages]) end shared_let(:project_watcher) do - FactoryBot.create(:user, + create(:user, member_in_project: wiki.project, member_with_permissions: [:view_wiki_pages]) end shared_let(:wiki_watcher) do - watcher = FactoryBot.create(:user, + watcher = create(:user, member_in_project: wiki.project, member_with_permissions: [:view_wiki_pages]) wiki.watcher_users << watcher @@ -55,7 +55,7 @@ describe WikiContent, type: :model do describe 'mail sending' do context 'when creating' do - let(:content) { FactoryBot.build(:wiki_content, page: page) } + let(:content) { build(:wiki_content, page: page) } it 'sends mails to the wiki`s watchers and project all watchers' do expect do @@ -73,7 +73,7 @@ describe WikiContent, type: :model do context 'when updating', with_settings: { journal_aggregation_time_minutes: 0 } do let(:page_watcher) do - watcher = FactoryBot.create(:user, + watcher = create(:user, member_in_project: wiki.project, member_with_permissions: [:view_wiki_pages]) page.watcher_users << watcher diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb index 21f5b17be06..e4440069566 100644 --- a/spec/models/wiki_page_spec.rb +++ b/spec/models/wiki_page_spec.rb @@ -29,29 +29,29 @@ require 'spec_helper' describe WikiPage, type: :model do - let(:project) { FactoryBot.create(:project).reload } # a wiki is created for project, but the object doesn't know of it (FIXME?) + let(:project) { create(:project).reload } # a wiki is created for project, but the object doesn't know of it (FIXME?) let(:wiki) { project.wiki } let(:title) { wiki.wiki_menu_items.first.title } - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: title) } - let(:new_wiki_page) { FactoryBot.build(:wiki_page, wiki: wiki, title: title) } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: title) } + let(:new_wiki_page) { build(:wiki_page, wiki: wiki, title: title) } it_behaves_like 'acts_as_watchable included' do - let(:model_instance) { FactoryBot.create(:wiki_page) } + let(:model_instance) { create(:wiki_page) } let(:watch_permission) { :view_wiki_pages } let(:project) { model_instance.project } end it_behaves_like 'acts_as_attachable included' do - let(:model_instance) { FactoryBot.create(:wiki_page_with_content) } + let(:model_instance) { create(:wiki_page_with_content) } let(:project) { model_instance.project } end describe '#slug' do context 'when another project with same title exists' do - let(:project2) { FactoryBot.create(:project) } + let(:project2) { create(:project) } let(:wiki2) { project2.wiki } - let!(:wiki_page1) { FactoryBot.create(:wiki_page, wiki: wiki, title: 'asdf') } - let!(:wiki_page2) { FactoryBot.create(:wiki_page, wiki: wiki2, title: 'asdf') } + let!(:wiki_page1) { create(:wiki_page, wiki: wiki, title: 'asdf') } + let!(:wiki_page2) { create(:wiki_page, wiki: wiki2, title: 'asdf') } it 'scopes the slug correctly' do pages = WikiPage.where(title: 'asdf') @@ -62,7 +62,7 @@ describe WikiPage, type: :model do end context 'when only having a . for the title' do - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: '.') } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: '.') } it 'creates a non empty slug' do expect(wiki_page.slug).to eq('dot') @@ -70,7 +70,7 @@ describe WikiPage, type: :model do end context 'when only having a ! for the title' do - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: '!') } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: '!') } it 'creates a non empty slug' do expect(wiki_page.slug).to eq('bang') @@ -78,7 +78,7 @@ describe WikiPage, type: :model do end context 'when only having a { for the title' do - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: '{') } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: '{') } it 'fails to create' do expect { wiki_page } @@ -87,7 +87,7 @@ describe WikiPage, type: :model do end context 'with another default language', with_settings: { default_language: 'de' } do - let(:wiki_page) { FactoryBot.build(:wiki_page, wiki: wiki, title: 'Übersicht') } + let(:wiki_page) { build(:wiki_page, wiki: wiki, title: 'Übersicht') } it 'will still use english slug methods' do expect(wiki_page.save).to eq true @@ -96,7 +96,7 @@ describe WikiPage, type: :model do end context 'with another I18n.locale set', with_settings: { default_language: 'de' } do - let(:wiki_page) { FactoryBot.build(:wiki_page, wiki: wiki, title: 'Übersicht') } + let(:wiki_page) { build(:wiki_page, wiki: wiki, title: 'Übersicht') } it 'will still use english slug methods' do I18n.locale = :de @@ -107,12 +107,12 @@ describe WikiPage, type: :model do end describe '#nearest_main_item' do - let(:child_page) { FactoryBot.create(:wiki_page, parent: wiki_page, wiki: wiki) } + let(:child_page) { create(:wiki_page, parent: wiki_page, wiki: wiki) } let!(:child_page_wiki_menu_item) do - FactoryBot.create(:wiki_menu_item, wiki: wiki, name: child_page.slug, parent: wiki_page.menu_item) + create(:wiki_menu_item, wiki: wiki, name: child_page.slug, parent: wiki_page.menu_item) end - let(:grand_child_page) { FactoryBot.create(:wiki_page, parent: child_page, wiki: wiki) } - let!(:grand_child_page_wiki_menu_item) { FactoryBot.create(:wiki_menu_item, wiki: wiki, name: grand_child_page.slug) } + let(:grand_child_page) { create(:wiki_page, parent: child_page, wiki: wiki) } + let!(:grand_child_page_wiki_menu_item) { create(:wiki_menu_item, wiki: wiki, name: grand_child_page.slug) } it 'returns the menu item of the grand parent if the menu item of its parent is not a main item' do expect(grand_child_page.nearest_main_item).to eq(wiki_page.menu_item) @@ -133,7 +133,7 @@ describe WikiPage, type: :model do context 'when one of two wiki pages is destroyed' do before do - FactoryBot.create(:wiki_page, wiki: wiki) + create(:wiki_page, wiki: wiki) wiki_page.destroy end @@ -171,12 +171,12 @@ describe WikiPage, type: :model do end describe '.visible' do - let(:other_project) { FactoryBot.create(:project).reload } + let(:other_project) { create(:project).reload } let(:other_wiki) { project.wiki } - let(:other_wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: wiki.wiki_menu_items.first.title) } - let(:role) { FactoryBot.create(:role, permissions: [:view_wiki_pages]) } + let(:other_wiki_page) { create(:wiki_page, wiki: wiki, title: wiki.wiki_menu_items.first.title) } + let(:role) { create(:role, permissions: [:view_wiki_pages]) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/models/wiki_redirect_spec.rb b/spec/models/wiki_redirect_spec.rb index 32db794007e..c3e35143ed9 100644 --- a/spec/models/wiki_redirect_spec.rb +++ b/spec/models/wiki_redirect_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe WikiRedirect, type: :model do - let(:wiki) { FactoryBot.create(:wiki) } - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: 'Original title') } + let(:wiki) { create(:wiki) } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: 'Original title') } context 'when renaming the page' do before do diff --git a/spec/models/wiki_spec.rb b/spec/models/wiki_spec.rb index 91c3e899bba..5ff3987c2e9 100644 --- a/spec/models/wiki_spec.rb +++ b/spec/models/wiki_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe Wiki, type: :model do - let(:project) { FactoryBot.create(:project, disable_modules: 'wiki') } + let(:project) { create(:project, disable_modules: 'wiki') } let(:start_page) { 'The wiki start page' } let(:wiki) { project.create_wiki start_page: start_page } describe 'creation' do it_behaves_like 'acts_as_watchable included' do - let(:model_instance) { FactoryBot.create(:wiki) } + let(:model_instance) { create(:wiki) } let(:watch_permission) { :view_wiki_pages } let(:project) { model_instance.project } end @@ -69,7 +69,7 @@ describe Wiki, type: :model do describe '#slug' do context 'with an umlaut' do - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: 'Übersicht') } + let(:wiki_page) { create(:wiki_page, wiki: wiki, title: 'Übersicht') } it 'normalizes' do expect(wiki_page.slug).to eq 'ubersicht' @@ -79,7 +79,7 @@ describe Wiki, type: :model do describe '#find_page' do let(:title) { 'Übersicht' } - let!(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki, title: title) } + let!(:wiki_page) { create(:wiki_page, wiki: wiki, title: title) } let(:search_string) { 'Übersicht' } subject { wiki.find_page(search_string) } diff --git a/spec/models/work_package/aggregate_ancestors_spec.rb b/spec/models/work_package/aggregate_ancestors_spec.rb index 412d68c1d07..b15f4a2f36a 100644 --- a/spec/models/work_package/aggregate_ancestors_spec.rb +++ b/spec/models/work_package/aggregate_ancestors_spec.rb @@ -29,43 +29,43 @@ require 'spec_helper' describe WorkPackage::Ancestors, type: :model do - let(:user) { FactoryBot.create(:user) } - let(:project) { FactoryBot.create :project } - let(:project2) { FactoryBot.create :project } + let(:user) { create(:user) } + let(:project) { create :project } + let(:project2) { create :project } let!(:root_work_package) do - FactoryBot.create :work_package, + create :work_package, project: project end let!(:intermediate) do - FactoryBot.create :work_package, + create :work_package, parent: root_work_package, project: project end let!(:intermediate_project2) do - FactoryBot.create :work_package, + create :work_package, parent: root_work_package, project: project2 end let!(:leaf) do - FactoryBot.create :work_package, + create :work_package, parent: intermediate, project: project end let!(:leaf_project2) do - FactoryBot.create :work_package, + create :work_package, parent: intermediate_project2, project: project end let(:view_role) do - FactoryBot.build(:role, + build(:role, permissions: [:view_work_packages]) end let(:none_role) do - FactoryBot.build(:role, + build(:role, permissions: []) end @@ -81,7 +81,7 @@ describe WorkPackage::Ancestors, type: :model do context 'with permission in the first project' do before do - FactoryBot.create :member, + create :member, user: user, project: project, roles: [view_role] @@ -119,7 +119,7 @@ describe WorkPackage::Ancestors, type: :model do context 'and permission in second project' do before do - FactoryBot.create :member, + create :member, user: user, project: project2, roles: [view_role] @@ -141,7 +141,7 @@ describe WorkPackage::Ancestors, type: :model do context 'no permissions' do before do - FactoryBot.create :member, + create :member, user: user, project: project, roles: [none_role] diff --git a/spec/models/work_package/ask_before_destruction_spec.rb b/spec/models/work_package/ask_before_destruction_spec.rb index 3baff13e2a6..a09754c3b57 100644 --- a/spec/models/work_package/ask_before_destruction_spec.rb +++ b/spec/models/work_package/ask_before_destruction_spec.rb @@ -30,42 +30,42 @@ require 'spec_helper' describe WorkPackage, type: :model do let(:work_package) do - FactoryBot.create(:work_package, project: project, + create(:work_package, project: project, status: status) end let(:work_package2) do - FactoryBot.create(:work_package, project: project2, + create(:work_package, project: project2, status: status) end - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:project2) { FactoryBot.create(:project, types: [type]) } - let(:role) { FactoryBot.create(:role) } - let(:role2) { FactoryBot.create(:role) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type]) } + let(:project2) { create(:project, types: [type]) } + let(:role) { create(:role) } + let(:role2) { create(:role) } let(:member) do - FactoryBot.create(:member, + create(:member, principal: user, roles: [role]) end let(:member2) do - FactoryBot.create(:member, + create(:member, principal: user, roles: [role2], project: work_package2.project) end - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority) } + let(:status) { create(:status) } + let(:priority) { create(:priority) } let(:time_entry_hours) { 10 } let(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, hours: time_entry_hours, work_package: work_package, project: work_package.project) end let(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package2, project: work_package2.project) end diff --git a/spec/models/work_package/exporter/csv_integration_spec.rb b/spec/models/work_package/exporter/csv_integration_spec.rb index dee793053c4..be4117b016d 100644 --- a/spec/models/work_package/exporter/csv_integration_spec.rb +++ b/spec/models/work_package/exporter/csv_integration_spec.rb @@ -35,10 +35,10 @@ describe WorkPackage::Exports::CSV, 'integration', type: :model do login_as current_user end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %i(view_work_packages)) end @@ -58,7 +58,7 @@ describe WorkPackage::Exports::CSV, 'integration', type: :model do # ISO-8859-1. Since this can happen, though, it is more sensible to encode everything # in UTF-8 which gets rid of this problem altogether. let!(:work_package) do - FactoryBot.create( + create( :work_package, subject: "Ruby encodes ß as '\\xDF' in ISO-8859-1.", description: "\u2022 requires unicode.", diff --git a/spec/models/work_package/hooks_spec.rb b/spec/models/work_package/hooks_spec.rb index dc95786baed..8ed5574bf38 100644 --- a/spec/models/work_package/hooks_spec.rb +++ b/spec/models/work_package/hooks_spec.rb @@ -38,12 +38,12 @@ describe WorkPackage, type: :model do expect(context[:work_package].subject).to eq subject end - FactoryBot.create :work_package, subject: subject + create :work_package, subject: subject end end describe "#update" do - let!(:work_package) { FactoryBot.create :work_package } + let!(:work_package) { create :work_package } it "calls the update hook" do expect(OpenProject::Hook).to receive(:call_hook) do |hook, context| diff --git a/spec/models/work_package/openproject_notifications_spec.rb b/spec/models/work_package/openproject_notifications_spec.rb index 3c7a2bcafea..3dec3bf4210 100644 --- a/spec/models/work_package/openproject_notifications_spec.rb +++ b/spec/models/work_package/openproject_notifications_spec.rb @@ -34,11 +34,11 @@ require 'spec_helper' # Tests that email notifications will be sent upon creating or changing a work package. describe WorkPackage, type: :model, with_settings: { journal_aggregation_time_minutes: 0 } do describe 'OpenProject notifications' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:work_package) do - FactoryBot.create :work_package, + create :work_package, author: admin, subject: 'I can see you', project: project diff --git a/spec/models/work_package/work_package_acts_as_customizable_spec.rb b/spec/models/work_package/work_package_acts_as_customizable_spec.rb index 241e9daa087..f2d4f82734e 100644 --- a/spec/models/work_package/work_package_acts_as_customizable_spec.rb +++ b/spec/models/work_package/work_package_acts_as_customizable_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe WorkPackage, 'acts_as_customizable', type: :model do - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:user) { FactoryBot.create(:user) } - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type]) } + let(:user) { create(:user) } + let(:status) { create(:status) } + let(:priority) { create(:priority) } - let(:work_package) { FactoryBot.create(:work_package, project: project, type: type) } + let(:work_package) { create(:work_package, project: project, type: type) } let(:new_work_package) do WorkPackage.new type: type, project: project, @@ -58,8 +58,8 @@ describe WorkPackage, 'acts_as_customizable', type: :model do new_work_package end - let(:version) { FactoryBot.create(:version, project: project) } - let(:version_cf) { FactoryBot.create(:version_wp_custom_field, is_required: true) } + let(:version) { create(:version, project: project) } + let(:version_cf) { create(:version_wp_custom_field, is_required: true) } it 'results in a valid work package' do expect(wp_with_assignee_cf) @@ -74,8 +74,8 @@ describe WorkPackage, 'acts_as_customizable', type: :model do end describe '#custom_field_:id' do - let(:included_cf) { FactoryBot.build(:work_package_custom_field) } - let(:other_cf) { FactoryBot.build(:work_package_custom_field) } + let(:included_cf) { build(:work_package_custom_field) } + let(:other_cf) { build(:work_package_custom_field) } before do included_cf.save @@ -102,8 +102,8 @@ describe WorkPackage, 'acts_as_customizable', type: :model do end describe '#valid?' do - let(:cf1) { FactoryBot.create(:work_package_custom_field, is_required: true) } - let(:cf2) { FactoryBot.create(:work_package_custom_field, is_required: true) } + let(:cf1) { create(:work_package_custom_field, is_required: true) } + let(:cf2) { create(:work_package_custom_field, is_required: true) } it 'does not duplicate error messages when invalid' do # create work_package with one required custom field diff --git a/spec/models/work_package/work_package_acts_as_event_spec.rb b/spec/models/work_package/work_package_acts_as_event_spec.rb index a55d75aad1e..c4026a06300 100644 --- a/spec/models/work_package/work_package_acts_as_event_spec.rb +++ b/spec/models/work_package/work_package_acts_as_event_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe WorkPackage, type: :model do describe 'acts_as_event' do - let(:stub_work_package) { FactoryBot.build_stubbed(:work_package) } + let(:stub_work_package) { build_stubbed(:work_package) } describe '#event_url' do let(:expected_url) { { controller: :work_packages, action: :show, id: stub_work_package.id } } diff --git a/spec/models/work_package/work_package_acts_as_journalized_spec.rb b/spec/models/work_package/work_package_acts_as_journalized_spec.rb index 3aa94198715..43c6664d26b 100644 --- a/spec/models/work_package/work_package_acts_as_journalized_spec.rb +++ b/spec/models/work_package/work_package_acts_as_journalized_spec.rb @@ -30,22 +30,22 @@ require 'spec_helper' describe WorkPackage, type: :model do describe '#journal' do - let(:type) { FactoryBot.create :type } + let(:type) { create :type } let(:project) do - FactoryBot.create :project, + create :project, types: [type] end - let(:status) { FactoryBot.create :default_status } - let(:priority) { FactoryBot.create :priority } + let(:status) { create :default_status } + let(:priority) { create :priority } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, type: type, description: 'Description', priority: priority, status: status) end - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do login_as(current_user) @@ -101,7 +101,7 @@ describe WorkPackage, type: :model do let(:description) { "Description\n\nwith newlines\n\nembedded" } let(:changed_description) { description.gsub("\n", "\r\n") } let!(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, type: type, description: description, @@ -134,17 +134,17 @@ describe WorkPackage, type: :model do context 'when there is a legacy journal containing non-escaped newlines' do let!(:work_package_journal_1) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, journable_id: work_package_1.id, version: 2, - data: FactoryBot.build(:journal_work_package_journal, + data: build(:journal_work_package_journal, description: description)) end let!(:work_package_journal_2) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, journable_id: work_package_1.id, version: 3, - data: FactoryBot.build(:journal_work_package_journal, + data: build(:journal_work_package_journal, description: changed_description)) end @@ -156,14 +156,14 @@ describe WorkPackage, type: :model do context 'on work package change', with_settings: { journal_aggregation_time_minutes: 0 } do let(:parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, type: type, priority: priority) end - let(:type_2) { FactoryBot.create :type } - let(:status_2) { FactoryBot.create :status } - let(:priority_2) { FactoryBot.create :priority } + let(:type_2) { create :type } + let(:status_2) { create :status } + let(:priority_2) { create :priority } before do project.types << type_2 @@ -272,7 +272,7 @@ describe WorkPackage, type: :model do end context 'attachments', with_settings: { journal_aggregation_time_minutes: 0 } do - let(:attachment) { FactoryBot.build :attachment } + let(:attachment) { build :attachment } let(:attachment_id) { "attachments_#{attachment.id}" } before do @@ -302,9 +302,9 @@ describe WorkPackage, type: :model do end context 'custom values', with_settings: { journal_aggregation_time_minutes: 0 } do - let(:custom_field) { FactoryBot.create :work_package_custom_field } + let(:custom_field) { create :work_package_custom_field } let(:custom_value) do - FactoryBot.build :custom_value, + build :custom_value, value: 'false', custom_field: custom_field end @@ -335,7 +335,7 @@ describe WorkPackage, type: :model do include_context 'work package with custom value' let(:modified_custom_value) do - FactoryBot.create :custom_value, + create :custom_value, value: 'true', custom_field: custom_field end @@ -355,7 +355,7 @@ describe WorkPackage, type: :model do include_context 'work package with custom value' let(:unmodified_custom_value) do - FactoryBot.create :custom_value, + create :custom_value, value: 'false', custom_field: custom_field end @@ -389,13 +389,13 @@ describe WorkPackage, type: :model do context 'custom value did not exist before' do let(:custom_field) do - FactoryBot.create :work_package_custom_field, + create :work_package_custom_field, is_required: false, field_format: 'list', possible_values: ['', '1', '2', '3', '4', '5', '6', '7'] end let(:custom_value) do - FactoryBot.create :custom_value, + create :custom_value, value: '', customized: work_package, custom_field: custom_field @@ -452,9 +452,9 @@ describe WorkPackage, type: :model do let(:current_user) { user1 } let(:notes) { nil } - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } - let(:new_status) { FactoryBot.build(:status) } + let(:user1) { create(:user) } + let(:user2) { create(:user) } + let(:new_status) { build(:status) } let(:changes) do { status: new_status, @@ -563,7 +563,7 @@ describe WorkPackage, type: :model do work_package.journals.last.update_columns(created_at: Time.now - 2.minutes, updated_at: Time.now - 2.minutes) - work_package.status = FactoryBot.build(:status) + work_package.status = build(:status) work_package.save! end @@ -577,7 +577,7 @@ describe WorkPackage, type: :model do context 'WP updated within milliseconds' do before do - work_package.status = FactoryBot.build(:status) + work_package.status = build(:status) work_package.save! end @@ -589,22 +589,22 @@ describe WorkPackage, type: :model do end context 'on #destroy' do - let(:project) { FactoryBot.create(:project) } - let(:type) { FactoryBot.create(:type) } + let(:project) { create(:project) } + let(:type) { create(:type) } let(:custom_field) do - FactoryBot.create(:int_wp_custom_field).tap do |cf| + create(:int_wp_custom_field).tap do |cf| project.work_package_custom_fields << cf type.custom_fields << cf end end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, custom_field_values: { custom_field.id => 5 }, attachments: [attachment]) end - let(:attachment) { FactoryBot.build(:attachment) } + let(:attachment) { build(:attachment) } let!(:journal) { work_package.journals.first } let!(:customizable_journals) { journal.customizable_journals } let!(:attachable_journals) { journal.attachable_journals } diff --git a/spec/models/work_package/work_package_acts_as_searchable_spec.rb b/spec/models/work_package/work_package_acts_as_searchable_spec.rb index 596c87c3aad..77fe4425e58 100644 --- a/spec/models/work_package/work_package_acts_as_searchable_spec.rb +++ b/spec/models/work_package/work_package_acts_as_searchable_spec.rb @@ -33,15 +33,15 @@ describe WorkPackage, 'acts_as_searchable', type: :model do let(:wp_subject) { 'the quick brown fox jumps over the lazy dog' } let(:project) do - FactoryBot.create(:project, + create(:project, public: false) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, subject: wp_subject, project: project) end - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } describe '#search' do describe "w/ the user being logged in diff --git a/spec/models/work_package/work_package_acts_as_watchable_spec.rb b/spec/models/work_package/work_package_acts_as_watchable_spec.rb index ffe610f25a4..6ac9550b552 100644 --- a/spec/models/work_package/work_package_acts_as_watchable_spec.rb +++ b/spec/models/work_package/work_package_acts_as_watchable_spec.rb @@ -31,14 +31,14 @@ require 'spec_helper' require 'support/shared/acts_as_watchable' describe WorkPackage, type: :model do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end it_behaves_like 'acts_as_watchable included' do - let(:model_instance) { FactoryBot.create(:work_package) } + let(:model_instance) { create(:work_package) } let(:watch_permission) { :view_work_packages } let(:project) { model_instance.project } end diff --git a/spec/models/work_package/work_package_custom_actions_spec.rb b/spec/models/work_package/work_package_custom_actions_spec.rb index 6dfbc6c7f1d..eedbe2d935f 100644 --- a/spec/models/work_package/work_package_custom_actions_spec.rb +++ b/spec/models/work_package/work_package_custom_actions_spec.rb @@ -32,26 +32,26 @@ require 'spec_helper' describe WorkPackage, 'custom_actions', type: :model do let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, project: project) end - let(:project) { FactoryBot.create(:project) } - let(:status) { FactoryBot.create(:status) } - let(:other_status) { FactoryBot.create(:status) } + let(:project) { create(:project) } + let(:status) { create(:status) } + let(:other_status) { create(:status) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package.project, member_through_role: role) end let(:role) do - FactoryBot.create(:role) + create(:role) end let(:conditions) do [CustomActions::Conditions::Status.new([status.id])] end let!(:custom_action) do - action = FactoryBot.build(:custom_action) + action = build(:custom_action) action.conditions = conditions action.save! @@ -111,7 +111,7 @@ describe WorkPackage, 'custom_actions', type: :model do end context 'with the condition requiring a different role' do - let(:other_role) { FactoryBot.create(:role) } + let(:other_role) { create(:role) } let(:conditions) do [CustomActions::Conditions::Role.new(other_role.id)] diff --git a/spec/models/work_package/work_package_custom_fields_spec.rb b/spec/models/work_package/work_package_custom_fields_spec.rb index b20584f3129..fee2a7575d4 100644 --- a/spec/models/work_package/work_package_custom_fields_spec.rb +++ b/spec/models/work_package/work_package_custom_fields_spec.rb @@ -30,15 +30,15 @@ require 'spec_helper' describe WorkPackage, type: :model do describe '#custom_fields' do - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, project: project, type: type) end let(:custom_field) do - FactoryBot.create(:work_package_custom_field, + create(:work_package_custom_field, name: 'Database', field_format: 'list', possible_values: %w(MySQL PostgreSQL Oracle), @@ -245,9 +245,9 @@ describe WorkPackage, type: :model do end describe 'work package type change' do - let (:custom_field_2) { FactoryBot.create(:work_package_custom_field) } + let (:custom_field_2) { create(:work_package_custom_field) } let(:type_feature) do - FactoryBot.create(:type_feature, + create(:type_feature, custom_fields: [custom_field_2]) end @@ -278,7 +278,7 @@ describe WorkPackage, type: :model do context 'w/o initial type' do let(:work_package_without_type) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, project: project, type: type) end @@ -322,7 +322,7 @@ describe WorkPackage, type: :model do describe "custom field type 'text'" do let(:value) { 'text' * 1024 } let(:custom_field) do - FactoryBot.create(:work_package_custom_field, + create(:work_package_custom_field, name: 'Test Text', field_format: 'text', is_required: true) @@ -376,7 +376,7 @@ describe WorkPackage, type: :model do describe 'validation error interpolation' do let :custom_field do - FactoryBot.create :work_package_custom_field, + create :work_package_custom_field, name: 'PIN', field_format: 'text', max_length: 4, diff --git a/spec/models/work_package/work_package_multi_value_custom_fields_spec.rb b/spec/models/work_package/work_package_multi_value_custom_fields_spec.rb index efc12f60f6f..3f7ead715d5 100644 --- a/spec/models/work_package/work_package_multi_value_custom_fields_spec.rb +++ b/spec/models/work_package/work_package_multi_value_custom_fields_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe WorkPackage, type: :model do - let(:type) { FactoryBot.create :type } - let(:project) { FactoryBot.create :project, types: [type] } + let(:type) { create :type } + let(:project) { create :project, types: [type] } let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Ingredients", multi_value: true, @@ -52,7 +52,7 @@ describe WorkPackage, type: :model do end let(:work_package) do - wp = FactoryBot.create :work_package, project: project, type: type + wp = create :work_package, project: project, type: type wp.reload wp.custom_field_values = { custom_field.id => custom_values @@ -70,7 +70,7 @@ describe WorkPackage, type: :model do end context 'when value not present' do - let(:work_package) { FactoryBot.create :work_package, project: project, type: type } + let(:work_package) { create :work_package, project: project, type: type } it 'returns nil properly' do expect(values).to eq(nil) diff --git a/spec/models/work_package/work_package_relations_spec.rb b/spec/models/work_package/work_package_relations_spec.rb index 9fd8afcdb01..19cee30729d 100644 --- a/spec/models/work_package/work_package_relations_spec.rb +++ b/spec/models/work_package/work_package_relations_spec.rb @@ -31,56 +31,56 @@ require 'spec_helper' describe WorkPackage, type: :model do describe '#relation' do let(:closed_state) do - FactoryBot.create(:status, + create(:status, is_closed: true) end describe '#duplicate' do - let(:status) { FactoryBot.create(:status) } - let(:type) { FactoryBot.create(:type) } + let(:status) { create(:status) } + let(:type) { create(:type) } let(:original) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, status: status) end - let(:project) { FactoryBot.create(:project, members: { current_user => workflow.role }) } + let(:project) { create(:project, members: { current_user => workflow.role }) } let(:dup_1) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, status: status) end let(:relation_org_dup_1) do - FactoryBot.create(:relation, + create(:relation, from: dup_1, to: original, relation_type: Relation::TYPE_DUPLICATES) end let(:workflow) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: closed_state, type_id: type.id) end - current_user { FactoryBot.create(:user) } + current_user { create(:user) } context 'closes duplicates' do let(:dup_2) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type, status: status) end let(:relation_dup_1_dup_2) do - FactoryBot.create(:relation, + create(:relation, from: dup_2, to: dup_1, relation_type: Relation::TYPE_DUPLICATES) end # circular dependency let(:relation_dup_2_org) do - FactoryBot.create(:relation, + create(:relation, from: dup_2, to: original, relation_type: Relation::TYPE_DUPLICATES) @@ -122,30 +122,30 @@ describe WorkPackage, type: :model do describe '#soonest_start' do let(:predecessor) do - FactoryBot.create(:work_package, + create(:work_package, due_date: predecessor_due_date) end let(:predecessor_due_date) { nil } let(:successor) do - FactoryBot.create(:work_package, + create(:work_package, schedule_manually: successor_schedule_manually, project: predecessor.project) end let(:successor_schedule_manually) { false } let(:successor_child) do - FactoryBot.create(:work_package, + create(:work_package, schedule_manually: successor_child_schedule_manually, parent: successor, project: predecessor.project) end let(:successor_child_schedule_manually) { false } let(:successor_grandchild) do - FactoryBot.create(:work_package, + create(:work_package, parent: successor_child, project: predecessor.project) end let(:relation_successor) do - FactoryBot.create(:relation, + create(:relation, from: predecessor, to: successor, relation_type: Relation::TYPE_PRECEDES) diff --git a/spec/models/work_package/work_package_scheduling_spec.rb b/spec/models/work_package/work_package_scheduling_spec.rb index 9af2bdfb3d9..98af84c6a20 100644 --- a/spec/models/work_package/work_package_scheduling_spec.rb +++ b/spec/models/work_package/work_package_scheduling_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe WorkPackage, type: :model do describe '#overdue' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, due_date: due_date) end @@ -74,7 +74,7 @@ describe WorkPackage, type: :model do context 'status closed' do let(:due_date) { 1.day.ago.to_date } let(:status) do - FactoryBot.create(:status, + create(:status, is_closed: true) end @@ -88,7 +88,7 @@ describe WorkPackage, type: :model do describe '#behind_schedule?' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, start_date: start_date, due_date: due_date, done_ratio: done_ratio) diff --git a/spec/models/work_package/work_package_status_spec.rb b/spec/models/work_package/work_package_status_spec.rb index 438a91ef560..a8a17ac390f 100644 --- a/spec/models/work_package/work_package_status_spec.rb +++ b/spec/models/work_package/work_package_status_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe WorkPackage, 'status', type: :model do - let(:status) { FactoryBot.create(:status) } + let(:status) { create(:status) } let!(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, status: status) end describe '#readonly' do - let(:status) { FactoryBot.create(:status, is_readonly: true) } + let(:status) { create(:status, is_readonly: true) } context 'with EE', with_ee: %i[readonly_work_packages] do it 'marks work package as read only' do diff --git a/spec/models/work_package/work_package_visibility_spec.rb b/spec/models/work_package/work_package_visibility_spec.rb index 4bab074ef00..061046c9c9a 100644 --- a/spec/models/work_package/work_package_visibility_spec.rb +++ b/spec/models/work_package/work_package_visibility_spec.rb @@ -29,17 +29,17 @@ require 'spec_helper' describe 'WorkPackage-Visibility', type: :model do - shared_let(:admin) { FactoryBot.create :admin } - let(:anonymous) { FactoryBot.create(:anonymous) } - let(:user) { FactoryBot.create(:user) } - let(:public_project) { FactoryBot.create(:project, public: true) } - let(:private_project) { FactoryBot.create(:project, public: false) } - let(:other_project) { FactoryBot.create(:project, public: true) } - let(:view_work_packages) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:view_work_packages_role2) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + shared_let(:admin) { create :admin } + let(:anonymous) { create(:anonymous) } + let(:user) { create(:user) } + let(:public_project) { create(:project, public: true) } + let(:private_project) { create(:project, public: false) } + let(:other_project) { create(:project, public: true) } + let(:view_work_packages) { create(:role, permissions: [:view_work_packages]) } + let(:view_work_packages_role2) { create(:role, permissions: [:view_work_packages]) } describe 'of public projects' do - subject { FactoryBot.create(:work_package, project: public_project) } + subject { create(:work_package, project: public_project) } it 'is viewable by anonymous, with the view_work_packages permissison' do # it is not really clear, where these kind of "preconditions" belong to: This setting @@ -51,7 +51,7 @@ describe 'WorkPackage-Visibility', type: :model do end describe 'of private projects' do - subject { FactoryBot.create(:work_package, project: private_project) } + subject { create(:work_package, project: private_project) } it 'is visible for the admin, even if the project is private' do expect(WorkPackage.visible(admin)).to match_array [subject] @@ -62,7 +62,7 @@ describe 'WorkPackage-Visibility', type: :model do end it 'is visible for members of the project, with the view_work_packages permissison' do - FactoryBot.create(:member, + create(:member, user: user, project: private_project, role_ids: [view_work_packages.id]) @@ -73,7 +73,7 @@ describe 'WorkPackage-Visibility', type: :model do it 'is only returned once for members with two roles having view_work_packages permission' do subject - FactoryBot.create(:member, + create(:member, user: user, project: private_project, role_ids: [view_work_packages.id, @@ -87,8 +87,8 @@ describe 'WorkPackage-Visibility', type: :model do end it 'is not visible for members of the project, without the view_work_packages permissison' do - no_permission = FactoryBot.create(:role, permissions: [:no_permission]) - FactoryBot.create(:member, + no_permission = create(:role, permissions: [:no_permission]) + create(:member, user: user, project: private_project, role_ids: [no_permission.id]) diff --git a/spec/models/work_package_custom_field_spec.rb b/spec/models/work_package_custom_field_spec.rb index 0788ecad4fb..da46c10c2cf 100644 --- a/spec/models/work_package_custom_field_spec.rb +++ b/spec/models/work_package_custom_field_spec.rb @@ -31,13 +31,13 @@ require 'spec_helper' describe WorkPackageCustomField, type: :model do describe '.summable' do let!(:list_custom_field) do - FactoryBot.create(:list_wp_custom_field) + create(:list_wp_custom_field) end let!(:int_custom_field) do - FactoryBot.create(:int_wp_custom_field) + create(:int_wp_custom_field) end let!(:float_custom_field) do - FactoryBot.create(:float_wp_custom_field) + create(:float_wp_custom_field) end context 'with a summable field' do diff --git a/spec/models/work_package_spec.rb b/spec/models/work_package_spec.rb index cbc66206b72..03c42d5b0b9 100644 --- a/spec/models/work_package_spec.rb +++ b/spec/models/work_package_spec.rb @@ -29,15 +29,15 @@ require 'spec_helper' describe WorkPackage, type: :model do - let(:stub_work_package) { FactoryBot.build_stubbed(:work_package) } - let(:stub_version) { FactoryBot.build_stubbed(:version) } - let(:stub_project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.create(:user) } + let(:stub_work_package) { build_stubbed(:work_package) } + let(:stub_version) { build_stubbed(:version) } + let(:stub_project) { build_stubbed(:project) } + let(:user) { create(:user) } - let(:type) { FactoryBot.create(:type_standard) } - let(:project) { FactoryBot.create(:project, types: [type]) } - let(:status) { FactoryBot.create(:status) } - let(:priority) { FactoryBot.create(:priority) } + let(:type) { create(:type_standard) } + let(:project) { create(:project, types: [type]) } + let(:status) { create(:status) } + let(:priority) { create(:priority) } let(:work_package) do WorkPackage.new.tap do |w| w.attributes = { project_id: project.id, @@ -53,8 +53,8 @@ describe WorkPackage, type: :model do describe '.new' do context 'type' do - let(:type2) { FactoryBot.create(:type) } - let(:project) { FactoryBot.create(:project, types: [type, type2]) } + let(:type2) { create(:type) } + let(:project) { create(:project, types: [type, type2]) } before do project # loads types as well @@ -126,10 +126,10 @@ describe WorkPackage, type: :model do describe '#assigned_to' do context 'group_assignment' do - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } subject do - FactoryBot.create(:work_package, + create(:work_package, assigned_to: group).assigned_to end @@ -139,9 +139,9 @@ describe WorkPackage, type: :model do end describe '#category' do - let(:user_2) { FactoryBot.create(:user, member_in_project: project) } + let(:user_2) { create(:user, member_in_project: project) } let(:category) do - FactoryBot.create(:category, + create(:category, project: project, assigned_to: user_2) end @@ -157,12 +157,12 @@ describe WorkPackage, type: :model do end describe 'responsible' do - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } let!(:member) do - FactoryBot.create(:member, + create(:member, principal: group, project: work_package.project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end shared_context 'assign group as responsible' do @@ -179,7 +179,7 @@ describe WorkPackage, type: :model do end describe '#assignable_versions' do - let(:stub_version2) { FactoryBot.build_stubbed(:version) } + let(:stub_version2) { build_stubbed(:version) } def stub_shared_versions(v = nil) versions = v ? [v] : [] @@ -217,7 +217,7 @@ describe WorkPackage, type: :model do describe '#assignable_versions' do let!(:work_package) do - wp = FactoryBot.create(:work_package, + wp = create(:work_package, project: project, version: version_current) # remove changes to version factored into @@ -226,27 +226,27 @@ describe WorkPackage, type: :model do wp end let!(:version_current) do - FactoryBot.create(:version, + create(:version, status: 'closed', project: project) end let!(:version_open) do - FactoryBot.create(:version, + create(:version, status: 'open', project: project) end let!(:version_locked) do - FactoryBot.create(:version, + create(:version, status: 'locked', project: project) end let!(:version_closed) do - FactoryBot.create(:version, + create(:version, status: 'closed', project: project) end let!(:version_other_project) do - FactoryBot.create(:version, + create(:version, status: 'open') end @@ -258,12 +258,12 @@ describe WorkPackage, type: :model do describe '#destroy' do let(:time_entry_1) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package) end let(:time_entry_2) do - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package) end @@ -290,25 +290,25 @@ describe WorkPackage, type: :model do describe '#done_ratio' do let(:status_new) do - FactoryBot.create(:status, + create(:status, name: 'New', is_default: true, is_closed: false, default_done_ratio: 50) end let(:status_assigned) do - FactoryBot.create(:status, + create(:status, name: 'Assigned', is_default: true, is_closed: false, default_done_ratio: 0) end let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, status: status_new) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, project: work_package_1.project, status: status_assigned, done_ratio: 30) @@ -382,29 +382,29 @@ describe WorkPackage, type: :model do end describe '#group_by' do - let(:type_2) { FactoryBot.create(:type) } - let(:priority_2) { FactoryBot.create(:priority) } - let(:project) { FactoryBot.create(:project, types: [type, type_2]) } + let(:type_2) { create(:type) } + let(:priority_2) { create(:priority) } + let(:project) { create(:project, types: [type, type_2]) } let(:version_1) do - FactoryBot.create(:version, + create(:version, project: project) end let(:version_2) do - FactoryBot.create(:version, + create(:version, project: project) end let(:category_1) do - FactoryBot.create(:category, + create(:category, project: project) end let(:category_2) do - FactoryBot.create(:category, + create(:category, project: project) end - let(:user_2) { FactoryBot.create(:user) } + let(:user_2) { create(:user) } let(:work_package_1) do - FactoryBot.create(:work_package, + create(:work_package, author: user, assigned_to: user, responsible: user, @@ -415,7 +415,7 @@ describe WorkPackage, type: :model do category: category_1) end let(:work_package_2) do - FactoryBot.create(:work_package, + create(:work_package, author: user_2, assigned_to: user_2, responsible: user_2, @@ -492,11 +492,11 @@ describe WorkPackage, type: :model do context 'by project' do let(:project_2) do - FactoryBot.create(:project, + create(:project, parent: project) end let(:work_package_3) do - FactoryBot.create(:work_package, + create(:work_package, project: project_2) end @@ -509,8 +509,8 @@ describe WorkPackage, type: :model do end describe '#recently_updated' do - let(:work_package_1) { FactoryBot.create(:work_package) } - let(:work_package_2) { FactoryBot.create(:work_package) } + let(:work_package_1) { create(:work_package) } + let(:work_package_2) { create(:work_package) } before do work_package_1 @@ -531,12 +531,12 @@ describe WorkPackage, type: :model do describe '#on_active_project' do let(:project_archived) do - FactoryBot.create(:project, + create(:project, active: false) end - let!(:work_package) { FactoryBot.create(:work_package) } + let!(:work_package) { create(:work_package) } let(:work_package_in_archived_project) do - FactoryBot.create(:work_package, + create(:work_package, project: project_archived) end @@ -554,14 +554,14 @@ describe WorkPackage, type: :model do end describe '#with_author' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:project_archived) do - FactoryBot.create(:project, + create(:project, active: false) end - let!(:work_package) { FactoryBot.create(:work_package, author: user) } + let!(:work_package) { create(:work_package, author: user) } let(:work_package_in_archived_project) do - FactoryBot.create(:work_package, + create(:work_package, project: project_archived, author: user) end @@ -600,10 +600,10 @@ describe WorkPackage, type: :model do end describe '.allowed_target_project_on_move' do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: [:move_work_packages]) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: [:move_work_packages]) } let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end context 'when having the move_work_packages permission' do @@ -614,7 +614,7 @@ describe WorkPackage, type: :model do end context 'when lacking the move_work_packages permission' do - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } it 'does not return the project' do expect(WorkPackage.allowed_target_projects_on_move(user)) @@ -624,10 +624,10 @@ describe WorkPackage, type: :model do end describe '.allowed_target_project_on_create' do - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: [:add_work_packages]) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: [:add_work_packages]) } let(:user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end context 'when having the add_work_packages permission' do @@ -638,7 +638,7 @@ describe WorkPackage, type: :model do end context 'when lacking the add_work_packages permission' do - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } it 'does not return the project' do expect(WorkPackage.allowed_target_projects_on_create(user)) @@ -702,7 +702,7 @@ describe WorkPackage, type: :model do describe 'changed_since' do let!(:work_package) do Timecop.travel(5.hours.ago) do - FactoryBot.create(:work_package) + create(:work_package) end end diff --git a/spec/models/work_packages/derived_dates_spec.rb b/spec/models/work_packages/derived_dates_spec.rb index 57f0d2f6fcc..9297467d10d 100644 --- a/spec/models/work_packages/derived_dates_spec.rb +++ b/spec/models/work_packages/derived_dates_spec.rb @@ -30,17 +30,17 @@ require 'spec_helper' describe WorkPackage, 'derived dates', type: :model do let(:work_package) do - FactoryBot.create(:work_package) + create(:work_package) end let(:child_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: work_package.project, start_date: child_start_date, due_date: child_due_date, parent: work_package) end let(:child_work_package_in_other_project) do - FactoryBot.create(:work_package, + create(:work_package, start_date: other_child_start_date, due_date: other_child_due_date, parent: work_package) @@ -53,11 +53,11 @@ describe WorkPackage, 'derived dates', type: :model do let(:work_packages) { [work_package, child_work_package, child_work_package_in_other_project] } let(:role) do - FactoryBot.build(:role, + build(:role, permissions: %i[view_work_packages]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package.project, member_through_role: role) end diff --git a/spec/models/work_packages/scopes/for_scheduling_spec.rb b/spec/models/work_packages/scopes/for_scheduling_spec.rb index e1c02c53313..1032ef84483 100644 --- a/spec/models/work_packages/scopes/for_scheduling_spec.rb +++ b/spec/models/work_packages/scopes/for_scheduling_spec.rb @@ -29,76 +29,76 @@ require 'spec_helper' describe WorkPackages::Scopes::ForScheduling, 'allowed scope' do - let(:project) { FactoryBot.create(:project) } - let(:origin) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:origin) { create(:work_package, project: project) } let(:predecessor) do - FactoryBot.create(:work_package, project: project).tap do |pre| - FactoryBot.create(:follows_relation, from: origin, to: pre) + create(:work_package, project: project).tap do |pre| + create(:follows_relation, from: origin, to: pre) end end let(:parent) do - FactoryBot.create(:work_package, project: project).tap do |par| - FactoryBot.create(:hierarchy_relation, from: par, to: origin) + create(:work_package, project: project).tap do |par| + create(:hierarchy_relation, from: par, to: origin) end end let(:grandparent) do - FactoryBot.create(:work_package, project: project).tap do |grand| - FactoryBot.create(:hierarchy_relation, from: grand, to: parent) + create(:work_package, project: project).tap do |grand| + create(:hierarchy_relation, from: grand, to: parent) end end let(:successor) do - FactoryBot.create(:work_package, project: project).tap do |suc| - FactoryBot.create(:follows_relation, from: suc, to: origin) + create(:work_package, project: project).tap do |suc| + create(:follows_relation, from: suc, to: origin) end end let(:successor2) do - FactoryBot.create(:work_package, project: project).tap do |suc| - FactoryBot.create(:follows_relation, from: suc, to: origin) + create(:work_package, project: project).tap do |suc| + create(:follows_relation, from: suc, to: origin) end end let(:successor_parent) do - FactoryBot.create(:work_package, project: project).tap do |par| - FactoryBot.create(:hierarchy_relation, from: par, to: successor) + create(:work_package, project: project).tap do |par| + create(:hierarchy_relation, from: par, to: successor) end end let(:successor_child) do - FactoryBot.create(:work_package, project: project).tap do |chi| - FactoryBot.create(:hierarchy_relation, from: successor, to: chi) + create(:work_package, project: project).tap do |chi| + create(:hierarchy_relation, from: successor, to: chi) end end let(:successor_child2) do - FactoryBot.create(:work_package, project: project).tap do |chi| - FactoryBot.create(:hierarchy_relation, from: successor, to: chi) + create(:work_package, project: project).tap do |chi| + create(:hierarchy_relation, from: successor, to: chi) end end let(:successor_successor) do - FactoryBot.create(:work_package, project: project).tap do |suc| - FactoryBot.create(:follows_relation, from: suc, to: successor) + create(:work_package, project: project).tap do |suc| + create(:follows_relation, from: suc, to: successor) end end let(:parent_successor) do - FactoryBot.create(:work_package, project: project).tap do |suc| - FactoryBot.create(:follows_relation, from: suc, to: parent) + create(:work_package, project: project).tap do |suc| + create(:follows_relation, from: suc, to: parent) end end let(:parent_successor_parent) do - FactoryBot.create(:work_package, project: project).tap do |par| - FactoryBot.create(:hierarchy_relation, from: par, to: parent_successor) + create(:work_package, project: project).tap do |par| + create(:hierarchy_relation, from: par, to: parent_successor) end end let(:parent_successor_child) do - FactoryBot.create(:work_package, project: project).tap do |chi| - FactoryBot.create(:hierarchy_relation, from: parent_successor, to: chi) + create(:work_package, project: project).tap do |chi| + create(:hierarchy_relation, from: parent_successor, to: chi) end end let(:blocker) do - FactoryBot.create(:work_package, project: project).tap do |blo| - FactoryBot.create(:relation, relation_type: 'blocks', from: blo, to: origin) + create(:work_package, project: project).tap do |blo| + create(:relation, relation_type: 'blocks', from: blo, to: origin) end end let(:includer) do - FactoryBot.create(:work_package, project: project).tap do |inc| - FactoryBot.create(:relation, relation_type: 'includes', from: inc, to: origin) + create(:work_package, project: project).tap do |inc| + create(:relation, relation_type: 'includes', from: inc, to: origin) end end let(:existing_work_packages) { [] } @@ -211,7 +211,7 @@ describe WorkPackages::Scopes::ForScheduling, 'allowed scope' do let!(:existing_work_packages) { [successor, successor_child, successor_parent, successor_successor] } before do - FactoryBot.create(:hierarchy_relation, from: successor_parent, to: successor_successor) + create(:hierarchy_relation, from: successor_parent, to: successor_successor) end context 'with all scheduled automatically' do @@ -248,7 +248,7 @@ describe WorkPackages::Scopes::ForScheduling, 'allowed scope' do let!(:existing_work_packages) { [successor, successor_parent] } before do - FactoryBot.create(:follows_relation, from: successor_parent, to: origin) + create(:follows_relation, from: successor_parent, to: origin) end context 'with all scheduled automatically' do diff --git a/spec/models/work_packages/spent_time_spec.rb b/spec/models/work_packages/spent_time_spec.rb index a5c6bc32438..9bfe1b3533a 100644 --- a/spec/models/work_packages/spent_time_spec.rb +++ b/spec/models/work_packages/spent_time_spec.rb @@ -36,51 +36,51 @@ describe WorkPackage, 'spent_time', type: :model do child_work_package_in_other_project.project end let(:work_package) do - FactoryBot.create(:work_package) + create(:work_package) end let(:child_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: work_package) end let(:child_work_package_in_other_project) do - FactoryBot.create(:work_package, + create(:work_package, parent: work_package) end let!(:time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, project: project) end let(:time_entry2) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: work_package, project: project) end let(:child_time_entry) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: child_work_package, project: project) end let(:child_time_entry_in_other_project) do - FactoryBot.create(:time_entry, + create(:time_entry, work_package: child_work_package_in_other_project, project: other_project) end let(:role) do - FactoryBot.build(:role, + build(:role, permissions: %i[view_time_entries view_work_packages]) end let(:role_without_view_time_entries) do - FactoryBot.build(:role, + build(:role, permissions: [:view_work_packages]) end let(:role_without_view_work_packages) do - FactoryBot.build(:role, + build(:role, permissions: [:view_time_entries]) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -111,7 +111,7 @@ describe WorkPackage, 'spent_time', type: :model do context 'permissions' do it 'counts the child if that child is in a project in which the user ' + 'has the necessary permissions' do - FactoryBot.create(:member, + create(:member, user: user, project: other_project, roles: [role]) @@ -123,7 +123,7 @@ describe WorkPackage, 'spent_time', type: :model do it 'does not count the child if that child is in a project in which the user ' + 'lacks the view_time_entries permission' do - FactoryBot.create(:member, + create(:member, user: user, project: other_project, roles: [role_without_view_time_entries]) @@ -136,7 +136,7 @@ describe WorkPackage, 'spent_time', type: :model do it 'does not count the child if that child is in a project in which the user ' + 'lacks the view_work_packages permission' do - FactoryBot.create(:member, + create(:member, user: user, project: other_project, roles: [role_without_view_work_packages]) diff --git a/spec/models/workflow_spec.rb b/spec/models/workflow_spec.rb index 65cb53ba50a..a8c8960bc04 100644 --- a/spec/models/workflow_spec.rb +++ b/spec/models/workflow_spec.rb @@ -29,14 +29,14 @@ require 'spec_helper' describe Workflow, type: :model do - let(:status_0) { FactoryBot.create(:status) } - let(:status_1) { FactoryBot.create(:status) } - let(:role) { FactoryBot.create(:role) } - let(:type) { FactoryBot.create(:type) } + let(:status_0) { create(:status) } + let(:status_1) { create(:status) } + let(:role) { create(:role) } + let(:type) { create(:type) } describe '#self.copy' do - let(:role_target) { FactoryBot.create(:role) } - let(:type_target) { FactoryBot.create(:type) } + let(:role_target) { create(:role) } + let(:type_target) { create(:type) } shared_examples_for 'copied workflow' do before { Workflow.copy(type, role, type_target, role_target) } @@ -58,7 +58,7 @@ describe Workflow, type: :model do describe 'workflow w/o author or assignee' do let!(:workflow_src) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status_0, new_status: status_1, type_id: type.id, @@ -69,7 +69,7 @@ describe Workflow, type: :model do describe 'workflow with author' do let!(:workflow_src) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status_0, new_status: status_1, type_id: type.id, @@ -81,7 +81,7 @@ describe Workflow, type: :model do describe 'workflow with assignee' do let!(:workflow_src) do - FactoryBot.create(:workflow, + create(:workflow, old_status: status_0, new_status: status_1, type_id: type.id, diff --git a/spec/policies/query_policy_spec.rb b/spec/policies/query_policy_spec.rb index d675d370d2d..5d1cc30c2c3 100644 --- a/spec/policies/query_policy_spec.rb +++ b/spec/policies/query_policy_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe QueryPolicy, type: :controller do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:query) { FactoryBot.build_stubbed(:query, project: project, user: user) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:query) { build_stubbed(:query, project: project, user: user) } describe '#allowed?' do let(:subject) { described_class.new(user) } @@ -44,7 +44,7 @@ describe QueryPolicy, type: :controller do shared_examples 'viewing queries' do |global| context (global ? 'in global context' : 'in project context').to_s do - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } if global let(:project) { nil } end @@ -57,7 +57,7 @@ describe QueryPolicy, type: :controller do context 'query belongs to a different user' do let(:query) do - FactoryBot.build_stubbed(:query, + build_stubbed(:query, project: project, user: user, public: false) @@ -121,7 +121,7 @@ describe QueryPolicy, type: :controller do global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) expect(subject.allowed?(query, action)).to be_falsy end @@ -145,7 +145,7 @@ describe QueryPolicy, type: :controller do project, global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = true expect(subject.allowed?(query, action)).to be_truthy @@ -158,7 +158,7 @@ describe QueryPolicy, type: :controller do project, global: project.nil?) .and_return false - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = true expect(subject.allowed?(query, action)).to be_falsy @@ -171,7 +171,7 @@ describe QueryPolicy, type: :controller do project, global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = false expect(subject.allowed?(query, action)).to be_falsy @@ -248,7 +248,7 @@ describe QueryPolicy, type: :controller do project, global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = false expect(subject.allowed?(query, :publicize)).to be_falsy @@ -276,7 +276,7 @@ describe QueryPolicy, type: :controller do global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = true expect(subject.allowed?(query, :depublicize)).to be_truthy @@ -337,7 +337,7 @@ describe QueryPolicy, type: :controller do global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = false expect(subject.allowed?(query, :reorder_work_packages)).to be_falsey end @@ -369,7 +369,7 @@ describe QueryPolicy, type: :controller do project, global: project.nil?) .and_return true - query.user = FactoryBot.build_stubbed(:user) + query.user = build_stubbed(:user) query.public = false expect(subject.allowed?(query, :reorder_work_packages)).to be_falsey diff --git a/spec/policies/work_package_policy_spec.rb b/spec/policies/work_package_policy_spec.rb index 43dfe4bca8b..c59cb8705a4 100644 --- a/spec/policies/work_package_policy_spec.rb +++ b/spec/policies/work_package_policy_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe WorkPackagePolicy, type: :controller do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:work_package) { FactoryBot.build_stubbed(:work_package, project: project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + let(:work_package) { build_stubbed(:work_package, project: project) } describe '#allowed?' do let(:subject) { described_class.new(user) } diff --git a/spec/requests/api/v3/action_resource_spec.rb b/spec/requests/api/v3/action_resource_spec.rb index 6e41061cbe2..b5d64a12cae 100644 --- a/spec/requests/api/v3/action_resource_spec.rb +++ b/spec/requests/api/v3/action_resource_spec.rb @@ -36,7 +36,7 @@ describe 'API v3 action resource', type: :request, content_type: :json do subject(:response) { last_response } current_user do - FactoryBot.create(:user) + create(:user) end describe 'GET api/v3/actions' do diff --git a/spec/requests/api/v3/activities_api_spec.rb b/spec/requests/api/v3/activities_api_spec.rb index 51066473165..8c3569c6cc5 100644 --- a/spec/requests/api/v3/activities_api_spec.rb +++ b/spec/requests/api/v3/activities_api_spec.rb @@ -34,13 +34,13 @@ describe API::V3::Activities::ActivitiesAPI, type: :request, content_type: :json include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end - let(:project) { FactoryBot.create(:project, public: false) } + let(:project) { create(:project, public: false) } let(:work_package) do - FactoryBot.create(:work_package, author: current_user, project: project) + create(:work_package, author: current_user, project: project) end let(:permissions) { %i[view_work_packages edit_work_package_notes] } let(:activity) { work_package.journals.first } @@ -181,7 +181,7 @@ describe API::V3::Activities::ActivitiesAPI, type: :request, content_type: :json context 'anonymous user' do it_behaves_like 'handling anonymous user' do - let(:project) { FactoryBot.create(:project, public: true) } + let(:project) { create(:project, public: true) } let(:path) { get_path } end end diff --git a/spec/requests/api/v3/activities_by_work_package_resource_spec.rb b/spec/requests/api/v3/activities_by_work_package_resource_spec.rb index 9942ac9168c..745b284ff92 100644 --- a/spec/requests/api/v3/activities_by_work_package_resource_spec.rb +++ b/spec/requests/api/v3/activities_by_work_package_resource_spec.rb @@ -34,12 +34,12 @@ describe API::V3::Activities::ActivitiesByWorkPackageAPI, type: :request do describe 'activities' do let(:project) { work_package.project } - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:comment) { 'This is a test comment!' } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_work_packages add_work_package_notes) } before do @@ -56,7 +56,7 @@ describe API::V3::Activities::ActivitiesByWorkPackageAPI, type: :request do end context 'not allowed to see work package' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } it 'fails with HTTP Not Found' do expect(last_response.status).to eql 404 @@ -65,7 +65,7 @@ describe API::V3::Activities::ActivitiesByWorkPackageAPI, type: :request do end describe 'POST /api/v3/work_packages/:id/activities' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } shared_context 'create activity' do before do diff --git a/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb b/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb index 3233e69d49a..e883287dde4 100644 --- a/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb +++ b/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb @@ -194,17 +194,17 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j let(:current_user) { user_with_permissions } let(:user_with_permissions) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:author) do current_user end - let(:project) { FactoryBot.create(:project, public: false) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project, public: false) } + let(:role) { create(:role, permissions: permissions) } - let(:attachment) { FactoryBot.create(:attachment, container: container, author: author) } + let(:attachment) { create(:attachment, container: container, author: author) } let(:container) { send attachment_type } let(:attachment_type) { raise "attachment type goes here, e.g. work_package" } @@ -408,7 +408,7 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j end context 'with the user not being the author' do - let(:author) { FactoryBot.create(:user) } + let(:author) { create(:user) } it_behaves_like 'does not delete the attachment', 404 end @@ -430,7 +430,7 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j let(:content_disposition) { raise "define content_disposition" } let(:attachment) do - att = FactoryBot.create(:attachment, container: container, file: mock_file, author: current_user) + att = create(:attachment, container: container, file: mock_file, author: current_user) att.file.store! att.send :write_attribute, :file, mock_file.original_filename @@ -496,7 +496,7 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j let(:external_url) { 'http://some_service.org/blubs.gif' } let(:mock_file) { FileHelpers.mock_uploaded_file name: 'foobar.txt' } let(:attachment) do - FactoryBot.create(:attachment, container: container, file: mock_file, author: current_user).tap do + create(:attachment, container: container, file: mock_file, author: current_user).tap do # need to mock here to avoid dependency on external service allow_any_instance_of(Attachment) .to receive(:external_url) @@ -535,7 +535,7 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j let(:get_path) { api_v3_paths.send "attachments_by_#{attachment_type}", container.id } before do - FactoryBot.create_list(:attachment, 2, container: container) + create_list(:attachment, 2, container: container) get get_path end diff --git a/spec/requests/api/v3/attachments/forum_message_spec.rb b/spec/requests/api/v3/attachments/forum_message_spec.rb index 3a6f29a90a9..871d1362d3d 100644 --- a/spec/requests/api/v3/attachments/forum_message_spec.rb +++ b/spec/requests/api/v3/attachments/forum_message_spec.rb @@ -37,9 +37,9 @@ describe "forum message attachments" do let(:read_permission) { nil } let(:update_permission) { :edit_messages } - let(:forum) { FactoryBot.create(:forum, project: project) } - let(:forum_message) { FactoryBot.create(:message, forum: forum) } + let(:forum) { create(:forum, project: project) } + let(:forum_message) { create(:message, forum: forum) } - let(:missing_permissions_user) { FactoryBot.create(:user) } + let(:missing_permissions_user) { create(:user) } end end diff --git a/spec/requests/api/v3/attachments/wiki_page_spec.rb b/spec/requests/api/v3/attachments/wiki_page_spec.rb index 9402fd01f18..3b21db3df2e 100644 --- a/spec/requests/api/v3/attachments/wiki_page_spec.rb +++ b/spec/requests/api/v3/attachments/wiki_page_spec.rb @@ -37,7 +37,7 @@ describe "wiki page attachments" do let(:read_permission) { :view_wiki_pages } let(:update_permission) { %i(delete_wiki_pages_attachments edit_wiki_pages) } - let(:wiki) { FactoryBot.create(:wiki, project: project) } - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki) } + let(:wiki) { create(:wiki, project: project) } + let(:wiki_page) { create(:wiki_page, wiki: wiki) } end end diff --git a/spec/requests/api/v3/attachments/work_package_spec.rb b/spec/requests/api/v3/attachments/work_package_spec.rb index b4e0a22dabb..d3bcc2ad8f4 100644 --- a/spec/requests/api/v3/attachments/work_package_spec.rb +++ b/spec/requests/api/v3/attachments/work_package_spec.rb @@ -38,7 +38,7 @@ describe "work package attachments" do let(:update_permission) { :edit_work_packages } let(:work_package) do - FactoryBot.create :work_package, author: current_user, project: project + create :work_package, author: current_user, project: project end end end diff --git a/spec/requests/api/v3/attachments/work_packages_export_spec.rb b/spec/requests/api/v3/attachments/work_packages_export_spec.rb index 2d9d729ac50..972b5e6fe5f 100644 --- a/spec/requests/api/v3/attachments/work_packages_export_spec.rb +++ b/spec/requests/api/v3/attachments/work_packages_export_spec.rb @@ -37,12 +37,12 @@ describe "WorkPackages::Export attachments" do let(:read_permission) { :export_work_packages } let(:update_permission) { :export_work_packages } - let(:export) { FactoryBot.create(:work_packages_export) } + let(:export) { create(:work_packages_export) } - let(:missing_permissions_user) { FactoryBot.create(:user) } - let(:other_user) { FactoryBot.create(:user) } + let(:missing_permissions_user) { create(:user) } + let(:other_user) { create(:user) } - let(:other_user_attachment) { FactoryBot.create(:attachment, container: export, author: other_user) } + let(:other_user_attachment) { create(:attachment, container: export, author: other_user) } describe '#get' do subject(:response) { last_response } diff --git a/spec/requests/api/v3/attachments_spec.rb b/spec/requests/api/v3/attachments_spec.rb index a07e03c8b29..a923f293095 100644 --- a/spec/requests/api/v3/attachments_spec.rb +++ b/spec/requests/api/v3/attachments_spec.rb @@ -34,10 +34,10 @@ describe API::V3::Attachments::AttachmentsAPI, type: :request do include API::V3::Utilities::PathHelper include FileHelpers - let(:current_user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } + let(:current_user) { create(:user, member_in_project: project, member_through_role: role) } - let(:project) { FactoryBot.create(:project, public: false) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project, public: false) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:add_work_packages] } context( @@ -70,7 +70,7 @@ describe API::V3::Attachments::AttachmentsAPI, type: :request do describe 'GET /uploaded' do let(:digest) { "" } let(:attachment) do - FactoryBot.create :attachment, digest: digest, author: current_user, container: nil, container_type: nil, downloads: -1 + create :attachment, digest: digest, author: current_user, container: nil, container_type: nil, downloads: -1 end before do diff --git a/spec/requests/api/v3/authentication_spec.rb b/spec/requests/api/v3/authentication_spec.rb index 416f28a79c1..21a8b2c2924 100644 --- a/spec/requests/api/v3/authentication_spec.rb +++ b/spec/requests/api/v3/authentication_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe API::V3, type: :request do describe 'basic auth' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:resource) { "/api/v3/projects" } let(:response_401) do @@ -191,7 +191,7 @@ describe API::V3, type: :request do it_behaves_like 'it is basic auth protected' describe 'user basic auth' do - let(:api_key) { FactoryBot.create :api_token } + let(:api_key) { create :api_token } let(:username) { 'apikey' } let(:password) { api_key.plain_value } @@ -202,7 +202,7 @@ describe API::V3, type: :request do end describe 'user basic auth' do - let(:api_key) { FactoryBot.create :api_token } + let(:api_key) { create :api_token } let(:username) { 'apikey' } let(:password) { api_key.plain_value } @@ -223,8 +223,8 @@ describe API::V3, type: :request do let(:username) { 'hancholo' } let(:password) { 'olooleol' } - let(:api_user) { FactoryBot.create :user, login: 'user_account' } - let(:api_key) { FactoryBot.create :api_token, user: api_user } + let(:api_user) { create :user, login: 'user_account' } + let(:api_key) { create :api_token, user: api_user } before do config = { user: 'global_account', password: 'global_password' } diff --git a/spec/requests/api/v3/backups/backups_api_spec.rb b/spec/requests/api/v3/backups/backups_api_spec.rb index a1c437b594b..cd8e32f56ba 100644 --- a/spec/requests/api/v3/backups/backups_api_spec.rb +++ b/spec/requests/api/v3/backups/backups_api_spec.rb @@ -32,10 +32,10 @@ require 'rack/test' describe API::V3::Backups::BackupsAPI, type: :request, with_config: { backup_enabled: true } do include API::V3::Utilities::PathHelper - let(:user) { FactoryBot.create :user, global_permissions: [:create_backup] } + let(:user) { create :user, global_permissions: [:create_backup] } let(:params) { { backupToken: backup_token.plain_value } } - let(:backup_token) { FactoryBot.create :backup_token, user: user } + let(:backup_token) { create :backup_token, user: user } before do login_as user @@ -97,8 +97,8 @@ describe API::V3::Backups::BackupsAPI, type: :request, with_config: { backup_ena end context "with pending backups" do - let!(:backup) { FactoryBot.create :backup } - let!(:status) { FactoryBot.create :delayed_job_status, user: user, reference: backup } + let!(:backup) { create :backup } + let!(:status) { create :delayed_job_status, user: user, reference: backup } include_context "request" @@ -108,7 +108,7 @@ describe API::V3::Backups::BackupsAPI, type: :request, with_config: { backup_ena end context "with missing permissions" do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } include_context "request" @@ -118,8 +118,8 @@ describe API::V3::Backups::BackupsAPI, type: :request, with_config: { backup_ena end context "with another user's token" do - let(:other_user) { FactoryBot.create :user } - let(:backup_token) { FactoryBot.create :backup_token, user: other_user } + let(:other_user) { create :user } + let(:backup_token) { create :backup_token, user: other_user } include_context "request" @@ -137,7 +137,7 @@ describe API::V3::Backups::BackupsAPI, type: :request, with_config: { backup_ena end context "with backup token on cooldown", with_config: { backup_initial_waiting_period: 24.hours } do - let(:backup_token) { FactoryBot.create :backup_token, :with_waiting_period, user: user, since: 5.hours } + let(:backup_token) { create :backup_token, :with_waiting_period, user: user, since: 5.hours } include_context "request" diff --git a/spec/requests/api/v3/capabilities/contexts/global_resource_spec.rb b/spec/requests/api/v3/capabilities/contexts/global_resource_spec.rb index a972861d46c..b91ddcff688 100644 --- a/spec/requests/api/v3/capabilities/contexts/global_resource_spec.rb +++ b/spec/requests/api/v3/capabilities/contexts/global_resource_spec.rb @@ -36,7 +36,7 @@ describe 'API v3 capabilities global context resource', type: :request, content_ subject(:response) { last_response } current_user do - FactoryBot.create(:user) + create(:user) end describe 'GET /api/v3/capabilities/contexts/global' do diff --git a/spec/requests/api/v3/capability_resource_spec.rb b/spec/requests/api/v3/capability_resource_spec.rb index d2595fd9a3a..d2b2dfd1720 100644 --- a/spec/requests/api/v3/capability_resource_spec.rb +++ b/spec/requests/api/v3/capability_resource_spec.rb @@ -36,28 +36,28 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do subject(:response) { last_response } current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: current_user_permissions) end let(:current_user_permissions) { [] } let(:other_user_permissions) { %i[manage_members] } let(:other_user_global_permissions) { %i[manage_user] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:role) do - FactoryBot.create(:role, permissions: other_user_permissions) + create(:role, permissions: other_user_permissions) end let(:global_role) do - FactoryBot.create(:global_role, permissions: other_user_global_permissions) + create(:global_role, permissions: other_user_global_permissions) end - let(:other_user) { FactoryBot.create(:user) } + let(:other_user) { create(:user) } let(:other_user_global_member) do - FactoryBot.create(:global_member, + create(:global_member, principal: other_user, roles: [global_role]) end let(:other_user_member) do - FactoryBot.create(:member, + create(:member, principal: other_user, roles: [role], project: project) @@ -168,7 +168,7 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do } }] end let(:other_user) { group } - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } let(:setup) do other_user_member @@ -198,7 +198,7 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do end let(:other_user) { placeholder_user } let(:placeholder_user) do - FactoryBot.create(:placeholder_user) + create(:placeholder_user) end let(:setup) do @@ -269,9 +269,9 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do end context 'when filtering by project context' do - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let(:other_user_other_member) do - FactoryBot.create(:member, + create(:member, principal: other_user, roles: [role], project: other_project) @@ -322,7 +322,7 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do context 'without permissions' do current_user do - FactoryBot.create(:user) + create(:user) end let(:filters) do @@ -415,7 +415,7 @@ describe 'API v3 capabilities resource', type: :request, content_type: :json do context 'if querying for an invisible user' do current_user do - FactoryBot.create(:user) + create(:user) end it 'returns 404 NOT FOUND' do diff --git a/spec/requests/api/v3/category_resource_spec.rb b/spec/requests/api/v3/category_resource_spec.rb index 5fc2fdc119f..af4d155bd83 100644 --- a/spec/requests/api/v3/category_resource_spec.rb +++ b/spec/requests/api/v3/category_resource_spec.rb @@ -33,20 +33,20 @@ describe 'API v3 Category resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:role) { FactoryBot.create(:role, permissions: []) } - let(:private_project) { FactoryBot.create(:project, public: false) } - let(:public_project) { FactoryBot.create(:project, public: true) } - let(:anonymous_user) { FactoryBot.create(:user) } + let(:role) { create(:role, permissions: []) } + let(:private_project) { create(:project, public: false) } + let(:public_project) { create(:project, public: true) } + let(:anonymous_user) { create(:user) } let(:privileged_user) do - FactoryBot.create(:user, + create(:user, member_in_project: private_project, member_through_role: role) end - let!(:categories) { FactoryBot.create_list(:category, 3, project: private_project) } - let!(:other_categories) { FactoryBot.create_list(:category, 2, project: public_project) } + let!(:categories) { create_list(:category, 3, project: private_project) } + let!(:other_categories) { create_list(:category, 2, project: public_project) } let!(:user_categories) do - FactoryBot.create_list(:category, + create_list(:category, 2, project: private_project, assigned_to: privileged_user) diff --git a/spec/requests/api/v3/configuration_resource_spec.rb b/spec/requests/api/v3/configuration_resource_spec.rb index c748c0d896b..c7f2f77a97c 100644 --- a/spec/requests/api/v3/configuration_resource_spec.rb +++ b/spec/requests/api/v3/configuration_resource_spec.rb @@ -33,7 +33,7 @@ describe 'API v3 Configuration resource', type: :request do include Rack::Test::Methods include ::API::V3::Utilities::PathHelper - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:configuration_path) { api_v3_paths.configuration } subject(:response) { last_response } diff --git a/spec/requests/api/v3/custom_actions/custom_actions_api_spec.rb b/spec/requests/api/v3/custom_actions/custom_actions_api_spec.rb index 7b229423d8b..a60228cbad1 100644 --- a/spec/requests/api/v3/custom_actions/custom_actions_api_spec.rb +++ b/spec/requests/api/v3/custom_actions/custom_actions_api_spec.rb @@ -33,22 +33,22 @@ describe 'API::V3::CustomActions::CustomActionsAPI', type: :request do include API::V3::Utilities::PathHelper let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[edit_work_packages view_work_packages]) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, assigned_to: user) end let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:action) do - FactoryBot.create(:custom_action, actions: [CustomActions::Actions::AssignedTo.new(nil)]) + create(:custom_action, actions: [CustomActions::Actions::AssignedTo.new(nil)]) end let(:parameters) do { @@ -93,7 +93,7 @@ describe 'API::V3::CustomActions::CustomActionsAPI', type: :request do end context 'when lacking permissions' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } include_context 'get request' @@ -188,7 +188,7 @@ describe 'API::V3::CustomActions::CustomActionsAPI', type: :request do end context 'with a non visible work package' do - let(:invisible_work_package) { FactoryBot.create(:work_package) } + let(:invisible_work_package) { create(:work_package) } let(:parameters) do { diff --git a/spec/requests/api/v3/custom_options/custom_options_resource_spec.rb b/spec/requests/api/v3/custom_options/custom_options_resource_spec.rb index a05bc08729d..49f281d533f 100644 --- a/spec/requests/api/v3/custom_options/custom_options_resource_spec.rb +++ b/spec/requests/api/v3/custom_options/custom_options_resource_spec.rb @@ -34,22 +34,22 @@ describe 'API v3 Custom Options resource' do include API::V3::Utilities::PathHelper let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:custom_field) do - cf = FactoryBot.create(:list_wp_custom_field) + cf = create(:list_wp_custom_field) project.work_package_custom_fields << cf cf end let(:custom_option) do - FactoryBot.create(:custom_option, + create(:custom_option, custom_field: custom_field) end @@ -98,7 +98,7 @@ describe 'API v3 Custom Options resource' do context 'when custom option not in project' do let(:custom_field) do # not added to project - FactoryBot.create(:list_wp_custom_field) + create(:list_wp_custom_field) end it 'is 404' do diff --git a/spec/requests/api/v3/groups/group_resource_spec.rb b/spec/requests/api/v3/groups/group_resource_spec.rb index a1d1de232b2..27b6dafa85d 100644 --- a/spec/requests/api/v3/groups/group_resource_spec.rb +++ b/spec/requests/api/v3/groups/group_resource_spec.rb @@ -35,9 +35,9 @@ describe 'API v3 Group resource', type: :request, content_type: :json do subject(:response) { last_response } - shared_let(:project) { FactoryBot.create(:project) } + shared_let(:project) { create(:project) } let(:group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_through_role: role).tap do |g| members.each do |members| @@ -45,15 +45,15 @@ describe 'API v3 Group resource', type: :request, content_type: :json do end end end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_members manage_members] } let(:members) do - FactoryBot.create_list(:user, 2) + create_list(:user, 2) end - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -99,7 +99,7 @@ describe 'API v3 Group resource', type: :request, content_type: :json do context 'not having the necessary permission to see the specific group' do let(:permissions) { %i[view_members] } - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } it_behaves_like 'not found' end @@ -126,7 +126,7 @@ describe 'API v3 Group resource', type: :request, content_type: :json do end context 'when the user is allowed and the input is valid' do - current_user { FactoryBot.create(:admin) } + current_user { create(:admin) } it 'responds with 201' do expect(last_response.status).to eq(201) @@ -153,7 +153,7 @@ describe 'API v3 Group resource', type: :request, content_type: :json do end context 'when the user is allowed and the input is invalid' do - current_user { FactoryBot.create(:admin) } + current_user { create(:admin) } let(:body) do { @@ -177,9 +177,9 @@ describe 'API v3 Group resource', type: :request, content_type: :json do describe 'PATCH api/v3/groups/:id' do let(:path) { api_v3_paths.group(group.id) } - let(:another_role) { FactoryBot.create(:role) } + let(:another_role) { create(:role) } let(:another_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: another_role) end @@ -198,12 +198,12 @@ describe 'API v3 Group resource', type: :request, content_type: :json do }.to_json end let(:group_updated_at) { group.reload.updated_at } - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let!(:membership) do - FactoryBot.create(:member, + create(:member, principal: group, project: other_project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end before do @@ -327,14 +327,14 @@ describe 'API v3 Group resource', type: :request, content_type: :json do describe 'DELETE /api/v3/groups/:id' do let(:path) { api_v3_paths.group(group.id) } - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let!(:membership) do - FactoryBot.create(:member, + create(:member, principal: group, project: other_project, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end - let(:another_role) { FactoryBot.create(:role) } + let(:another_role) { create(:role) } before do # Setup the memberships in the group has @@ -396,7 +396,7 @@ describe 'API v3 Group resource', type: :request, content_type: :json do describe 'GET api/v3/groups' do let(:get_path) { api_v3_paths.groups } let(:other_group) do - FactoryBot.create(:group) + create(:group) end before do diff --git a/spec/requests/api/v3/help_texts/help_texts_resource_spec.rb b/spec/requests/api/v3/help_texts/help_texts_resource_spec.rb index a3b96909759..7d61f3d9c0a 100644 --- a/spec/requests/api/v3/help_texts/help_texts_resource_spec.rb +++ b/spec/requests/api/v3/help_texts/help_texts_resource_spec.rb @@ -33,10 +33,10 @@ describe 'API v3 Help texts resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -46,12 +46,12 @@ describe 'API v3 Help texts resource' do # Type.translated_work_package_form_attributes Rails.cache.clear - custom_field = FactoryBot.create :text_wp_custom_field + custom_field = create :text_wp_custom_field [ - FactoryBot.create(:work_package_help_text, attribute_name: 'assignee'), - FactoryBot.create(:work_package_help_text, attribute_name: 'status'), - FactoryBot.create(:work_package_help_text, attribute_name: "custom_field_#{custom_field.id}") + create(:work_package_help_text, attribute_name: 'assignee'), + create(:work_package_help_text, attribute_name: 'status'), + create(:work_package_help_text, attribute_name: "custom_field_#{custom_field.id}") ] end diff --git a/spec/requests/api/v3/locale_spec.rb b/spec/requests/api/v3/locale_spec.rb index 391befac19e..44652f177f7 100644 --- a/spec/requests/api/v3/locale_spec.rb +++ b/spec/requests/api/v3/locale_spec.rb @@ -36,10 +36,10 @@ describe 'API localization', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:type) { FactoryBot.create(:type) } + let(:project) { create(:project) } + let(:type) { create(:type) } let(:schema_path) { api_v3_paths.work_package_schema project.id, type.id } - let(:current_user) { FactoryBot.create(:user, member_in_project: project, language: :fr) } + let(:current_user) { create(:user, member_in_project: project, language: :fr) } describe 'GET /api/v3/work_packages/schemas/:id' do before do diff --git a/spec/requests/api/v3/membership_resources_spec.rb b/spec/requests/api/v3/membership_resources_spec.rb index 84c6be15e4c..c81ca7cb564 100644 --- a/spec/requests/api/v3/membership_resources_spec.rb +++ b/spec/requests/api/v3/membership_resources_spec.rb @@ -35,34 +35,34 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:admin) do - FactoryBot.create(:admin) + create(:admin) end let(:own_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:member, + roles: [create(:role, permissions: permissions)], project: project, user: current_user) end let(:permissions) { %i[view_members manage_members] } - let(:project) { FactoryBot.create(:project) } - let(:other_role) { FactoryBot.create(:role) } - let(:global_role) { FactoryBot.create(:global_role) } - let(:other_user) { FactoryBot.create(:user) } + let(:project) { create(:project) } + let(:other_role) { create(:role) } + let(:global_role) { create(:global_role) } + let(:other_user) { create(:user) } let(:other_member) do - FactoryBot.create(:member, + create(:member, roles: [other_role], principal: other_user, project: project) end let(:invisible_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role)]) + create(:member, + roles: [create(:role)]) end let(:global_member) do - FactoryBot.create(:global_member, + create(:global_member, roles: [global_role]) end @@ -180,10 +180,10 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do end context 'with a group' do - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } let(:group_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role)], + create(:member, + roles: [create(:role)], project: project, principal: group) end @@ -210,11 +210,11 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'with a placeholder_user' do let(:placeholder_user) do - FactoryBot.create(:placeholder_user) + create(:placeholder_user) end let(:placeholder_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role)], + create(:member, + roles: [create(:role)], project: project, principal: placeholder_user) end @@ -262,13 +262,13 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do let(:members) { [own_member, other_member, invisible_member, own_other_member] } let(:own_other_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:member, + roles: [create(:role, permissions: permissions)], project: other_project, user: current_user) end - let(:other_project) { FactoryBot.create(:project) } + let(:other_project) { create(:project) } let(:filters) do [{ 'project' => { @@ -289,10 +289,10 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do end context 'filtering by principal' do - let(:group) { FactoryBot.create(:group) } + let(:group) { create(:group) } let(:group_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role)], + create(:member, + roles: [create(:role)], principal: group, project: project) end @@ -482,10 +482,10 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'for a group' do let(:group) do - FactoryBot.create(:group, members: users) + create(:group, members: users) end let(:principal) { group } - let(:users) { [FactoryBot.create(:user), FactoryBot.create(:user)] } + let(:users) { [create(:user), create(:user)] } let(:principal_path) { api_v3_paths.group(group.id) } let(:body) do { @@ -554,7 +554,7 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do end context 'for a placeholder user' do - let(:placeholder_user) { FactoryBot.create(:placeholder_user) } + let(:placeholder_user) { create(:placeholder_user) } let(:principal) { placeholder_user } let(:principal_path) { api_v3_paths.placeholder_user(placeholder_user.id) } let(:body) do @@ -774,7 +774,7 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do describe 'PATCH api/v3/memberships/:id' do let(:path) { api_v3_paths.membership(other_member.id) } - let(:another_role) { FactoryBot.create(:role) } + let(:another_role) { create(:role) } let(:custom_message) { 'Wish you where **here**.' } let(:body) do { @@ -870,10 +870,10 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'with a group' do let(:group) do - FactoryBot.create(:group, member_in_project: project, member_through_role: other_role, members: users) + create(:group, member_in_project: project, member_through_role: other_role, members: users) end let(:principal) { group } - let(:users) { [FactoryBot.create(:user), FactoryBot.create(:user)] } + let(:users) { [create(:user), create(:user)] } let(:other_member) do Member.find_by(principal: group).tap do |m| # Behaves as if the user had that role before the role's membership was created. @@ -989,7 +989,7 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do end context 'if attempting to assign unassignable roles' do - let(:anonymous_role) { FactoryBot.create(:anonymous_role) } + let(:anonymous_role) { create(:anonymous_role) } let(:body) do { _links: { @@ -1014,10 +1014,10 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'when attempting to switch the project' do let(:other_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, project: p, - roles: [FactoryBot.create(:role, permissions: [:manage_members])], + roles: [create(:role, permissions: [:manage_members])], user: current_user) end end @@ -1038,7 +1038,7 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'if attempting to switch the principal' do let(:another_user) do - FactoryBot.create(:user) + create(:user) end let(:body) do @@ -1101,11 +1101,11 @@ describe 'API v3 memberships resource', type: :request, content_type: :json do context 'with a group' do let(:group) do - FactoryBot.create(:group, member_in_project: project, member_through_role: other_role, members: users) + create(:group, member_in_project: project, member_through_role: other_role, members: users) end let(:principal) { group } - let(:users) { [FactoryBot.create(:user), FactoryBot.create(:user)] } - let(:another_role) { FactoryBot.create(:role) } + let(:users) { [create(:user), create(:user)] } + let(:another_role) { create(:role) } let(:other_member) do Member.find_by(principal: group).tap do # Behaves as if the user had a role before the role's membership was created. diff --git a/spec/requests/api/v3/memberships/available_projects_resource_spec.rb b/spec/requests/api/v3/memberships/available_projects_resource_spec.rb index c89e374ee3b..a1abd468f68 100644 --- a/spec/requests/api/v3/memberships/available_projects_resource_spec.rb +++ b/spec/requests/api/v3/memberships/available_projects_resource_spec.rb @@ -34,41 +34,41 @@ describe 'API v3 memberships available projects resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:own_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:member, + roles: [create(:role, permissions: permissions)], project: project, user: current_user) end let(:permissions) { %i[view_members manage_members] } let(:manage_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: permissions)], project: p, user: current_user) end end let(:membered_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: permissions)], project: p, user: current_user) - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:member, + roles: [create(:role, permissions: permissions)], project: p, user: other_user) end end let(:unauthorized_project) do - FactoryBot.create(:public_project) + create(:public_project) end subject(:response) { last_response } diff --git a/spec/requests/api/v3/memberships/create_form_resource_spec.rb b/spec/requests/api/v3/memberships/create_form_resource_spec.rb index 7923a79e00d..fa0caf79dc0 100644 --- a/spec/requests/api/v3/memberships/create_form_resource_spec.rb +++ b/spec/requests/api/v3/memberships/create_form_resource_spec.rb @@ -34,14 +34,14 @@ describe ::API::V3::Memberships::CreateFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let(:other_user) { FactoryBot.create(:user) } + let(:role) { create(:role, permissions: permissions) } + let(:other_user) { create(:user) } let(:permissions) { [:manage_members] } let(:path) { api_v3_paths.create_membership_form } @@ -97,8 +97,8 @@ describe ::API::V3::Memberships::CreateFormAPI, content_type: :json do end context 'with all parameters' do - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let!(:list_cf) { FactoryBot.create(:list_version_custom_field) } + let!(:int_cf) { create(:int_version_custom_field) } + let!(:list_cf) { create(:list_version_custom_field) } let(:parameters) do { _links: { diff --git a/spec/requests/api/v3/memberships/schemas/membership_schema_resource_spec.rb b/spec/requests/api/v3/memberships/schemas/membership_schema_resource_spec.rb index ec05b64df08..3e667e2cb3f 100644 --- a/spec/requests/api/v3/memberships/schemas/membership_schema_resource_spec.rb +++ b/spec/requests/api/v3/memberships/schemas/membership_schema_resource_spec.rb @@ -33,9 +33,9 @@ describe 'API v3 Membership schema resource', type: :request, content_type: :jso include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/spec/requests/api/v3/memberships/update_form_resource_spec.rb b/spec/requests/api/v3/memberships/update_form_resource_spec.rb index d9383b052cd..a5f75b637de 100644 --- a/spec/requests/api/v3/memberships/update_form_resource_spec.rb +++ b/spec/requests/api/v3/memberships/update_form_resource_spec.rb @@ -34,19 +34,19 @@ describe ::API::V3::Memberships::UpdateFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:member) { FactoryBot.create(:member, project: project, roles: [role, another_role]) } - let(:project) { FactoryBot.create(:project) } + let(:member) { create(:member, project: project, roles: [role, another_role]) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let(:other_role) { FactoryBot.create(:role) } - let(:another_role) { FactoryBot.create(:role) } - let(:other_user) { FactoryBot.create(:user) } + let(:role) { create(:role, permissions: permissions) } + let(:other_role) { create(:role) } + let(:another_role) { create(:role) } + let(:other_user) { create(:user) } let(:permissions) { [:manage_members] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:path) { api_v3_paths.membership_form(member.id) } let(:parameters) do { @@ -149,9 +149,9 @@ describe ::API::V3::Memberships::UpdateFormAPI, content_type: :json do context 'with wanting to alter the project' do let(:other_project) do - role = FactoryBot.create(:role, permissions: permissions) + role = create(:role, permissions: permissions) - FactoryBot.create(:project, + create(:project, members: { user => role } ) end let(:parameters) do @@ -186,7 +186,7 @@ describe ::API::V3::Memberships::UpdateFormAPI, content_type: :json do context 'with wanting to alter the principal' do let(:other_principal) do - FactoryBot.create(:user) + create(:user) end let(:parameters) do { diff --git a/spec/requests/api/v3/news_resource_spec.rb b/spec/requests/api/v3/news_resource_spec.rb index 5356167c803..08de316715a 100644 --- a/spec/requests/api/v3/news_resource_spec.rb +++ b/spec/requests/api/v3/news_resource_spec.rb @@ -34,23 +34,23 @@ describe 'API v3 news resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:news) do - FactoryBot.create(:news, project: project, author: current_user) + create(:news, project: project, author: current_user) end let(:other_news) do - FactoryBot.create(:news, project: project, author: other_user) + create(:news, project: project, author: other_user) end let(:other_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:invisible_news) do - FactoryBot.create(:news, project: other_project, author: other_user) + create(:news, project: other_project, author: other_user) end - let(:project) { FactoryBot.create(:project) } - let(:other_project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:other_project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_news) } subject(:response) { last_response } diff --git a/spec/requests/api/v3/notifications/bulk_read_ian_resource_spec.rb b/spec/requests/api/v3/notifications/bulk_read_ian_resource_spec.rb index 77ae690520a..ea6761dedd2 100644 --- a/spec/requests/api/v3/notifications/bulk_read_ian_resource_spec.rb +++ b/spec/requests/api/v3/notifications/bulk_read_ian_resource_spec.rb @@ -35,17 +35,17 @@ describe ::API::V3::Notifications::NotificationsAPI, content_type: :json do include API::V3::Utilities::PathHelper - shared_let(:project) { FactoryBot.create :project } + shared_let(:project) { create :project } - shared_let(:recipient) { FactoryBot.create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } - shared_let(:other_recipient) { FactoryBot.create :user } + shared_let(:recipient) { create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } + shared_let(:other_recipient) { create :user } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } + shared_let(:work_package) { create :work_package, project: project } - shared_let(:notification1) { FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package } - shared_let(:notification2) { FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package } - shared_let(:notification3) { FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package } - shared_let(:other_user_notification) { FactoryBot.create :notification, recipient: other_recipient } + shared_let(:notification1) { create :notification, recipient: recipient, project: project, resource: work_package } + shared_let(:notification2) { create :notification, recipient: recipient, project: project, resource: work_package } + shared_let(:notification3) { create :notification, recipient: recipient, project: project, resource: work_package } + shared_let(:other_user_notification) { create :notification, recipient: other_recipient } let(:filters) { nil } diff --git a/spec/requests/api/v3/notifications/bulk_unread_ian_resource_spec.rb b/spec/requests/api/v3/notifications/bulk_unread_ian_resource_spec.rb index cc93b286b46..b6adc4dc07c 100644 --- a/spec/requests/api/v3/notifications/bulk_unread_ian_resource_spec.rb +++ b/spec/requests/api/v3/notifications/bulk_unread_ian_resource_spec.rb @@ -35,22 +35,22 @@ describe ::API::V3::Notifications::NotificationsAPI, content_type: :json do include API::V3::Utilities::PathHelper - shared_let(:project) { FactoryBot.create :project } - shared_let(:work_package) { FactoryBot.create :work_package, project: project } + shared_let(:project) { create :project } + shared_let(:work_package) { create :work_package, project: project } - shared_let(:recipient) { FactoryBot.create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } - shared_let(:other_recipient) { FactoryBot.create :user } + shared_let(:recipient) { create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] } + shared_let(:other_recipient) { create :user } shared_let(:notification1) do - FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true + create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true end shared_let(:notification2) do - FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true + create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true end shared_let(:notification3) do - FactoryBot.create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true + create :notification, recipient: recipient, project: project, resource: work_package, read_ian: true end shared_let(:other_user_notification) do - FactoryBot.create :notification, + create :notification, recipient: other_recipient, read_ian: true, project: project, diff --git a/spec/requests/api/v3/notifications/index_resource_spec.rb b/spec/requests/api/v3/notifications/index_resource_spec.rb index c507e9180cc..eb0169712b7 100644 --- a/spec/requests/api/v3/notifications/index_resource_spec.rb +++ b/spec/requests/api/v3/notifications/index_resource_spec.rb @@ -37,21 +37,21 @@ describe ::API::V3::Notifications::NotificationsAPI, include API::V3::Utilities::PathHelper - shared_let(:work_package) { FactoryBot.create :work_package } + shared_let(:work_package) { create :work_package } shared_let(:recipient) do - FactoryBot.create :user, + create :user, member_in_project: work_package.project, member_with_permissions: %i[view_work_packages] end shared_let(:notification1) do - FactoryBot.create :notification, + create :notification, recipient: recipient, resource: work_package, project: work_package.project, journal: work_package.journals.first end shared_let(:notification2) do - FactoryBot.create :notification, + create :notification, recipient: recipient, resource: work_package, project: work_package.project, @@ -86,7 +86,7 @@ describe ::API::V3::Notifications::NotificationsAPI, it_behaves_like 'API V3 collection response', 2, 2, 'Notification' context 'with a readIAN filter' do - let(:nil_notification) { FactoryBot.create :notification, recipient: recipient, read_ian: nil } + let(:nil_notification) { create :notification, recipient: recipient, read_ian: nil } let(:notifications) { [notification1, notification2, nil_notification] } @@ -110,7 +110,7 @@ describe ::API::V3::Notifications::NotificationsAPI, end context 'with a resource filter' do - let(:notification3) { FactoryBot.create :notification, recipient: recipient } + let(:notification3) { create :notification, recipient: recipient } let(:notifications) { [notification1, notification2, notification3] } let(:filters) do @@ -138,9 +138,9 @@ describe ::API::V3::Notifications::NotificationsAPI, end context 'with a project filter' do - let(:other_work_package) { FactoryBot.create(:work_package) } + let(:other_work_package) { create(:work_package) } let(:notification3) do - FactoryBot.create :notification, + create :notification, recipient: recipient, resource: other_work_package, project: other_work_package.project @@ -165,7 +165,7 @@ describe ::API::V3::Notifications::NotificationsAPI, context 'with a reason filter' do let(:notification3) do - FactoryBot.create :notification, + create :notification, reason: :assigned, recipient: recipient, resource: work_package, @@ -173,7 +173,7 @@ describe ::API::V3::Notifications::NotificationsAPI, journal: work_package.journals.first end let(:notification4) do - FactoryBot.create :notification, + create :notification, reason: :responsible, recipient: recipient, resource: work_package, @@ -221,10 +221,10 @@ describe ::API::V3::Notifications::NotificationsAPI, end context 'with a non ian notification' do - let(:wiki_page) { FactoryBot.create(:wiki_page_with_content) } + let(:wiki_page) { create(:wiki_page_with_content) } let(:non_ian_notification) do - FactoryBot.create :notification, + create :notification, read_ian: nil, recipient: recipient, resource: wiki_page, @@ -241,7 +241,7 @@ describe ::API::V3::Notifications::NotificationsAPI, context 'with a reason groupBy' do let(:responsible_notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, reason: :responsible, resource: work_package, @@ -272,12 +272,12 @@ describe ::API::V3::Notifications::NotificationsAPI, context 'with a project groupBy' do let(:other_project) do - FactoryBot.create(:project, + create(:project, members: { recipient => recipient.members.first.roles }) end - let(:work_package2) { FactoryBot.create :work_package, project: other_project } + let(:work_package2) { create :work_package, project: other_project } let(:other_project_notification) do - FactoryBot.create :notification, + create :notification, resource: work_package2, project: other_project, recipient: recipient, @@ -319,13 +319,13 @@ describe ::API::V3::Notifications::NotificationsAPI, end describe 'admin user' do - let(:current_user) { FactoryBot.build(:admin) } + let(:current_user) { build(:admin) } it_behaves_like 'API V3 collection response', 0, 0, 'Notification' end describe 'as any user' do - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } it_behaves_like 'API V3 collection response', 0, 0, 'Notification' end diff --git a/spec/requests/api/v3/notifications/read_ian_resource_spec.rb b/spec/requests/api/v3/notifications/read_ian_resource_spec.rb index d3b2004775d..3abf7d11fb9 100644 --- a/spec/requests/api/v3/notifications/read_ian_resource_spec.rb +++ b/spec/requests/api/v3/notifications/read_ian_resource_spec.rb @@ -35,15 +35,15 @@ describe ::API::V3::Notifications::NotificationsAPI, content_type: :json do include API::V3::Utilities::PathHelper - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:work_package) { FactoryBot.create(:work_package, project: project) } + shared_let(:project) { create(:project) } + shared_let(:work_package) { create(:work_package, project: project) } shared_let(:recipient) do - FactoryBot.create :user, + create :user, member_in_project: project, member_with_permissions: %i[view_work_packages] end shared_let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, resource: work_package, project: project @@ -78,7 +78,7 @@ describe ::API::V3::Notifications::NotificationsAPI, end describe 'admin user' do - let(:current_user) { FactoryBot.build(:admin) } + let(:current_user) { build(:admin) } it 'returns a 404 response' do send_read diff --git a/spec/requests/api/v3/notifications/show_resource_spec.rb b/spec/requests/api/v3/notifications/show_resource_spec.rb index d782735911f..88e8a63cd7f 100644 --- a/spec/requests/api/v3/notifications/show_resource_spec.rb +++ b/spec/requests/api/v3/notifications/show_resource_spec.rb @@ -37,16 +37,16 @@ describe ::API::V3::Notifications::NotificationsAPI, include API::V3::Utilities::PathHelper shared_let(:recipient) do - FactoryBot.create :user + create :user end - shared_let(:role) { FactoryBot.create(:role, permissions: %i(view_work_packages)) } + shared_let(:role) { create(:role, permissions: %i(view_work_packages)) } shared_let(:project) do - FactoryBot.create :project, + create :project, members: { recipient => role } end - shared_let(:resource) { FactoryBot.create :work_package, project: project } + shared_let(:resource) { create :work_package, project: project } shared_let(:notification) do - FactoryBot.create :notification, + create :notification, recipient: recipient, project: project, resource: resource, @@ -69,7 +69,7 @@ describe ::API::V3::Notifications::NotificationsAPI, end describe 'admin user' do - let(:current_user) { FactoryBot.build(:admin) } + let(:current_user) { build(:admin) } it 'returns a 404 response' do expect(last_response.status).to eq(404) @@ -77,7 +77,7 @@ describe ::API::V3::Notifications::NotificationsAPI, end describe 'unauthorized user' do - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } it 'returns a 404 response' do expect(last_response.status).to eq(404) diff --git a/spec/requests/api/v3/placeholder_users/create_resource_spec.rb b/spec/requests/api/v3/placeholder_users/create_resource_spec.rb index 90e5ca81969..973014c214c 100644 --- a/spec/requests/api/v3/placeholder_users/create_resource_spec.rb +++ b/spec/requests/api/v3/placeholder_users/create_resource_spec.rb @@ -38,20 +38,20 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, current_user { user } describe 'admin user' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'create placeholder user request flow' end describe 'user with manage_placeholder_user permission' do - let(:user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'create placeholder user request flow' end describe 'unauthorized user' do include_context 'create placeholder user request context' - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } it 'returns an erroneous response' do send_request diff --git a/spec/requests/api/v3/placeholder_users/create_shared_examples.rb b/spec/requests/api/v3/placeholder_users/create_shared_examples.rb index c051a09bd11..4af91bfdedb 100644 --- a/spec/requests/api/v3/placeholder_users/create_shared_examples.rb +++ b/spec/requests/api/v3/placeholder_users/create_shared_examples.rb @@ -71,7 +71,7 @@ shared_examples 'create placeholder user request flow' do end describe 'when the user name already exists' do - let!(:placeholder) { FactoryBot.create :placeholder_user, name: 'PLACEHOLDER' } + let!(:placeholder) { create :placeholder_user, name: 'PLACEHOLDER' } it 'returns an error' do send_request diff --git a/spec/requests/api/v3/placeholder_users/delete_resource_spec.rb b/spec/requests/api/v3/placeholder_users/delete_resource_spec.rb index 9f99a6abeff..fb0208b6c17 100644 --- a/spec/requests/api/v3/placeholder_users/delete_resource_spec.rb +++ b/spec/requests/api/v3/placeholder_users/delete_resource_spec.rb @@ -35,7 +35,7 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, type: :request do include API::V3::Utilities::PathHelper - shared_let(:placeholder) { FactoryBot.create :placeholder_user, name: 'foo' } + shared_let(:placeholder) { create :placeholder_user, name: 'foo' } let(:send_request) do header "Content-Type", "application/json" @@ -52,31 +52,31 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, end context 'when admin' do - let(:user) { FactoryBot.build_stubbed :admin } + let(:user) { build_stubbed :admin } it_behaves_like 'deletion allowed' end context 'when locked admin' do - let(:user) { FactoryBot.build_stubbed :admin, status: Principal.statuses[:locked] } + let(:user) { build_stubbed :admin, status: Principal.statuses[:locked] } it_behaves_like 'deletion is not allowed' end context 'when non-admin' do - let(:user) { FactoryBot.build_stubbed :user, admin: false } + let(:user) { build_stubbed :user, admin: false } it_behaves_like 'deletion is not allowed' end context 'when user with manage_user permission' do - let(:user) { FactoryBot.create :user, global_permission: %[manage_placeholder_user] } + let(:user) { create :user, global_permission: %[manage_placeholder_user] } it_behaves_like 'deletion allowed' end context 'when anonymous user' do - let(:user) { FactoryBot.create :anonymous } + let(:user) { create :anonymous } it_behaves_like 'deletion is not allowed' end diff --git a/spec/requests/api/v3/placeholder_users/index_resource_spec.rb b/spec/requests/api/v3/placeholder_users/index_resource_spec.rb index cb85abe2f1b..c5a890432f3 100644 --- a/spec/requests/api/v3/placeholder_users/index_resource_spec.rb +++ b/spec/requests/api/v3/placeholder_users/index_resource_spec.rb @@ -36,8 +36,8 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, include API::V3::Utilities::PathHelper - shared_let(:placeholder1) { FactoryBot.create :placeholder_user, name: 'foo' } - shared_let(:placeholder2) { FactoryBot.create :placeholder_user, name: 'bar' } + shared_let(:placeholder1) { create :placeholder_user, name: 'foo' } + shared_let(:placeholder2) { create :placeholder_user, name: 'bar' } let(:send_request) do header "Content-Type", "application/json" @@ -53,26 +53,26 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, end describe 'admin user' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'API V3 collection response', 2, 2, 'PlaceholderUser' end describe 'user with manage_placeholder_user permission' do - let(:user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'API V3 collection response', 2, 2, 'PlaceholderUser' end describe 'user with manage_members permission' do - let(:project) { FactoryBot.create(:project) } - let(:user) { FactoryBot.create(:user, member_in_project: project, member_with_permissions: %i[manage_members]) } + let(:project) { create(:project) } + let(:user) { create(:user, member_in_project: project, member_with_permissions: %i[manage_members]) } it_behaves_like 'API V3 collection response', 2, 2, 'PlaceholderUser' end describe 'unauthorized user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } it_behaves_like 'API V3 collection response', 0, 0, 'PlaceholderUser' end diff --git a/spec/requests/api/v3/placeholder_users/show_resource_spec.rb b/spec/requests/api/v3/placeholder_users/show_resource_spec.rb index be81dcab184..c73cb9128eb 100644 --- a/spec/requests/api/v3/placeholder_users/show_resource_spec.rb +++ b/spec/requests/api/v3/placeholder_users/show_resource_spec.rb @@ -35,7 +35,7 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, type: :request do include API::V3::Utilities::PathHelper - shared_let(:placeholder) { FactoryBot.create :placeholder_user, name: 'foo' } + shared_let(:placeholder) { create :placeholder_user, name: 'foo' } let(:send_request) do header "Content-Type", "application/json" @@ -51,27 +51,27 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, end describe 'admin user' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'represents the placeholder' end describe 'user with manage_placeholder_user permission' do - let(:user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'represents the placeholder' end describe 'user with manage_members permission' do - let(:project) { FactoryBot.create(:project, members: { placeholder => role }) } - let(:role) { FactoryBot.create :role, permissions: %i[manage_members]} - let(:user) { FactoryBot.create(:user, member_in_project: project, member_through_role: role) } + let(:project) { create(:project, members: { placeholder => role }) } + let(:role) { create :role, permissions: %i[manage_members]} + let(:user) { create(:user, member_in_project: project, member_through_role: role) } it_behaves_like 'represents the placeholder' end describe 'unauthorized user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } it 'returns a 403 response' do expect(last_response.status).to eq(403) diff --git a/spec/requests/api/v3/placeholder_users/update_resource_spec.rb b/spec/requests/api/v3/placeholder_users/update_resource_spec.rb index 01e2b6b926e..4d6e989ea81 100644 --- a/spec/requests/api/v3/placeholder_users/update_resource_spec.rb +++ b/spec/requests/api/v3/placeholder_users/update_resource_spec.rb @@ -35,7 +35,7 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, type: :request do include API::V3::Utilities::PathHelper - shared_let(:placeholder) { FactoryBot.create :placeholder_user, name: 'foo' } + shared_let(:placeholder) { create :placeholder_user, name: 'foo' } let(:parameters) do {} @@ -55,19 +55,19 @@ describe ::API::V3::PlaceholderUsers::PlaceholderUsersAPI, end describe 'admin user' do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } it_behaves_like 'updates the placeholder' end describe 'user with manage_placeholder_user permission' do - let(:user) { FactoryBot.create(:user, global_permission: %i[manage_placeholder_user]) } + let(:user) { create(:user, global_permission: %i[manage_placeholder_user]) } it_behaves_like 'updates the placeholder' end describe 'unauthorized user' do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } it 'returns a 403 response' do expect(last_response.status).to eq(403) diff --git a/spec/requests/api/v3/posts_resource_spec.rb b/spec/requests/api/v3/posts_resource_spec.rb index 69e7b98ae04..5e752e916b4 100644 --- a/spec/requests/api/v3/posts_resource_spec.rb +++ b/spec/requests/api/v3/posts_resource_spec.rb @@ -34,12 +34,12 @@ describe 'API v3 posts resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:forum) { FactoryBot.create(:forum, project: project) } - let(:message) { FactoryBot.create(:message, forum: forum) } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:forum) { create(:forum, project: project) } + let(:message) { create(:message, forum: forum) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_messages) } subject(:response) { last_response } @@ -71,7 +71,7 @@ describe 'API v3 posts resource', type: :request do end context 'when lacking permissions' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } it 'returns 404 NOT FOUND' do expect(subject.status) diff --git a/spec/requests/api/v3/principals/principals_resource_spec.rb b/spec/requests/api/v3/principals/principals_resource_spec.rb index 56a7d79cf1f..dfa964ee220 100644 --- a/spec/requests/api/v3/principals/principals_resource_spec.rb +++ b/spec/requests/api/v3/principals/principals_resource_spec.rb @@ -41,19 +41,19 @@ describe 'API v3 Principals resource', type: :request do end let(:order) { { name: :desc } } let(:filter) { nil } - let(:project) { FactoryBot.create(:project) } - let(:other_project) { FactoryBot.create(:project) } - let(:non_member_project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:other_project) { create(:project) } + let(:non_member_project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [] } let(:user) do - user = FactoryBot.create(:user, + user = create(:user, member_in_project: project, member_through_role: role, lastname: 'Aaaa', mail: 'aaaa@example.com') - FactoryBot.create(:member, + create(:member, project: other_project, principal: user, roles: [role]) @@ -61,25 +61,25 @@ describe 'API v3 Principals resource', type: :request do user end let!(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: other_project, member_through_role: role, lastname: 'Bbbb') end let!(:user_in_non_member_project) do - FactoryBot.create(:user, + create(:user, member_in_project: non_member_project, member_through_role: role, lastname: 'Cccc') end let!(:group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_through_role: role, lastname: 'Gggg') end let!(:placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role, name: 'Pppp') @@ -133,7 +133,7 @@ describe 'API v3 Principals resource', type: :request do end context 'with a without a project membership' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } # The user herself it_behaves_like 'API V3 collection response', 1, 1, 'User' diff --git a/spec/requests/api/v3/priority_resource_spec.rb b/spec/requests/api/v3/priority_resource_spec.rb index a3d26d27be7..7d29b276996 100644 --- a/spec/requests/api/v3/priority_resource_spec.rb +++ b/spec/requests/api/v3/priority_resource_spec.rb @@ -33,15 +33,15 @@ describe 'API v3 Priority resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:project) { FactoryBot.create(:project, public: false) } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project, public: false) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let!(:priorities) { FactoryBot.create_list(:priority, 2) } + let!(:priorities) { create_list(:priority, 2) } describe 'priorities' do subject(:response) { last_response } diff --git a/spec/requests/api/v3/project_resource_spec.rb b/spec/requests/api/v3/project_resource_spec.rb index eaba66a77cc..a0d92b10ad0 100644 --- a/spec/requests/api/v3/project_resource_spec.rb +++ b/spec/requests/api/v3/project_resource_spec.rb @@ -34,22 +34,22 @@ describe 'API v3 Project resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } let(:project) do - FactoryBot.create(:project, public: false, status: project_status, active: project_active) + create(:project, public: false, status: project_status, active: project_active) end let(:project_active) { true } let(:project_status) do - FactoryBot.build(:project_status, project: nil) + build(:project_status, project: nil) end let(:other_project) do - FactoryBot.create(:project, public: false) + create(:project, public: false) end - let(:role) { FactoryBot.create(:role) } + let(:role) { create(:role) } let(:custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end let(:custom_value) do CustomValue.create(custom_field: custom_field, @@ -64,16 +64,16 @@ describe 'API v3 Project resource', type: :request, content_type: :json do describe '#get /projects/:id' do let(:get_path) { api_v3_paths.project project.id } let!(:parent_project) do - FactoryBot.create(:project, public: false).tap do |p| + create(:project, public: false).tap do |p| project.parent = p project.save! end end let!(:parent_memberships) do - FactoryBot.create(:member, + create(:member, user: current_user, project: parent_project, - roles: [FactoryBot.create(:role, permissions: [])]) + roles: [create(:role, permissions: [])]) end subject(:response) do @@ -177,7 +177,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do end context 'for a not logged in user' do - let(:current_user) { FactoryBot.create(:anonymous) } + let(:current_user) { create(:anonymous) } before do get get_path @@ -208,11 +208,11 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'with a pageSize and offset' do let(:projects) { [project, project2, project3] } let(:project2) do - FactoryBot.create(:project, + create(:project, members: { current_user => [role] }) end let(:project3) do - FactoryBot.create(:project, + create(:project, members: { current_user => [role] }) end @@ -229,7 +229,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do let(:projects) { [project, other_project, parent_project] } let(:parent_project) do - parent_project = FactoryBot.create(:project, public: false, members: { current_user => role }) + parent_project = create(:project, public: false, members: { current_user => role }) project.update_attribute(:parent_id, parent_project.id) @@ -255,10 +255,10 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'with filtering by capability action' do let(:other_project) do - FactoryBot.create(:project, members: [current_user]) + create(:project, members: [current_user]) end let(:projects) { [project, other_project] } - let(:role) { FactoryBot.create(:role, permissions: [:copy_projects]) } + let(:role) { create(:role, permissions: [:copy_projects]) } let(:get_path) do api_v3_paths.path_for :projects, filters: [{ user_action: { operator: "=", values: ["projects/copy"] } }] @@ -276,7 +276,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'when filtering for principals (members)' do let(:other_project) do Role.non_member - FactoryBot.create(:public_project) + create(:public_project) end let(:projects) { [project, other_project] } @@ -316,23 +316,23 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'with filtering by visiblity' do let(:public_project) do # Otherwise, the public project is invisible - FactoryBot.create(:non_member) + create(:non_member) - FactoryBot.create(:public_project) + create(:public_project) end let(:member_project) do - FactoryBot.create(:project, members: { other_user => role }) + create(:project, members: { other_user => role }) end let(:non_member_project) do - FactoryBot.create(:project) + create(:project) end let(:archived_member_project) do - FactoryBot.create(:project, members: { other_user => role }, active: false) + create(:project, members: { other_user => role }, active: false) end let(:projects) { [member_project, public_project, non_member_project, archived_member_project] } - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:get_path) do @@ -380,14 +380,14 @@ describe 'API v3 Project resource', type: :request, content_type: :json do describe '#post /projects' do let(:current_user) do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:global_member, + create(:user).tap do |u| + create(:global_member, principal: u, roles: [global_role]) end end let(:global_role) do - FactoryBot.create(:global_role, permissions: permissions) + create(:global_role, permissions: permissions) end let(:permissions) { [:add_project] } let(:path) { api_v3_paths.projects } @@ -556,7 +556,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do describe '#patch /projects/:id' do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -773,15 +773,15 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'deactivating (archiving) the project' do context 'for an admin' do let(:current_user) do - FactoryBot.create(:admin) + create(:admin) end let(:project) do - FactoryBot.create(:project).tap do |p| + create(:project).tap do |p| p.children << child_project end end let(:child_project) do - FactoryBot.create(:project) + create(:project) end let(:body) do @@ -844,7 +844,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do subject { last_response } context 'with required permissions (admin)' do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } it 'responds with HTTP No Content' do expect(subject.status).to eq 204 @@ -855,7 +855,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do end context 'for a project with work packages' do - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:work_package) { create(:work_package, project: project) } let(:setup) { work_package } it 'deletes the work packages' do @@ -865,10 +865,10 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'for a project with members' do let(:member) do - FactoryBot.create(:member, + create(:member, project: project, principal: current_user, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end let(:member_role) { member.member_roles.first } let(:setup) do @@ -887,7 +887,7 @@ describe 'API v3 Project resource', type: :request, content_type: :json do context 'for a project with a forum' do let(:forum) do - FactoryBot.create(:forum, + create(:forum, project: project) end let(:setup) do @@ -906,8 +906,8 @@ describe 'API v3 Project resource', type: :request, content_type: :json do end context 'for a project which has a version foreign work packages refer to' do - let(:version) { FactoryBot.create(:version, project: project) } - let(:work_package) { FactoryBot.create(:work_package, version: version) } + let(:version) { create(:version, project: project) } + let(:work_package) { create(:work_package, version: version) } let(:setup) { work_package } diff --git a/spec/requests/api/v3/projects/available_parents_resource_spec.rb b/spec/requests/api/v3/projects/available_parents_resource_spec.rb index dfd04dcc812..53751ca644d 100644 --- a/spec/requests/api/v3/projects/available_parents_resource_spec.rb +++ b/spec/requests/api/v3/projects/available_parents_resource_spec.rb @@ -34,38 +34,38 @@ describe 'API v3 Project available parents resource', type: :request, content_ty include API::V3::Utilities::PathHelper current_user do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions).tap do |u| - FactoryBot.create(:global_member, + create(:user, member_in_project: project, member_with_permissions: permissions).tap do |u| + create(:global_member, principal: u, - roles: [FactoryBot.create(:global_role, permissions: global_permissions)]) + roles: [create(:global_role, permissions: global_permissions)]) end end let(:project_with_add_subproject_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, user: current_user, project: p, - roles: [FactoryBot.create(:role, permissions: [:add_subprojects])]) + roles: [create(:role, permissions: [:add_subprojects])]) end end let(:child_project_with_add_subproject_permission) do - FactoryBot.create(:project, parent: project).tap do |p| - FactoryBot.create(:member, + create(:project, parent: project).tap do |p| + create(:member, user: current_user, project: p, - roles: [FactoryBot.create(:role, permissions: [:add_subprojects])]) + roles: [create(:role, permissions: [:add_subprojects])]) end end let(:project_without_add_subproject_permission) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, user: current_user, project: p, - roles: [FactoryBot.create(:role, permissions: [])]) + roles: [create(:role, permissions: [])]) end end let!(:project) do - FactoryBot.create(:project, public: false) + create(:project, public: false) end let(:permissions) { %i[edit_project add_subprojects] } let(:global_permissions) { %i[add_project] } diff --git a/spec/requests/api/v3/projects/copy/copy_form_resource_spec.rb b/spec/requests/api/v3/projects/copy/copy_form_resource_spec.rb index ced86517722..8c6a6214468 100644 --- a/spec/requests/api/v3/projects/copy/copy_form_resource_spec.rb +++ b/spec/requests/api/v3/projects/copy/copy_form_resource_spec.rb @@ -35,14 +35,14 @@ describe ::API::V3::Projects::Copy::CreateFormAPI, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:text_custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end shared_let(:list_custom_field) do - FactoryBot.create(:list_project_custom_field) + create(:list_project_custom_field) end shared_let(:source_project) do - FactoryBot.create :project, + create :project, custom_field_values: { text_custom_field.id => 'source text', list_custom_field.id => list_custom_field.custom_options.last.id @@ -50,7 +50,7 @@ describe ::API::V3::Projects::Copy::CreateFormAPI, content_type: :json do end shared_let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: source_project, member_with_permissions: %i[copy_projects view_project view_work_packages] end @@ -240,7 +240,7 @@ describe ::API::V3::Projects::Copy::CreateFormAPI, content_type: :json do context 'without the necessary permission' do let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: source_project, member_with_permissions: %i[view_project view_work_packages] end diff --git a/spec/requests/api/v3/projects/copy/copy_resource_spec.rb b/spec/requests/api/v3/projects/copy/copy_resource_spec.rb index a6f481496d3..1667cae81f6 100644 --- a/spec/requests/api/v3/projects/copy/copy_resource_spec.rb +++ b/spec/requests/api/v3/projects/copy/copy_resource_spec.rb @@ -35,14 +35,14 @@ describe ::API::V3::Projects::Copy::CopyAPI, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:text_custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end shared_let(:list_custom_field) do - FactoryBot.create(:list_project_custom_field) + create(:list_project_custom_field) end shared_let(:source_project) do - FactoryBot.create :project, + create :project, enabled_module_names: %w[work_package_tracking wiki], custom_field_values: { text_custom_field.id => 'source text', @@ -50,11 +50,11 @@ describe ::API::V3::Projects::Copy::CopyAPI, content_type: :json do } end - shared_let(:work_package) { FactoryBot.create :work_package, project: source_project } - shared_let(:wiki_page) { FactoryBot.create :wiki_page, wiki: source_project.wiki } + shared_let(:work_package) { create :work_package, project: source_project } + shared_let(:wiki_page) { create :wiki_page, wiki: source_project.wiki } shared_let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: source_project, member_with_permissions: %i[copy_projects view_project view_work_packages] end @@ -196,7 +196,7 @@ describe ::API::V3::Projects::Copy::CopyAPI, content_type: :json do context 'without the necessary permission' do let(:current_user) do - FactoryBot.create :user, + create :user, member_in_project: source_project, member_with_permissions: %i[view_project view_work_packages] end diff --git a/spec/requests/api/v3/projects/create_form_resource_spec.rb b/spec/requests/api/v3/projects/create_form_resource_spec.rb index 81f76e8d0a9..fc90f44e1d4 100644 --- a/spec/requests/api/v3/projects/create_form_resource_spec.rb +++ b/spec/requests/api/v3/projects/create_form_resource_spec.rb @@ -37,21 +37,21 @@ describe ::API::V3::Projects::CreateFormAPI, content_type: :json do subject(:response) { last_response } current_user do - FactoryBot.create(:user).tap do |u| - FactoryBot.create(:global_member, + create(:user).tap do |u| + create(:global_member, principal: u, roles: [global_role]) end end let(:global_role) do - FactoryBot.create(:global_role, permissions: permissions) + create(:global_role, permissions: permissions) end let(:text_custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end let(:list_custom_field) do - FactoryBot.create(:list_project_custom_field) + create(:list_project_custom_field) end let(:permissions) { [:add_project] } let(:path) { api_v3_paths.create_project_form } @@ -181,12 +181,12 @@ describe ::API::V3::Projects::CreateFormAPI, content_type: :json do context 'with only add_subprojects permission' do current_user do - FactoryBot.create(:user, + create(:user, member_in_project: parent_project, member_with_permissions: %i[add_subprojects]) end - let(:parent_project) { FactoryBot.create(:project) } + let(:parent_project) { create(:project) } let(:params) do { diff --git a/spec/requests/api/v3/projects/schemas/project_schema_resource_spec.rb b/spec/requests/api/v3/projects/schemas/project_schema_resource_spec.rb index 4ffdc04e75b..7513f033015 100644 --- a/spec/requests/api/v3/projects/schemas/project_schema_resource_spec.rb +++ b/spec/requests/api/v3/projects/schemas/project_schema_resource_spec.rb @@ -34,7 +34,7 @@ describe 'API v3 Projects schema resource', type: :request, content_type: :json include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:path) { api_v3_paths.project_schema } diff --git a/spec/requests/api/v3/projects/statuses/project_status_resource_spec.rb b/spec/requests/api/v3/projects/statuses/project_status_resource_spec.rb index 63bb10363ab..da212613f76 100644 --- a/spec/requests/api/v3/projects/statuses/project_status_resource_spec.rb +++ b/spec/requests/api/v3/projects/statuses/project_status_resource_spec.rb @@ -33,7 +33,7 @@ describe 'API v3 Project status resource', type: :request, content_type: :json d include Rack::Test::Methods include API::V3::Utilities::PathHelper - current_user { FactoryBot.create(:user) } + current_user { create(:user) } describe '#get /project_statuses/:id' do subject(:response) do 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 b4404ab8244..92554f758be 100644 --- a/spec/requests/api/v3/projects/update_form_resource_spec.rb +++ b/spec/requests/api/v3/projects/update_form_resource_spec.rb @@ -35,31 +35,31 @@ describe ::API::V3::Projects::UpdateFormAPI, content_type: :json do include API::V3::Utilities::PathHelper let(:project) do - FactoryBot.create(:project, + create(:project, "custom_field_#{text_custom_field.id}": "CF text", "custom_field_#{list_custom_field.id}": list_custom_field.custom_options.first) end let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:text_custom_field) do - FactoryBot.create(:text_project_custom_field) + create(:text_project_custom_field) end let(:list_custom_field) do - FactoryBot.create(:list_project_custom_field) + create(:list_project_custom_field) end let(:viable_parent_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, project: p, principal: current_user, roles: [parent_project_role]) end end let(:parent_project_role) do - FactoryBot.create(:role, permissions: parent_project_permissions) + create(:role, permissions: parent_project_permissions) end let(:permissions) { [:edit_project] } let(:parent_project_permissions) { [:add_subprojects] } diff --git a/spec/requests/api/v3/projects/version_resource_spec.rb b/spec/requests/api/v3/projects/version_resource_spec.rb index 90cbfdbd425..b2f630447db 100644 --- a/spec/requests/api/v3/projects/version_resource_spec.rb +++ b/spec/requests/api/v3/projects/version_resource_spec.rb @@ -34,7 +34,7 @@ describe "API v3 project's versions resource" do include API::V3::Utilities::PathHelper let(:current_user) do - user = FactoryBot.create(:user, + user = create(:user, member_in_project: project, member_through_role: role) @@ -42,11 +42,11 @@ describe "API v3 project's versions resource" do user end - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:project) { FactoryBot.create(:project, public: false) } - let(:other_project) { FactoryBot.create(:project, public: false) } - let(:versions) { FactoryBot.create_list(:version, 4, project: project) } - let(:other_versions) { FactoryBot.create_list(:version, 2) } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project, public: false) } + let(:other_project) { create(:project, public: false) } + let(:versions) { create_list(:version, 4, project: project) } + let(:other_versions) { create_list(:version, 2) } subject(:response) { last_response } @@ -67,7 +67,7 @@ describe "API v3 project's versions resource" do end context 'logged in user without permission' do - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } before do current_user diff --git a/spec/requests/api/v3/queries/columns/query_columns_resource_spec.rb b/spec/requests/api/v3/queries/columns/query_columns_resource_spec.rb index 6e88972d819..4b5755f92e8 100644 --- a/spec/requests/api/v3/queries/columns/query_columns_resource_spec.rb +++ b/spec/requests/api/v3/queries/columns/query_columns_resource_spec.rb @@ -36,11 +36,11 @@ describe 'API v3 Query Column resource', type: :request do describe '#get queries/columns/:id' do let(:path) { api_v3_paths.query_column(column_name) } let(:column_name) { 'status' } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/create_form_api_spec.rb b/spec/requests/api/v3/queries/create_form_api_spec.rb index c91c4d71fee..e7e126606f5 100644 --- a/spec/requests/api/v3/queries/create_form_api_spec.rb +++ b/spec/requests/api/v3/queries/create_form_api_spec.rb @@ -34,8 +34,8 @@ describe "POST /api/v3/queries/form", type: :request do include API::V3::Utilities::PathHelper let(:path) { api_v3_paths.create_query_form } - let(:user) { FactoryBot.create(:admin) } - let!(:project) { FactoryBot.create(:project_with_types) } + let(:user) { create(:admin) } + let!(:project) { create(:project_with_types) } let(:parameters) { {} } let(:override_params) { {} } @@ -162,7 +162,7 @@ describe "POST /api/v3/queries/form", type: :request do let(:relation_columns_allowed) { true } let(:custom_field) do - cf = FactoryBot.create(:list_wp_custom_field) + cf = create(:list_wp_custom_field) project.work_package_custom_fields << cf cf.types << project.types.first @@ -170,7 +170,7 @@ describe "POST /api/v3/queries/form", type: :request do end let(:non_project_type) do - FactoryBot.create(:type) + create(:type) end let(:additional_setup) do @@ -255,7 +255,7 @@ describe "POST /api/v3/queries/form", type: :request do let(:relation_columns_allowed) { true } let(:custom_field) do - cf = FactoryBot.create(:list_wp_custom_field) + cf = create(:list_wp_custom_field) project.work_package_custom_fields << cf cf.types << project.types.first @@ -263,7 +263,7 @@ describe "POST /api/v3/queries/form", type: :request do end let(:non_project_type) do - FactoryBot.create(:type) + create(:type) end let(:additional_setup) do @@ -333,7 +333,7 @@ describe "POST /api/v3/queries/form", type: :request do end describe 'with all parameters given' do - let(:status) { FactoryBot.create :status } + let(:status) { create :status } let(:parameters) do { @@ -558,7 +558,7 @@ describe "POST /api/v3/queries/form", type: :request do end context "with an unauthorized user trying to set the query public" do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } it "should reject the request" do expect(form.dig("_embedded", "validationErrors", "public", "message")) @@ -569,15 +569,15 @@ describe "POST /api/v3/queries/form", type: :request do describe 'posting to a project-query form with a CF present only there (Regression #29873)' do let(:custom_field) do - FactoryBot.create( + create( :string_wp_custom_field, default_value: nil, is_required: true, is_for_all: true ) end - let!(:type) { FactoryBot.create(:type, custom_fields: [custom_field]) } - let!(:project) { FactoryBot.create(:project, types: [type], work_package_custom_fields: [custom_field]) } + let!(:type) { create(:type, custom_fields: [custom_field]) } + let!(:project) { create(:project, types: [type], work_package_custom_fields: [custom_field]) } let(:path_with_cf) do uri = Addressable::URI.parse(path) diff --git a/spec/requests/api/v3/queries/create_query_spec.rb b/spec/requests/api/v3/queries/create_query_spec.rb index 57ccaf82420..b77e3cd3048 100644 --- a/spec/requests/api/v3/queries/create_query_spec.rb +++ b/spec/requests/api/v3/queries/create_query_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe "POST /api/v3/queries", type: :request do - let(:user) { FactoryBot.create :admin } - let(:status) { FactoryBot.create :status } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:status) { create :status } + let(:project) { create :project } let(:default_params) do { diff --git a/spec/requests/api/v3/queries/filters/query_filters_resource_spec.rb b/spec/requests/api/v3/queries/filters/query_filters_resource_spec.rb index cc506978fc0..5f3457f3015 100644 --- a/spec/requests/api/v3/queries/filters/query_filters_resource_spec.rb +++ b/spec/requests/api/v3/queries/filters/query_filters_resource_spec.rb @@ -36,11 +36,11 @@ describe 'API v3 Query Filter resource', type: :request do describe '#get queries/filters/:id' do let(:path) { api_v3_paths.query_filter(filter_name) } let(:filter_name) { 'assignee' } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end @@ -80,7 +80,7 @@ describe 'API v3 Query Filter resource', type: :request do end context 'custom field filter' do - let(:list_wp_custom_field) { FactoryBot.create(:list_wp_custom_field) } + let(:list_wp_custom_field) { create(:list_wp_custom_field) } let(:filter_name) { "customField#{list_wp_custom_field.id}" } it 'succeeds' do diff --git a/spec/requests/api/v3/queries/group_bys/query_group_bys_resource_spec.rb b/spec/requests/api/v3/queries/group_bys/query_group_bys_resource_spec.rb index fc094dc5db9..dcd9f393ca0 100644 --- a/spec/requests/api/v3/queries/group_bys/query_group_bys_resource_spec.rb +++ b/spec/requests/api/v3/queries/group_bys/query_group_bys_resource_spec.rb @@ -36,11 +36,11 @@ describe 'API v3 Query Group By resource', type: :request do describe '#get queries/group_bys/:id' do let(:path) { api_v3_paths.query_group_by(group_by_name) } let(:group_by_name) { 'status' } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/operators/query_operators_resource_spec.rb b/spec/requests/api/v3/queries/operators/query_operators_resource_spec.rb index 3eb21095219..c1bf04ca8c4 100644 --- a/spec/requests/api/v3/queries/operators/query_operators_resource_spec.rb +++ b/spec/requests/api/v3/queries/operators/query_operators_resource_spec.rb @@ -36,11 +36,11 @@ describe 'API v3 Query Operator resource', type: :request do describe '#get queries/operators/:id' do let(:path) { api_v3_paths.query_operator(CGI.escape(operator)) } let(:operator) { '=' } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/order/query_order_api_spec.rb b/spec/requests/api/v3/queries/order/query_order_api_spec.rb index 4831cd5bf73..acbf4b2a061 100644 --- a/spec/requests/api/v3/queries/order/query_order_api_spec.rb +++ b/spec/requests/api/v3/queries/order/query_order_api_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' require 'rack/test' describe "/api/v3/queries/:id/order", type: :request do - let(:user) { FactoryBot.create :admin } - let(:query) { FactoryBot.create(:query, name: "A Query", user: user) } + let(:user) { create :admin } + let(:query) { create(:query, name: "A Query", user: user) } let(:path) { "/api/v3/queries/#{query.id}/order" } subject(:body) { JSON.parse(last_response.body) } @@ -43,8 +43,8 @@ describe "/api/v3/queries/:id/order", type: :request do end describe 'with order present' do - let(:wp1) { FactoryBot.create :work_package } - let(:wp2) { FactoryBot.create :work_package } + let(:wp1) { create :work_package } + let(:wp2) { create :work_package } before do query.ordered_work_packages.create(work_package_id: wp1.id, position: 0) @@ -61,8 +61,8 @@ describe "/api/v3/queries/:id/order", type: :request do end describe '#patch' do - let!(:wp1) { FactoryBot.create :work_package } - let!(:wp2) { FactoryBot.create :work_package } + let!(:wp1) { create :work_package } + let!(:wp2) { create :work_package } let(:timestamp) { ::API::V3::Utilities::DateTimeFormatter.format_datetime(query.updated_at) } diff --git a/spec/requests/api/v3/queries/queries_by_project_resource_spec.rb b/spec/requests/api/v3/queries/queries_by_project_resource_spec.rb index fe19fe4d7f7..36ca3c2245c 100644 --- a/spec/requests/api/v3/queries/queries_by_project_resource_spec.rb +++ b/spec/requests/api/v3/queries/queries_by_project_resource_spec.rb @@ -33,11 +33,11 @@ describe 'API v3 Query resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, identifier: 'test_project', public: false) } + let(:project) { create(:project, identifier: 'test_project', public: false) } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } before do diff --git a/spec/requests/api/v3/queries/query_resource_spec.rb b/spec/requests/api/v3/queries/query_resource_spec.rb index d7470d267e9..4c3d9e45c90 100644 --- a/spec/requests/api/v3/queries/query_resource_spec.rb +++ b/spec/requests/api/v3/queries/query_resource_spec.rb @@ -33,20 +33,20 @@ describe 'API v3 Query resource', type: :request, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, identifier: 'test_project', public: false) } - let(:other_project) { FactoryBot.create(:project) } + let(:project) { create(:project, identifier: 'test_project', public: false) } + let(:other_project) { create(:project) } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:manage_public_queries_role) do - FactoryBot.create(:role, permissions: [:manage_public_queries]) + create(:role, permissions: [:manage_public_queries]) end - let(:query) { FactoryBot.create(:public_query, project: project) } - let(:other_query) { FactoryBot.create(:public_query, project: other_project) } - let(:global_query) { FactoryBot.create(:global_query) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:query) { create(:public_query, project: project) } + let(:other_query) { create(:public_query, project: other_project) } + let(:global_query) { create(:global_query) } + let(:work_package) { create(:work_package, project: project) } before do allow(User).to receive(:current).and_return current_user @@ -77,7 +77,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do context 'user not allowed to see queries' do include_context 'with non-member permissions from non_member_permissions' - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } let(:non_member_permissions) { [:view_work_packages] } it 'should succeed' do @@ -103,7 +103,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do global_query other_query - FactoryBot.create(:member, + create(:member, roles: [role], project: other_query.project, user: current_user) @@ -134,7 +134,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do global_query other_query - FactoryBot.create(:member, + create(:member, roles: [role], project: other_query.project, user: current_user) @@ -154,7 +154,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do end context 'filtering by updated_at' do - let(:old_query) { FactoryBot.create(:public_query, project: project) } + let(:old_query) { create(:public_query, project: project) } let(:prepare) do query @@ -343,7 +343,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do describe 'private queries' do context 'user with permission to save queries' do - let(:query) { FactoryBot.create(:private_query, project: project, user: current_user) } + let(:query) { create(:private_query, project: project, user: current_user) } let(:permissions) { %i[view_work_packages save_queries] } context 'starring his own query' do @@ -357,15 +357,15 @@ describe 'API v3 Query resource', type: :request, content_type: :json do end context 'trying to star somebody else\'s query' do - let(:another_user) { FactoryBot.create(:user) } - let(:query) { FactoryBot.create(:private_query, project: project, user: another_user) } + let(:another_user) { create(:user) } + let(:query) { create(:private_query, project: project, user: another_user) } it_behaves_like 'not found' end end context 'user without permission to save queries' do - let(:query) { FactoryBot.create(:private_query, project: project, user: current_user) } + let(:query) { create(:private_query, project: project, user: current_user) } let(:permissions) { [:view_work_packages] } it_behaves_like 'unauthorized access' @@ -377,13 +377,13 @@ describe 'API v3 Query resource', type: :request, content_type: :json do let(:unstar_path) { api_v3_paths.query_unstar query.id } describe 'public queries' do - let(:query) { FactoryBot.create(:public_query, project: project) } + let(:query) { create(:public_query, project: project) } context 'user with permission to manage public queries' do let(:permissions) { %i[view_work_packages manage_public_queries] } context 'when unstarring a starred query' do - let(:query) { FactoryBot.create(:public_query, project: project, starred: true) } + let(:query) { create(:public_query, project: project, starred: true) } before(:each) do patch unstar_path @@ -434,7 +434,7 @@ describe 'API v3 Query resource', type: :request, content_type: :json do describe 'private queries' do context 'user with permission to save queries' do - let(:query) { FactoryBot.create(:private_query, project: project, user: current_user) } + let(:query) { create(:private_query, project: project, user: current_user) } let(:permissions) { %i[view_work_packages save_queries] } before(:each) do patch unstar_path @@ -451,15 +451,15 @@ describe 'API v3 Query resource', type: :request, content_type: :json do end context 'trying to unstar somebody else\'s query' do - let(:another_user) { FactoryBot.create(:user) } - let(:query) { FactoryBot.create(:private_query, project: project, user: another_user) } + let(:another_user) { create(:user) } + let(:query) { create(:private_query, project: project, user: another_user) } it_behaves_like 'not found' end end context 'user without permission to save queries' do - let(:query) { FactoryBot.create(:private_query, project: project, user: current_user) } + let(:query) { create(:private_query, project: project, user: current_user) } let(:permissions) { [:view_work_packages] } before(:each) do patch unstar_path diff --git a/spec/requests/api/v3/queries/schemas/query_filter_instance_schema_resource_spec.rb b/spec/requests/api/v3/queries/schemas/query_filter_instance_schema_resource_spec.rb index 73425e8b31c..223d96ec475 100644 --- a/spec/requests/api/v3/queries/schemas/query_filter_instance_schema_resource_spec.rb +++ b/spec/requests/api/v3/queries/schemas/query_filter_instance_schema_resource_spec.rb @@ -33,14 +33,14 @@ describe 'API v3 Query Filter Schema resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:visible_child) do - FactoryBot.create(:project, parent: project, members: { user => role }) + create(:project, parent: project, members: { user => role }) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/schemas/query_project_schema_resource_spec.rb b/spec/requests/api/v3/queries/schemas/query_project_schema_resource_spec.rb index f924bdd2b64..9db6a578013 100644 --- a/spec/requests/api/v3/queries/schemas/query_project_schema_resource_spec.rb +++ b/spec/requests/api/v3/queries/schemas/query_project_schema_resource_spec.rb @@ -33,10 +33,10 @@ describe 'API v3 Query Schema resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/spec/requests/api/v3/queries/schemas/query_schema_resource_spec.rb b/spec/requests/api/v3/queries/schemas/query_schema_resource_spec.rb index dae3145747e..167c36b1017 100644 --- a/spec/requests/api/v3/queries/schemas/query_schema_resource_spec.rb +++ b/spec/requests/api/v3/queries/schemas/query_schema_resource_spec.rb @@ -33,11 +33,11 @@ describe 'API v3 Query Schema resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/sort_bys/query_sort_bys_resource_spec.rb b/spec/requests/api/v3/queries/sort_bys/query_sort_bys_resource_spec.rb index f44371e3ded..e586a2ccaff 100644 --- a/spec/requests/api/v3/queries/sort_bys/query_sort_bys_resource_spec.rb +++ b/spec/requests/api/v3/queries/sort_bys/query_sort_bys_resource_spec.rb @@ -37,11 +37,11 @@ describe 'API v3 Query Sort Bys resource', type: :request do let(:path) { api_v3_paths.query_sort_by(column_name, direction) } let(:column_name) { 'status' } let(:direction) { 'desc' } - let(:project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [:view_work_packages] } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/queries/update_form_api_spec.rb b/spec/requests/api/v3/queries/update_form_api_spec.rb index 66d515b96a4..54e58f5955b 100644 --- a/spec/requests/api/v3/queries/update_form_api_spec.rb +++ b/spec/requests/api/v3/queries/update_form_api_spec.rb @@ -34,14 +34,14 @@ describe "POST /api/v3/queries/form", type: :request do include API::V3::Utilities::PathHelper let(:path) { api_v3_paths.query_form(query.id) } - let(:user) { FactoryBot.create(:admin) } - let(:role) { FactoryBot.create :existing_role, permissions: permissions } + let(:user) { create(:admin) } + let(:role) { create :existing_role, permissions: permissions } let(:permissions) { %i(view_work_packages manage_public_queries) } - let!(:project) { FactoryBot.create(:project_with_types, members: { user => role }) } + let!(:project) { create(:project_with_types, members: { user => role }) } let(:query) do - FactoryBot.create( + create( :query, name: "Existing Query", public: false, @@ -126,7 +126,7 @@ describe "POST /api/v3/queries/form", type: :request do end let(:custom_field) do - cf = FactoryBot.create(:list_wp_custom_field) + cf = create(:list_wp_custom_field) project.work_package_custom_fields << cf cf.types << project.types.first @@ -134,7 +134,7 @@ describe "POST /api/v3/queries/form", type: :request do end let(:non_project_type) do - FactoryBot.create(:type) + create(:type) end let(:static_columns_json) do @@ -305,7 +305,7 @@ describe "POST /api/v3/queries/form", type: :request do end describe 'with all parameters given' do - let(:status) { FactoryBot.create :status } + let(:status) { create :status } let(:additional_setup) do status @@ -519,7 +519,7 @@ describe "POST /api/v3/queries/form", type: :request do end context "with an unauthorized user trying to set the query public" do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:permissions) { [:view_work_packages] } it "should reject the request" do diff --git a/spec/requests/api/v3/queries/update_query_spec.rb b/spec/requests/api/v3/queries/update_query_spec.rb index 5dc3637fe92..724d627458c 100644 --- a/spec/requests/api/v3/queries/update_query_spec.rb +++ b/spec/requests/api/v3/queries/update_query_spec.rb @@ -29,16 +29,16 @@ require 'spec_helper' describe "PATCH /api/v3/queries/:id", type: :request do - let(:user) { FactoryBot.create :admin } - let(:status) { FactoryBot.create :status } - let(:project) { FactoryBot.create :project } + let(:user) { create :admin } + let(:status) { create :status } + let(:project) { create :project } def json JSON.parse last_response.body end let!(:query) do - FactoryBot.create( + create( :global_query, name: "A Query", user: user, diff --git a/spec/requests/api/v3/relations/relations_api_spec.rb b/spec/requests/api/v3/relations/relations_api_spec.rb index 4eefcb7b312..72527dbe6af 100644 --- a/spec/requests/api/v3/relations/relations_api_spec.rb +++ b/spec/requests/api/v3/relations/relations_api_spec.rb @@ -31,11 +31,11 @@ require 'spec_helper' describe 'API v3 Relation resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:current_user) { user } - let!(:from) { FactoryBot.create :work_package } - let!(:to) { FactoryBot.create :work_package } + let!(:from) { create :work_package } + let!(:to) { create :work_package } let(:type) { "follows" } let(:description) { "This first" } @@ -57,7 +57,7 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do } end let(:relation) do - FactoryBot.create :relation, + create :relation, from: from, to: to, relation_type: type, @@ -103,13 +103,13 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do context 'relation that would create a circular scheduling dependency' do let(:from_child) do - FactoryBot.create(:work_package, parent: from) + create(:work_package, parent: from) end let(:to_child) do - FactoryBot.create(:work_package, parent: to) + create(:work_package, parent: to) end let(:children_follows_relation) do - FactoryBot.create :relation, + create :relation, from: to_child, to: from_child, relation_type: Relation::TYPE_FOLLOWS @@ -131,17 +131,17 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do end context "'relates to' relation that would create a circular dependency" do - let(:work_package_a) { FactoryBot.create(:work_package) } - let(:work_package_b) { FactoryBot.create(:work_package, project: work_package_a.project) } - let(:work_package_c) { FactoryBot.create(:work_package, project: work_package_b.project) } + let(:work_package_a) { create(:work_package) } + let(:work_package_b) { create(:work_package, project: work_package_a.project) } + let(:work_package_c) { create(:work_package, project: work_package_b.project) } let(:relation_a_b) do - FactoryBot.create(:relation, + create(:relation, from: work_package_a, to: work_package_b, relation_type: Relation::TYPE_RELATES) end let(:relation_b_c) do - FactoryBot.create(:relation, + create(:relation, from: work_package_b, to: work_package_c, relation_type: Relation::TYPE_RELATES) @@ -175,19 +175,19 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do context 'follows relation within siblings' do let(:sibling) do - FactoryBot.create(:work_package) + create(:work_package) end let(:other_sibling) do - FactoryBot.create(:work_package) + create(:work_package) end let(:parent) do - wp = FactoryBot.create(:work_package) + wp = create(:work_package) wp.children = [sibling, from, to, other_sibling] end let(:existing_follows) do - FactoryBot.create(:relation, relation_type: 'follows', from: to, to: sibling) - FactoryBot.create(:relation, relation_type: 'follows', from: other_sibling, to: from) + create(:relation, relation_type: 'follows', from: to, to: sibling) + create(:relation, relation_type: 'follows', from: other_sibling, to: from) end let(:setup) do @@ -200,18 +200,18 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do context 'follows relation to sibling\'s child' do let(:sibling) do - FactoryBot.create(:work_package) + create(:work_package) end let(:sibling_child) do - FactoryBot.create(:work_package, parent: sibling) + create(:work_package, parent: sibling) end let(:parent) do - wp = FactoryBot.create(:work_package) + wp = create(:work_package) wp.children = [sibling, from, to] end let(:existing_follows) do - FactoryBot.create(:relation, relation_type: 'follows', from: to, to: sibling_child) + create(:relation, relation_type: 'follows', from: to, to: sibling_child) end let(:setup) do @@ -278,7 +278,7 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do end context "with trying to change an immutable attribute" do - let(:other_wp) { FactoryBot.create :work_package } + let(:other_wp) { create :work_package } let(:update) do { @@ -309,18 +309,18 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do end describe "permissions" do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:permissions) { %i(view_work_packages manage_work_package_relations) } let(:role) do - FactoryBot.create :existing_role, permissions: permissions + create :existing_role, permissions: permissions end - let(:project) { FactoryBot.create :project, members: { user => role } } + let(:project) { create :project, members: { user => role } } - let!(:from) { FactoryBot.create :work_package, project: project } - let!(:to) { FactoryBot.create :work_package, project: project } + let!(:from) { create :work_package, project: project } + let!(:to) { create :work_package, project: project } before do header "Content-Type", "application/json" @@ -346,7 +346,7 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do # is in another project for which the user does not have permission to # view work packages. context "without manage_work_package_relations" do - let!(:to) { FactoryBot.create :work_package } + let!(:to) { create :work_package } it "should return 422" do expect(last_response.status).to eq 422 @@ -372,15 +372,15 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do end let(:permissions) { %i[view_work_packages manage_work_package_relations] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:current_user) do - FactoryBot.create(:user).tap do |user| - FactoryBot.create(:member, + create(:user).tap do |user| + create(:member, project: to.project, user: user, roles: [role]) - FactoryBot.create(:member, + create(:member, project: from.project, user: user, roles: [role]) @@ -410,35 +410,35 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do end describe 'GET /api/v3/relations?[filter]' do - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:member_project_to) do - FactoryBot.build(:member, + build(:member, project: to.project, user: user, roles: [role]) end let(:member_project_from) do - FactoryBot.build(:member, + build(:member, project: from.project, user: user, roles: [role]) end let(:invisible_relation) do - invisible_wp = FactoryBot.create(:work_package) + invisible_wp = create(:work_package) - FactoryBot.create :relation, + create :relation, from: from, to: invisible_wp end let(:other_visible_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: to.project, type: to.type) end let(:other_visible_relation) do - FactoryBot.create :relation, + create :relation, from: to, to: other_visible_work_package end @@ -481,15 +481,15 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do api_v3_paths.relation(relation.id) end - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:current_user) do - FactoryBot.create(:user).tap do |user| - FactoryBot.create(:member, + create(:user).tap do |user| + create(:member, project: to.project, user: user, roles: [role]) - FactoryBot.create(:member, + create(:member, project: from.project, user: user, roles: [role]) @@ -522,9 +522,9 @@ describe 'API v3 Relation resource', type: :request, content_type: :json do context 'for a relation with an invisible work package' do let(:invisible_relation) do - invisible_wp = FactoryBot.create(:work_package) + invisible_wp = create(:work_package) - FactoryBot.create :relation, + create :relation, from: from, to: invisible_wp end diff --git a/spec/requests/api/v3/relations/relations_index_spec.rb b/spec/requests/api/v3/relations/relations_index_spec.rb index 2526f6a6ab8..e5dde2b6a80 100644 --- a/spec/requests/api/v3/relations/relations_index_spec.rb +++ b/spec/requests/api/v3/relations/relations_index_spec.rb @@ -29,21 +29,21 @@ require 'spec_helper' describe 'GET /api/v3/relations', type: :request do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:work_package) { FactoryBot.create :work_package } - let(:other_work_package) { FactoryBot.create :work_package } + let(:work_package) { create :work_package } + let(:other_work_package) { create :work_package } let!(:relations) do def new_relation(opts = {}) relation_type = opts.delete(:type) - relation = FactoryBot.create :relation, opts.merge(relation_type: relation_type) + relation = create :relation, opts.merge(relation_type: relation_type) relation.id end def new_work_package - FactoryBot.create :work_package + create :work_package end [ diff --git a/spec/requests/api/v3/relations_resource_spec.rb b/spec/requests/api/v3/relations_resource_spec.rb index b28e6d4256a..bcda0e5cdee 100644 --- a/spec/requests/api/v3/relations_resource_spec.rb +++ b/spec/requests/api/v3/relations_resource_spec.rb @@ -33,36 +33,36 @@ describe 'API v3 Relation resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project_with_types) } + let(:project) { create(:project_with_types) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:permissions) { [] } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: project.types.first) end let(:visible_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: project.types.first) end let(:invisible_work_package) do # will be inside another project - FactoryBot.create(:work_package) + create(:work_package) end let(:visible_relation) do - FactoryBot.create(:relation, + create(:relation, from: work_package, to: visible_work_package) end let(:invisible_relation) do - FactoryBot.create(:relation, + create(:relation, from: work_package, to: invisible_work_package) end diff --git a/spec/requests/api/v3/render_resource_spec.rb b/spec/requests/api/v3/render_resource_spec.rb index 12e0a2d9f34..a8096dfd46a 100644 --- a/spec/requests/api/v3/render_resource_spec.rb +++ b/spec/requests/api/v3/render_resource_spec.rb @@ -33,9 +33,9 @@ describe 'API v3 Render resource', type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, public: false) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } - let(:user) { FactoryBot.create(:user, member_in_project: project) } + let(:project) { create(:project, public: false) } + let(:work_package) { create(:work_package, project: project) } + let(:user) { create(:user, member_in_project: project) } let(:content_type) { 'text/plain, charset=UTF-8' } let(:path) { api_v3_paths.render_markup plain: plain, link: context } let(:context) { nil } @@ -124,7 +124,7 @@ describe 'API v3 Render resource', type: :request do end describe 'work package not visible' do - let(:invisible_work_package) { FactoryBot.create(:work_package) } + let(:invisible_work_package) { create(:work_package) } let(:context) { api_v3_paths.work_package invisible_work_package.id } it_behaves_like 'invalid render context', diff --git a/spec/requests/api/v3/repositories/revisions_by_work_package_resource_spec.rb b/spec/requests/api/v3/repositories/revisions_by_work_package_resource_spec.rb index 6b2bf88c24c..e85f9ddccb9 100644 --- a/spec/requests/api/v3/repositories/revisions_by_work_package_resource_spec.rb +++ b/spec/requests/api/v3/repositories/revisions_by_work_package_resource_spec.rb @@ -35,15 +35,15 @@ describe 'API v3 Revisions by work package resource', type: :request do include FileHelpers let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:project) { FactoryBot.create(:project, public: false) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:project) { create(:project, public: false) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages view_changesets] } - let(:repository) { FactoryBot.create(:repository_subversion, project: project) } - let(:work_package) { FactoryBot.create(:work_package, author: current_user, project: project) } + let(:repository) { create(:repository_subversion, project: project) } + let(:work_package) { create(:work_package, author: current_user, project: project) } let(:revisions) { [] } subject(:response) { last_response } @@ -68,7 +68,7 @@ describe 'API v3 Revisions by work package resource', type: :request do context 'with existing revisions' do let(:revisions) do - FactoryBot.build_list(:changeset, + build_list(:changeset, 5, comments: "This commit references ##{work_package.id}", repository: repository) @@ -84,7 +84,7 @@ describe 'API v3 Revisions by work package resource', type: :request do end context 'user unauthorized to view work package' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } it 'should respond with 404' do expect(subject.status).to eq(404) @@ -92,10 +92,10 @@ describe 'API v3 Revisions by work package resource', type: :request do end describe 'revisions linked from another project' do - let(:subproject) { FactoryBot.create(:project, parent: project) } - let(:repository) { FactoryBot.create(:repository_subversion, project: subproject) } + let(:subproject) { create(:project, parent: project) } + let(:repository) { create(:repository_subversion, project: subproject) } let!(:revisions) do - FactoryBot.build_list(:changeset, + build_list(:changeset, 2, comments: "This commit references ##{work_package.id}", repository: repository) @@ -103,7 +103,7 @@ describe 'API v3 Revisions by work package resource', type: :request do context 'with permissions in subproject' do let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_projects: [project, subproject], member_through_role: role) end diff --git a/spec/requests/api/v3/repositories/revisions_resource_spec.rb b/spec/requests/api/v3/repositories/revisions_resource_spec.rb index 5af9c337d95..effcc23c0c9 100644 --- a/spec/requests/api/v3/repositories/revisions_resource_spec.rb +++ b/spec/requests/api/v3/repositories/revisions_resource_spec.rb @@ -35,26 +35,26 @@ describe 'API v3 Revisions resource', type: :request do include API::V3::Utilities::PathHelper let(:revision) do - FactoryBot.create(:changeset, + create(:changeset, repository: repository, comments: 'Some commit message', committer: 'foo bar ') end let(:repository) do - FactoryBot.create(:repository_subversion, project: project) + create(:repository_subversion, project: project) end let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: [:view_changesets]) end let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:unauthorized_user) { FactoryBot.create(:user) } + let(:unauthorized_user) { create(:user) } describe '#get' do let(:get_path) { api_v3_paths.revision revision.id } diff --git a/spec/requests/api/v3/role_resource_spec.rb b/spec/requests/api/v3/role_resource_spec.rb index 799a0ab2c20..29bf4332ea4 100644 --- a/spec/requests/api/v3/role_resource_spec.rb +++ b/spec/requests/api/v3/role_resource_spec.rb @@ -34,16 +34,16 @@ describe 'API v3 roles resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end let(:permissions) { %i[view_members manage_members] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } subject(:response) { last_response } @@ -97,7 +97,7 @@ describe 'API v3 roles resource', type: :request do end let(:non_member_role) { Role.non_member } - let(:global_role) { FactoryBot.create(:global_role) } + let(:global_role) { create(:global_role) } let(:roles) { [role, non_member_role, global_role] } let(:get_path) { api_v3_paths.path_for(:roles, filters: filters) } diff --git a/spec/requests/api/v3/root_resource_spec.rb b/spec/requests/api/v3/root_resource_spec.rb index 37e9152da90..a5eea4bb269 100644 --- a/spec/requests/api/v3/root_resource_spec.rb +++ b/spec/requests/api/v3/root_resource_spec.rb @@ -34,10 +34,10 @@ describe 'API v3 Root resource' do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: []) } - let(:project) { FactoryBot.create(:project, public: false) } + let(:role) { create(:role, permissions: []) } + let(:project) { create(:project, public: false) } describe '#get' do let(:response) { last_response } diff --git a/spec/requests/api/v3/status_resource_spec.rb b/spec/requests/api/v3/status_resource_spec.rb index ea3a59ce0d9..213525739f3 100644 --- a/spec/requests/api/v3/status_resource_spec.rb +++ b/spec/requests/api/v3/status_resource_spec.rb @@ -33,15 +33,15 @@ describe 'API v3 Status resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:project) { FactoryBot.create(:project, public: false) } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project, public: false) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let!(:statuses) { FactoryBot.create_list(:status, 4) } + let!(:statuses) { create_list(:status, 4) } describe 'statuses' do describe '#get' do diff --git a/spec/requests/api/v3/support/api_helper.rb b/spec/requests/api/v3/support/api_helper.rb index 913e909808f..58747622706 100644 --- a/spec/requests/api/v3/support/api_helper.rb +++ b/spec/requests/api/v3/support/api_helper.rb @@ -31,7 +31,7 @@ shared_examples_for 'safeguarded API' do end shared_examples_for 'valid activity request' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:status_code) { 200 } before do @@ -50,7 +50,7 @@ shared_examples_for 'valid activity request' do end shared_examples_for 'invalid activity request' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } before do allow(User).to receive(:current).and_return(admin) diff --git a/spec/requests/api/v3/types/type_resource_spec.rb b/spec/requests/api/v3/types/type_resource_spec.rb index c33744aaa72..baf1cbc5ddd 100644 --- a/spec/requests/api/v3/types/type_resource_spec.rb +++ b/spec/requests/api/v3/types/type_resource_spec.rb @@ -33,15 +33,15 @@ describe 'API v3 Type resource' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:project) { FactoryBot.create(:project, no_types: true, public: false) } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project, no_types: true, public: false) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let!(:types) { FactoryBot.create_list(:type, 4) } + let!(:types) { create_list(:type, 4) } describe 'types' do describe '#get' do diff --git a/spec/requests/api/v3/types/types_by_project_resource_spec.rb b/spec/requests/api/v3/types/types_by_project_resource_spec.rb index d2b979b0240..1e320f1228e 100644 --- a/spec/requests/api/v3/types/types_by_project_resource_spec.rb +++ b/spec/requests/api/v3/types/types_by_project_resource_spec.rb @@ -33,17 +33,17 @@ describe '/api/v3/projects/:id/types' do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:project) { FactoryBot.create(:project, no_types: true, public: false) } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project, no_types: true, public: false) } let(:requested_project) { project } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let!(:irrelevant_types) { FactoryBot.create_list(:type, 4) } - let!(:expected_types) { FactoryBot.create_list(:type, 4) } + let!(:irrelevant_types) { create_list(:type, 4) } + let!(:expected_types) { create_list(:type, 4) } describe '#get' do let(:get_path) { api_v3_paths.types_by_project requested_project.id } @@ -79,7 +79,7 @@ describe '/api/v3/projects/:id/types' do end context 'in a foreign project' do - let(:requested_project) { FactoryBot.create(:project, public: false) } + let(:requested_project) { create(:project, public: false) } it_behaves_like 'not found' end diff --git a/spec/requests/api/v3/user/create_form_resource_spec.rb b/spec/requests/api/v3/user/create_form_resource_spec.rb index 1762fe762ce..44886474c92 100644 --- a/spec/requests/api/v3/user/create_form_resource_spec.rb +++ b/spec/requests/api/v3/user/create_form_resource_spec.rb @@ -46,7 +46,7 @@ describe ::API::V3::Users::CreateFormAPI, content_type: :json do let(:body) { response.body } context 'with authorized user' do - shared_let(:current_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:current_user) { create :user, global_permission: :manage_user } describe 'empty params' do let(:payload) do @@ -130,10 +130,10 @@ describe ::API::V3::Users::CreateFormAPI, content_type: :json do describe 'with custom fields' do let!(:custom_field) do - FactoryBot.create(:string_user_custom_field) + create(:string_user_custom_field) end let!(:list_custom_field) do - FactoryBot.create(:list_user_custom_field) + create(:list_user_custom_field) end let(:custom_option_href) { api_v3_paths.custom_option(list_custom_field.custom_options.first.id) } @@ -186,7 +186,7 @@ describe ::API::V3::Users::CreateFormAPI, content_type: :json do end context 'with unauthorized user' do - shared_let(:current_user) { FactoryBot.create :user } + shared_let(:current_user) { create :user } let(:payload) do {} end diff --git a/spec/requests/api/v3/user/create_user_resource_spec.rb b/spec/requests/api/v3/user/create_user_resource_spec.rb index 66189b4e65e..9c548c61287 100644 --- a/spec/requests/api/v3/user/create_user_resource_spec.rb +++ b/spec/requests/api/v3/user/create_user_resource_spec.rb @@ -56,13 +56,13 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'admin user' do - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } it_behaves_like 'create user request flow' context 'with auth_source' do let(:auth_source_id) { 'some_ldap' } - let(:auth_source) { FactoryBot.create :auth_source, name: auth_source_id } + let(:auth_source) { create :auth_source, name: auth_source_id } context 'ID' do before do @@ -195,7 +195,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'user with global user CRU permission' do - shared_let(:current_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:current_user) { create :user, global_permission: :manage_user } it_behaves_like 'create user request flow' @@ -223,7 +223,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do context 'with auth_source' do let(:auth_source_id) { 'some_ldap' } - let(:auth_source) { FactoryBot.create :auth_source, name: auth_source_id } + let(:auth_source) { create :auth_source, name: auth_source_id } before do parameters[:_links] = { @@ -244,7 +244,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'unauthorized user' do - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } let(:parameters) { { status: 'invited', email: 'foo@example.org' } } it 'returns an erroneous response' do diff --git a/spec/requests/api/v3/user/filters_spec.rb b/spec/requests/api/v3/user/filters_spec.rb index c6d76a889c1..f3722cdeff0 100644 --- a/spec/requests/api/v3/user/filters_spec.rb +++ b/spec/requests/api/v3/user/filters_spec.rb @@ -32,10 +32,10 @@ require 'spec_helper' describe 'GET /api/v3/users', type: :request do let!(:users) do [ - FactoryBot.create(:admin, login: 'admin', status: :active), - FactoryBot.create(:user, login: 'h.wurst', status: :active), - FactoryBot.create(:user, login: 'h.heine', status: :locked), - FactoryBot.create(:user, login: 'm.mario', status: :active) + create(:admin, login: 'admin', status: :active), + create(:user, login: 'h.wurst', status: :active), + create(:user, login: 'h.heine', status: :locked), + create(:user, login: 'm.mario', status: :active) ] end diff --git a/spec/requests/api/v3/user/schemas/user_schema_resource_spec.rb b/spec/requests/api/v3/user/schemas/user_schema_resource_spec.rb index 16fbd205f92..c7a7cebe547 100644 --- a/spec/requests/api/v3/user/schemas/user_schema_resource_spec.rb +++ b/spec/requests/api/v3/user/schemas/user_schema_resource_spec.rb @@ -34,7 +34,7 @@ describe 'API v3 Users schema resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:path) { api_v3_paths.user_schema } diff --git a/spec/requests/api/v3/user/update_form_resource_spec.rb b/spec/requests/api/v3/user/update_form_resource_spec.rb index 025165fc2e0..2aaf294bb0c 100644 --- a/spec/requests/api/v3/user/update_form_resource_spec.rb +++ b/spec/requests/api/v3/user/update_form_resource_spec.rb @@ -35,13 +35,13 @@ describe ::API::V3::Users::UpdateFormAPI, content_type: :json do include API::V3::Utilities::PathHelper shared_let(:text_custom_field) do - FactoryBot.create(:string_user_custom_field) + create(:string_user_custom_field) end shared_let(:list_custom_field) do - FactoryBot.create(:list_user_custom_field) + create(:list_user_custom_field) end shared_let(:user) do - FactoryBot.create(:user, + create(:user, "custom_field_#{text_custom_field.id}": "CF text", "custom_field_#{list_custom_field.id}": list_custom_field.custom_options.first) end @@ -62,7 +62,7 @@ describe ::API::V3::Users::UpdateFormAPI, content_type: :json do context 'with authorized user' do shared_let(:current_user) do - FactoryBot.create(:user, global_permission: :manage_user) + create(:user, global_permission: :manage_user) end describe 'empty payload' do @@ -165,7 +165,7 @@ describe ::API::V3::Users::UpdateFormAPI, content_type: :json do end context 'with unauthorized user' do - let(:current_user) { FactoryBot.create :user } + let(:current_user) { create :user } it_behaves_like 'unauthorized access' end diff --git a/spec/requests/api/v3/user/update_user_resource_spec.rb b/spec/requests/api/v3/user/update_user_resource_spec.rb index bd61466c1e4..ac321a31c94 100644 --- a/spec/requests/api/v3/user/update_user_resource_spec.rb +++ b/spec/requests/api/v3/user/update_user_resource_spec.rb @@ -35,7 +35,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do let(:path) { api_v3_paths.user(user.id) } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:parameters) { {} } before do @@ -76,7 +76,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do describe 'attribute collision' do let(:parameters) { { email: 'foo@example.org' } } - let(:collision) { FactoryBot.create(:user, mail: 'foo@example.org') } + let(:collision) { create(:user, mail: 'foo@example.org') } before do collision end @@ -98,7 +98,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'admin user' do - let(:current_user) { FactoryBot.build(:admin) } + let(:current_user) { build(:admin) } it_behaves_like 'update flow' @@ -128,7 +128,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'user with global manage_user permission' do - shared_let(:global_manage_user) { FactoryBot.create :user, global_permission: :manage_user } + shared_let(:global_manage_user) { create :user, global_permission: :manage_user } let(:current_user) { global_manage_user } it_behaves_like 'update flow' @@ -153,7 +153,7 @@ describe ::API::V3::Users::UsersAPI, type: :request do end describe 'unauthorized user' do - let(:current_user) { FactoryBot.build(:user) } + let(:current_user) { build(:user) } let(:parameters) { { email: 'new@example.org' } } it 'returns an erroneous response' do diff --git a/spec/requests/api/v3/user/user_resource_spec.rb b/spec/requests/api/v3/user/user_resource_spec.rb index 0171ae3943f..279d7e8e889 100644 --- a/spec/requests/api/v3/user/user_resource_spec.rb +++ b/spec/requests/api/v3/user/user_resource_spec.rb @@ -35,12 +35,12 @@ describe 'API v3 User resource', include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.create(:user) } - let(:user) { FactoryBot.create(:user) } - let(:admin) { FactoryBot.create(:admin) } - let(:locked_admin) { FactoryBot.create :admin, status: Principal.statuses[:locked] } + let(:current_user) { create(:user) } + let(:user) { create(:user) } + let(:admin) { create(:admin) } + let(:locked_admin) { create :admin, status: Principal.statuses[:locked] } let(:user_with_global_manage_user) do - FactoryBot.create :user, firstname: 'Global', lastname: 'User', global_permission: :manage_user + create :user, firstname: 'Global', lastname: 'User', global_permission: :manage_user end subject(:response) { last_response } @@ -293,7 +293,7 @@ describe 'API v3 User resource', end context 'as non-admin' do - let(:current_user) { FactoryBot.create :user, admin: false } + let(:current_user) { create :user, admin: false } it_behaves_like 'deletion is not allowed' end @@ -321,7 +321,7 @@ describe 'API v3 User resource', end context 'as anonymous user' do - let(:current_user) { FactoryBot.create :anonymous } + let(:current_user) { create :anonymous } it_behaves_like 'deletion is not allowed' diff --git a/spec/requests/api/v3/user/userlock_resource_spec.rb b/spec/requests/api/v3/user/userlock_resource_spec.rb index 99e6f1c4887..282faf1bda8 100644 --- a/spec/requests/api/v3/user/userlock_resource_spec.rb +++ b/spec/requests/api/v3/user/userlock_resource_spec.rb @@ -33,8 +33,8 @@ describe 'API v3 UserLock resource', type: :request, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:current_user) { FactoryBot.build_stubbed(:user) } - let(:user) { FactoryBot.create(:user, status: User.statuses[:active]) } + let(:current_user) { build_stubbed(:user) } + let(:user) { create(:user, status: User.statuses[:active]) } let(:model) { ::API::V3::Users::UserModel.new(user) } let(:representer) { ::API::V3::Users::UserRepresenter.new(model) } let(:lock_path) { api_v3_paths.user_lock user.id } @@ -50,7 +50,7 @@ describe 'API v3 UserLock resource', type: :request, content_type: :json do # Locking is only available for admins context 'when logged in as admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } context 'user account can be locked' do it 'should respond with 200' do @@ -64,7 +64,7 @@ describe 'API v3 UserLock resource', type: :request, content_type: :json do context 'user account is incompatible' do let(:user) do - FactoryBot.create(:user, status: User.statuses[:registered]) + create(:user, status: User.statuses[:registered]) end it 'should fail for invalid transitions' do expect(subject.status).to eq(400) @@ -94,7 +94,7 @@ describe 'API v3 UserLock resource', type: :request, content_type: :json do # Unlocking is only available for admins context 'when logged in as admin' do - let(:current_user) { FactoryBot.build_stubbed(:admin) } + let(:current_user) { build_stubbed(:admin) } context 'user account can be unlocked' do it 'should respond with 200' do @@ -108,7 +108,7 @@ describe 'API v3 UserLock resource', type: :request, content_type: :json do context 'user account is incompatible' do let(:user) do - FactoryBot.create(:user, status: User.statuses[:registered]) + create(:user, status: User.statuses[:registered]) end it 'should fail for invalid transitions' do expect(subject.status).to eq(400) diff --git a/spec/requests/api/v3/user_preferences/user_preferences_resource_spec.rb b/spec/requests/api/v3/user_preferences/user_preferences_resource_spec.rb index ca794ad65e5..0ed615271e9 100644 --- a/spec/requests/api/v3/user_preferences/user_preferences_resource_spec.rb +++ b/spec/requests/api/v3/user_preferences/user_preferences_resource_spec.rb @@ -35,9 +35,9 @@ describe 'API v3 UserPreferences resource', type: :request, content_type: :json subject(:response) { last_response } - let(:user) { FactoryBot.create(:user, preference: preference) } + let(:user) { create(:user, preference: preference) } let(:preference) do - FactoryBot.create(:user_preference, + create(:user_preference, settings: { daily_reminders: { enabled: false, diff --git a/spec/requests/api/v3/version_resource_spec.rb b/spec/requests/api/v3/version_resource_spec.rb index 6e9b63effc6..cabfad62c37 100644 --- a/spec/requests/api/v3/version_resource_spec.rb +++ b/spec/requests/api/v3/version_resource_spec.rb @@ -34,17 +34,17 @@ describe 'API v3 Version resource', content_type: :json do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end let(:permissions) { %i[view_work_packages manage_versions] } - let(:project) { FactoryBot.create(:project, public: false) } - let(:other_project) { FactoryBot.create(:project, public: false) } - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let(:version_in_project) { FactoryBot.build(:version, project: project, custom_field_values: { int_cf.id => 123 }) } + let(:project) { create(:project, public: false) } + let(:other_project) { create(:project, public: false) } + let!(:int_cf) { create(:int_version_custom_field) } + let(:version_in_project) { build(:version, project: project, custom_field_values: { int_cf.id => 123 }) } let(:version_in_other_project) do - FactoryBot.build(:version, + build(:version, project: other_project, sharing: 'system', custom_field_values: { int_cf.id => 123 }) @@ -120,7 +120,7 @@ describe 'API v3 Version resource', content_type: :json do describe 'PATCH api/v3/versions' do let(:path) { api_v3_paths.version(version.id) } let(:version) do - FactoryBot.create(:version, + create(:version, name: 'Old name', description: 'Old description', start_date: '2017-06-01', @@ -131,8 +131,8 @@ describe 'API v3 Version resource', content_type: :json do custom_field_values: { int_cf.id => 123, list_cf.id => list_cf.custom_options.first.id }) end - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let!(:list_cf) { FactoryBot.create(:list_version_custom_field) } + let!(:int_cf) { create(:int_version_custom_field) } + let!(:list_cf) { create(:list_version_custom_field) } let(:body) do { name: 'New name', @@ -212,10 +212,10 @@ describe 'API v3 Version resource', content_type: :json do context 'if attempting to switch the project' do let(:other_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, + create(:project).tap do |p| + create(:member, project: p, - roles: [FactoryBot.create(:role, permissions: [:manage_versions])], + roles: [create(:role, permissions: [:manage_versions])], user: current_user) end end @@ -250,9 +250,9 @@ describe 'API v3 Version resource', content_type: :json do context 'if having the manage permission in a different project' do let(:other_membership) do - FactoryBot.create(:member, - project: FactoryBot.create(:project), - roles: [FactoryBot.create(:role, permissions: [:manage_versions])]) + create(:member, + project: create(:project), + roles: [create(:role, permissions: [:manage_versions])]) end let(:permissions) do @@ -268,8 +268,8 @@ describe 'API v3 Version resource', content_type: :json do describe 'POST api/v3/versions' do let(:path) { api_v3_paths.versions } - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let!(:list_cf) { FactoryBot.create(:list_version_custom_field) } + let!(:int_cf) { create(:int_version_custom_field) } + let!(:list_cf) { create(:list_version_custom_field) } let(:body) do { name: 'New version', @@ -357,9 +357,9 @@ describe 'API v3 Version resource', content_type: :json do context 'if having the manage permission in a different project' do let(:other_membership) do - FactoryBot.create(:member, - project: FactoryBot.create(:project), - roles: [FactoryBot.create(:role, permissions: [:manage_versions])]) + create(:member, + project: create(:project), + roles: [create(:role, permissions: [:manage_versions])]) end let(:permissions) do @@ -400,7 +400,7 @@ describe 'API v3 Version resource', content_type: :json do context 'filtering for project by sharing' do let(:shared_version_in_project) do - FactoryBot.build(:version, project: project, sharing: 'system') + build(:version, project: project, sharing: 'system') end let(:versions) { [version_in_project, shared_version_in_project] } @@ -425,7 +425,7 @@ describe 'API v3 Version resource', content_type: :json do describe 'DELETE /api/v3/versions/:id' do let(:path) { api_v3_paths.version(version.id) } let(:version) do - FactoryBot.create(:version, + create(:version, project: project) end @@ -455,9 +455,9 @@ describe 'API v3 Version resource', content_type: :json do context 'with work packages attached to it' do let(:version) do - FactoryBot.create(:version, + create(:version, project: project).tap do |v| - FactoryBot.create(:work_package, + create(:work_package, project: project, version: v) 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 785ca0abe8b..e585d48c532 100644 --- a/spec/requests/api/v3/versions/available_projects_resource_spec.rb +++ b/spec/requests/api/v3/versions/available_projects_resource_spec.rb @@ -34,46 +34,46 @@ describe 'API v3 members available projects resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user) + create(:user) end let(:own_member) do - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:member, + roles: [create(:role, permissions: permissions)], project: project, user: current_user) end let(:permissions) { %i[view_versions manage_versions] } let(:manage_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: permissions)], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: permissions)], project: p, user: current_user) end end let(:view_project) do - FactoryBot.create(:project).tap do |p| - FactoryBot.create(:member, - roles: [FactoryBot.create(:role, permissions: [:view_versions])], + create(:project).tap do |p| + create(:member, + roles: [create(:role, permissions: [:view_versions])], project: p, user: current_user) end end # let(:membered_project) do - # FactoryBot.create(:project).tap do |p| - # FactoryBot.create(:member, - # roles: [FactoryBot.create(:role, permissions: permissions)], + # create(:project).tap do |p| + # create(:member, + # roles: [create(:role, permissions: permissions)], # project: p, # user: current_user) - # FactoryBot.create(:member, - # roles: [FactoryBot.create(:role, permissions: permissions)], + # create(:member, + # roles: [create(:role, permissions: permissions)], # project: p, # user: other_user) # end # end let(:unauthorized_project) do - FactoryBot.create(:public_project) + create(:public_project) end subject(:response) { last_response } diff --git a/spec/requests/api/v3/versions/create_form_resource_spec.rb b/spec/requests/api/v3/versions/create_form_resource_spec.rb index dda0fc4f9e7..a1a16e0bd26 100644 --- a/spec/requests/api/v3/versions/create_form_resource_spec.rb +++ b/spec/requests/api/v3/versions/create_form_resource_spec.rb @@ -34,9 +34,9 @@ describe ::API::V3::Versions::CreateFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -111,8 +111,8 @@ describe ::API::V3::Versions::CreateFormAPI, content_type: :json do end context 'with all parameters' do - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let!(:list_cf) { FactoryBot.create(:list_version_custom_field) } + let!(:int_cf) { create(:int_version_custom_field) } + let!(:list_cf) { create(:list_version_custom_field) } let(:parameters) do { name: 'New version', diff --git a/spec/requests/api/v3/versions/project_resource_spec.rb b/spec/requests/api/v3/versions/project_resource_spec.rb index 906fb97c242..6a4ab584cb2 100644 --- a/spec/requests/api/v3/versions/project_resource_spec.rb +++ b/spec/requests/api/v3/versions/project_resource_spec.rb @@ -34,7 +34,7 @@ describe "API v3 version's projects resource" do include API::V3::Utilities::PathHelper let(:current_user) do - user = FactoryBot.create(:user, + user = create(:user, member_in_project: project, member_through_role: role) @@ -42,13 +42,13 @@ describe "API v3 version's projects resource" do user end - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:role_without_permissions) { FactoryBot.create(:role, permissions: []) } - let(:project) { FactoryBot.create(:project, public: false) } - let(:project2) { FactoryBot.create(:project, public: false) } - let(:project3) { FactoryBot.create(:project, public: false) } - let(:project4) { FactoryBot.create(:project, public: false) } - let(:version) { FactoryBot.create(:version, project: project, sharing: 'system') } + let(:role) { create(:role, permissions: [:view_work_packages]) } + let(:role_without_permissions) { create(:role, permissions: []) } + let(:project) { create(:project, public: false) } + let(:project2) { create(:project, public: false) } + let(:project3) { create(:project, public: false) } + let(:project4) { create(:project, public: false) } + let(:version) { create(:version, project: project, sharing: 'system') } subject(:response) { last_response } @@ -60,12 +60,12 @@ describe "API v3 version's projects resource" do current_user # this is to be included - FactoryBot.create(:member, user: current_user, + 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. - FactoryBot.create(:member, user: current_user, + create(:member, user: current_user, project: project3, roles: [role_without_permissions]) # project4 should NOT be included diff --git a/spec/requests/api/v3/versions/schemas/version_schema_resource_spec.rb b/spec/requests/api/v3/versions/schemas/version_schema_resource_spec.rb index 30fd3b62472..6befbfd6f10 100644 --- a/spec/requests/api/v3/versions/schemas/version_schema_resource_spec.rb +++ b/spec/requests/api/v3/versions/schemas/version_schema_resource_spec.rb @@ -33,9 +33,9 @@ describe 'API v3 Version schema resource', type: :request, content_type: :json d include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end diff --git a/spec/requests/api/v3/versions/update_form_resource_spec.rb b/spec/requests/api/v3/versions/update_form_resource_spec.rb index 082c06af05a..842cf135de5 100644 --- a/spec/requests/api/v3/versions/update_form_resource_spec.rb +++ b/spec/requests/api/v3/versions/update_form_resource_spec.rb @@ -34,10 +34,10 @@ describe ::API::V3::Versions::UpdateFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:version) { FactoryBot.create(:version, project: project) } - let(:project) { FactoryBot.create(:project) } + let(:version) { create(:version, project: project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end @@ -105,9 +105,9 @@ describe ::API::V3::Versions::UpdateFormAPI, content_type: :json do context 'with wanting to alter the project' do let(:other_project) do - role = FactoryBot.create(:role, permissions: permissions) + role = create(:role, permissions: permissions) - FactoryBot.create(:project, + create(:project, members: { user => role }) end let(:parameters) do @@ -141,8 +141,8 @@ describe ::API::V3::Versions::UpdateFormAPI, content_type: :json do end context 'with all parameters' do - let!(:int_cf) { FactoryBot.create(:int_version_custom_field) } - let!(:list_cf) { FactoryBot.create(:list_version_custom_field) } + let!(:int_cf) { create(:int_version_custom_field) } + let!(:list_cf) { create(:list_version_custom_field) } let(:parameters) do { name: 'New version', diff --git a/spec/requests/api/v3/views/create_resource_spec.rb b/spec/requests/api/v3/views/create_resource_spec.rb index a1199a8a984..eceb9f15ef6 100644 --- a/spec/requests/api/v3/views/create_resource_spec.rb +++ b/spec/requests/api/v3/views/create_resource_spec.rb @@ -33,14 +33,14 @@ describe ::API::V3::Views::ViewsAPI, type: :request do include API::V3::Utilities::PathHelper - shared_let(:permitted_user) { FactoryBot.create(:user) } - shared_let(:role) { FactoryBot.create(:role, permissions: %w[view_work_packages save_queries]) } + shared_let(:permitted_user) { create(:user) } + shared_let(:role) { create(:role, permissions: %w[view_work_packages save_queries]) } shared_let(:project) do - FactoryBot.create(:project, + create(:project, members: { permitted_user => role }) end shared_let(:private_user_query) do - FactoryBot.create(:query, + create(:query, project: project, public: false, user: permitted_user) diff --git a/spec/requests/api/v3/views/index_resource_spec.rb b/spec/requests/api/v3/views/index_resource_spec.rb index ab18033cf00..0c2a0815ac5 100644 --- a/spec/requests/api/v3/views/index_resource_spec.rb +++ b/spec/requests/api/v3/views/index_resource_spec.rb @@ -34,53 +34,53 @@ describe ::API::V3::Views::ViewsAPI, content_type: :json do include API::V3::Utilities::PathHelper - shared_let(:permitted_user) { FactoryBot.create(:user) } + shared_let(:permitted_user) { create(:user) } shared_let(:role) do - FactoryBot.create(:role, permissions: [:view_work_packages]) + create(:role, permissions: [:view_work_packages]) end shared_let(:project) do - FactoryBot.create(:project, + create(:project, members: { permitted_user => role }) end shared_let(:user_private_project_query) do - FactoryBot.create(:query, + create(:query, user: permitted_user, project: project, public: false) end shared_let(:user_private_project_view) do - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: user_private_project_query) end shared_let(:other_user_private_project_query) do - FactoryBot.create(:query, + create(:query, project: project, public: false) end shared_let(:other_user_private_project_view) do - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: other_user_private_project_query) end shared_let(:user_public_project_query) do - FactoryBot.create(:query, + create(:query, project: project, public: true) end shared_let(:user_public_project_view) do - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: user_public_project_query) end shared_let(:other_project) do - FactoryBot.create(:project, + create(:project, members: { permitted_user => role }) end shared_let(:user_private_other_project_query) do - FactoryBot.create(:query, + create(:query, user: permitted_user, project: other_project) end shared_let(:user_private_other_project_view) do - FactoryBot.create(:view_work_packages_table, + create(:view_work_packages_table, query: user_private_other_project_query) end @@ -143,14 +143,14 @@ describe ::API::V3::Views::ViewsAPI, context 'with a type filter' do let(:other_user_private_project_query) do - FactoryBot.create(:query, + create(:query, user: permitted_user, project: project, public: false) end let(:user_private_project_team_planner_view) do - FactoryBot.create(:view_team_planner, + create(:view_team_planner, query: other_user_private_project_query) end @@ -182,7 +182,7 @@ describe ::API::V3::Views::ViewsAPI, end context 'for a user without any visible queries' do - current_user { FactoryBot.create(:user) } + current_user { create(:user) } it_behaves_like 'API V3 collection response', 0, 0, 'Views::WorkPackagesTable' end diff --git a/spec/requests/api/v3/views/show_resource_spec.rb b/spec/requests/api/v3/views/show_resource_spec.rb index 6af17e79b7f..08f8e57d11b 100644 --- a/spec/requests/api/v3/views/show_resource_spec.rb +++ b/spec/requests/api/v3/views/show_resource_spec.rb @@ -35,20 +35,20 @@ describe ::API::V3::Views::ViewsAPI, type: :request do include API::V3::Utilities::PathHelper - shared_let(:permitted_user) { FactoryBot.create(:user) } - shared_let(:role) { FactoryBot.create(:role, permissions: %w[view_work_packages]) } + shared_let(:permitted_user) { create(:user) } + shared_let(:role) { create(:role, permissions: %w[view_work_packages]) } shared_let(:project) do - FactoryBot.create(:project, + create(:project, members: { permitted_user => role }) end shared_let(:private_user_query) do - FactoryBot.create(:query, + create(:query, project: project, public: false, user: permitted_user) end shared_let(:view) do - FactoryBot.create :view_work_packages_table, + create :view_work_packages_table, query: private_user_query end @@ -83,7 +83,7 @@ describe ::API::V3::Views::ViewsAPI, context 'with a user not allowed to see the query' do current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end diff --git a/spec/requests/api/v3/watcher_resource_spec.rb b/spec/requests/api/v3/watcher_resource_spec.rb index 9db1e3ddad5..76645945150 100644 --- a/spec/requests/api/v3/watcher_resource_spec.rb +++ b/spec/requests/api/v3/watcher_resource_spec.rb @@ -33,16 +33,16 @@ describe 'API v3 Watcher resource', type: :request, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, identifier: 'test_project', public: false) } + let(:project) { create(:project, identifier: 'test_project', public: false) } let(:current_user) do - FactoryBot.create :user, member_in_project: project, member_through_role: role + create :user, member_in_project: project, member_through_role: role end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { [] } - let(:view_work_packages_role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:view_work_packages_role) { create(:role, permissions: [:view_work_packages]) } + let(:work_package) { create(:work_package, project: project) } let(:available_watcher) do - FactoryBot.create :user, + create :user, firstname: 'Something', lastname: 'Strange', member_in_project: project, @@ -50,23 +50,23 @@ describe 'API v3 Watcher resource', type: :request, content_type: :json do end let(:watching_user) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: view_work_packages_role end let(:existing_watcher) do - FactoryBot.create(:watcher, watchable: work_package, user: watching_user) + create(:watcher, watchable: work_package, user: watching_user) end let!(:watching_blocked_user) do - FactoryBot.create :user, + create :user, login: 'lockedUser', mail: 'lockedUser@gmail.com', member_in_project: project, member_through_role: view_work_packages_role end let!(:existing_blocked_watcher) do - FactoryBot.create(:watcher, watchable: work_package, user: watching_blocked_user).tap do + create(:watcher, watchable: work_package, user: watching_blocked_user).tap do watching_blocked_user.locked! end end @@ -170,7 +170,7 @@ describe 'API v3 Watcher resource', type: :request, content_type: :json do end context 'when the target user is not allowed to watch the work package' do - let(:new_watcher) { FactoryBot.create(:user) } + let(:new_watcher) { create(:user) } it_behaves_like 'constraint violation' do let(:message) { 'User is invalid' } diff --git a/spec/requests/api/v3/wiki_pages_resource_spec.rb b/spec/requests/api/v3/wiki_pages_resource_spec.rb index 7c6e066e90a..44c886f571e 100644 --- a/spec/requests/api/v3/wiki_pages_resource_spec.rb +++ b/spec/requests/api/v3/wiki_pages_resource_spec.rb @@ -34,18 +34,18 @@ describe 'API v3 wiki_pages resource', type: :request do include API::V3::Utilities::PathHelper let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:other_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:wiki) { FactoryBot.create(:wiki, project: project) } - let(:wiki_page) { FactoryBot.create(:wiki_page, wiki: wiki) } - let(:project) { FactoryBot.create(:project) } - let(:other_wiki) { FactoryBot.create(:wiki, project: other_project) } - let(:other_wiki_page) { FactoryBot.create(:wiki_page, wiki: other_wiki) } - let(:other_project) { FactoryBot.create(:project) } - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:wiki) { create(:wiki, project: project) } + let(:wiki_page) { create(:wiki_page, wiki: wiki) } + let(:project) { create(:project) } + let(:other_wiki) { create(:wiki, project: other_project) } + let(:other_wiki_page) { create(:wiki_page, wiki: other_wiki) } + let(:other_project) { create(:project) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i(view_wiki_pages) } subject(:response) { last_response } 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 6d5c3d0ebf7..1ede7195b18 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 @@ -33,22 +33,22 @@ describe API::V3::WorkPackages::AvailableProjectsOnCreateAPI, type: :request do include API::V3::Utilities::PathHelper let(:add_role) do - FactoryBot.create(:role, permissions: [:add_work_packages]) + create(:role, permissions: [:add_work_packages]) end - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: add_role) end let(:type_id) { nil } context 'with a type filter present' do - let(:type) { FactoryBot.create :type } + let(:type) { create :type } let(:type_id) { type.id } - let(:project_with_type) { FactoryBot.create :project, types: [type] } + let(:project_with_type) { create :project, types: [type] } let(:member) do - FactoryBot.create(:member, principal: user, project: project_with_type, roles: [add_role]) + create(:member, principal: user, project: project_with_type, roles: [add_role]) end before do @@ -84,7 +84,7 @@ describe API::V3::WorkPackages::AvailableProjectsOnCreateAPI, type: :request do context 'w/o any add_work_packages permission' do let(:add_role) do - FactoryBot.create(:role, permissions: []) + create(:role, permissions: []) end it { expect(last_response.status).to eq(403) } 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 30d407421c2..be20b5df538 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 @@ -33,21 +33,21 @@ describe 'API::V3::WorkPackages::AvailableProjectsOnEditAPI', type: :request do include API::V3::Utilities::PathHelper let(:edit_role) do - FactoryBot.create(:role, permissions: %i[edit_work_packages + create(:role, permissions: %i[edit_work_packages view_work_packages]) end let(:move_role) do - FactoryBot.create(:role, permissions: [:move_work_packages]) + create(:role, permissions: [:move_work_packages]) end - let(:project) { FactoryBot.create(:project) } - let(:target_project) { FactoryBot.create(:project) } - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:project) { create(:project) } + let(:target_project) { create(:project) } + let(:work_package) { create(:work_package, project: project) } let(:user) do - user = FactoryBot.create(:user, + user = create(:user, member_in_project: project, member_through_role: edit_role) - FactoryBot.create(:member, + create(:member, user: user, project: target_project, roles: [move_role]) @@ -70,7 +70,7 @@ describe 'API::V3::WorkPackages::AvailableProjectsOnEditAPI', type: :request do context 'w/o the edit_work_packages permission' do let(:edit_role) do - FactoryBot.create(:role, permissions: [:view_work_packages]) + create(:role, permissions: [:view_work_packages]) end it { expect(last_response.status).to eq(403) } @@ -78,7 +78,7 @@ describe 'API::V3::WorkPackages::AvailableProjectsOnEditAPI', type: :request do context 'w/o the view_work_packages permission' do let(:edit_role) do - FactoryBot.create(:role, permissions: [:edit_work_packages]) + create(:role, permissions: [:edit_work_packages]) end it { expect(last_response.status).to eq(404) } diff --git a/spec/requests/api/v3/work_packages/available_relation_candidates_spec.rb b/spec/requests/api/v3/work_packages/available_relation_candidates_spec.rb index a4253bec795..524f565c5ca 100644 --- a/spec/requests/api/v3/work_packages/available_relation_candidates_spec.rb +++ b/spec/requests/api/v3/work_packages/available_relation_candidates_spec.rb @@ -29,32 +29,32 @@ require 'spec_helper' describe ::API::V3::Relations::RelationRepresenter, type: :request do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } - let(:project_1) { FactoryBot.create :project } + let(:project_1) { create :project } - let!(:wp_1) { FactoryBot.create :work_package, project: project_1, subject: "WP 1" } + let!(:wp_1) { create :work_package, project: project_1, subject: "WP 1" } let!(:wp_1_1) do - FactoryBot.create :work_package, parent: wp_1, project: project_1, subject: "WP 1.1" + create :work_package, parent: wp_1, project: project_1, subject: "WP 1.1" end let!(:wp_1_2) do - FactoryBot.create :work_package, parent: wp_1, project: project_1, subject: "WP 1.2" + create :work_package, parent: wp_1, project: project_1, subject: "WP 1.2" end let!(:wp_1_2_1) do - FactoryBot.create :work_package, parent: wp_1_2, project: project_1, subject: "WP 1.2.1" + create :work_package, parent: wp_1_2, project: project_1, subject: "WP 1.2.1" end - let(:project_2) { FactoryBot.create :project } + let(:project_2) { create :project } - let!(:wp_2) { FactoryBot.create :work_package, project: project_2, subject: "WP 2" } - let!(:wp_2_1) { FactoryBot.create :work_package, project: project_2, subject: "WP 2.1" } - let!(:wp_2_2) { FactoryBot.create :work_package, project: project_2, subject: "WP 2.2" } + let!(:wp_2) { create :work_package, project: project_2, subject: "WP 2" } + let!(:wp_2_1) { create :work_package, project: project_2, subject: "WP 2.1" } + let!(:wp_2_2) { create :work_package, project: project_2, subject: "WP 2.2" } let!(:relation_wp_2_1_to_wp_2_2) do - FactoryBot.create :relation, from: wp_2_1, to: wp_2_2, relation_type: "relates" + create :relation, from: wp_2_1, to: wp_2_2, relation_type: "relates" end let(:href) { "/api/v3/work_packages/#{wp_1.id}/available_relation_candidates?query=WP" } @@ -74,7 +74,7 @@ describe ::API::V3::Relations::RelationRepresenter, type: :request do end context 'with no permissions' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } it 'does not return any work packages' do expect(result["errorIdentifier"]).to eq('urn:openproject-org:api:v3:errors:NotFound') @@ -133,11 +133,11 @@ describe ::API::V3::Relations::RelationRepresenter, type: :request do describe 'with an already existing relationship from the work package' do let!(:relation_wp_2_to_wp_2_2) do - FactoryBot.create :relation, from: wp_2, to: wp_2_2, relation_type: "relates" + create :relation, from: wp_2, to: wp_2_2, relation_type: "relates" end let!(:relation_wp_1_1_to_wp_2) do - FactoryBot.create :relation, from: wp_1_1, to: wp_2, relation_type: "relates" + create :relation, from: wp_1_1, to: wp_2, relation_type: "relates" end context 'for a follows relationship' do @@ -157,7 +157,7 @@ describe ::API::V3::Relations::RelationRepresenter, type: :request do end context 'when a project is archived' do - let(:project_1) { FactoryBot.create :project, active: false } + let(:project_1) { create :project, active: false } let(:href) { "/api/v3/work_packages/#{wp_2.id}/available_relation_candidates?query=WP" } it 'does not return work packages from that project' do diff --git a/spec/requests/api/v3/work_packages/create_form_resource_spec.rb b/spec/requests/api/v3/work_packages/create_form_resource_spec.rb index 54ac4c72f18..dd4a78813df 100644 --- a/spec/requests/api/v3/work_packages/create_form_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/create_form_resource_spec.rb @@ -34,10 +34,10 @@ describe ::API::V3::WorkPackages::CreateProjectFormAPI do include Rack::Test::Methods include API::V3::Utilities::PathHelper - shared_let(:status) { FactoryBot.create(:default_status) } - shared_let(:priority) { FactoryBot.create(:default_priority) } - shared_let(:user) { FactoryBot.create(:admin) } - shared_let(:project) { FactoryBot.create(:project_with_types) } + shared_let(:status) { create(:default_status) } + shared_let(:priority) { create(:default_priority) } + shared_let(:user) { create(:admin) } + shared_let(:project) { create(:project_with_types) } let(:path) { api_v3_paths.create_work_package_form } let(:parameters) { {} } diff --git a/spec/requests/api/v3/work_packages/create_project_form_resource_spec.rb b/spec/requests/api/v3/work_packages/create_project_form_resource_spec.rb index adb29b92649..2609fb948df 100644 --- a/spec/requests/api/v3/work_packages/create_project_form_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/create_project_form_resource_spec.rb @@ -34,9 +34,9 @@ describe ::API::V3::WorkPackages::CreateProjectFormAPI, content_type: :json do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project, id: 5) } + let(:project) { create(:project, id: 5) } let(:post_path) { api_v3_paths.create_project_work_package_form(project.id) } - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } before do login_as(user) diff --git a/spec/requests/api/v3/work_packages/create_resource_spec.rb b/spec/requests/api/v3/work_packages/create_resource_spec.rb index 1334101063f..65212588508 100644 --- a/spec/requests/api/v3/work_packages/create_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/create_resource_spec.rb @@ -35,20 +35,20 @@ describe 'API v3 Work package resource', include API::V3::Utilities::PathHelper let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[add_work_packages view_project view_work_packages] } current_user do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end describe 'POST /api/v3/work_packages' do let(:path) { api_v3_paths.work_packages } let(:other_user) { nil } - let(:status) { FactoryBot.build(:status, is_default: true) } - let(:priority) { FactoryBot.build(:priority, is_default: true) } + let(:status) { build(:status, is_default: true) } + let(:priority) { build(:priority, is_default: true) } let(:type) { project.types.first } let(:parameters) do { @@ -75,7 +75,7 @@ describe 'API v3 Work package resource', end describe 'notifications' do - let(:other_user) { FactoryBot.create(:user, member_in_project: project, member_with_permissions: permissions) } + let(:other_user) { create(:user, member_in_project: project, member_with_permissions: permissions) } it 'creates a notification' do expect(Notification.where(recipient: other_user, resource: WorkPackage.last)) @@ -122,7 +122,7 @@ describe 'API v3 Work package resource', end context 'no permissions' do - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } it 'should hide the endpoint' do expect(last_response.status).to eq(403) @@ -225,7 +225,7 @@ describe 'API v3 Work package resource', end context 'claiming attachments' do - let(:attachment) { FactoryBot.create(:attachment, container: nil, author: current_user) } + let(:attachment) { create(:attachment, container: nil, author: current_user) } let(:parameters) do { subject: 'subject', diff --git a/spec/requests/api/v3/work_packages/delete_resource_spec.rb b/spec/requests/api/v3/work_packages/delete_resource_spec.rb index 6decd64d051..2256b4ee969 100644 --- a/spec/requests/api/v3/work_packages/delete_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/delete_resource_spec.rb @@ -35,20 +35,20 @@ describe 'API v3 Work package resource', include API::V3::Utilities::PathHelper let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: 'lorem ipsum') end let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages edit_work_packages assign_versions] } current_user do - user = FactoryBot.create(:user, member_in_project: project, member_through_role: role) + user = create(:user, member_in_project: project, member_through_role: role) - FactoryBot.create(:user_preference, user: user) + create(:user_preference, user: user) user end diff --git a/spec/requests/api/v3/work_packages/dependent_errors_spec.rb b/spec/requests/api/v3/work_packages/dependent_errors_spec.rb index f00f3377d45..b181c4e6641 100644 --- a/spec/requests/api/v3/work_packages/dependent_errors_spec.rb +++ b/spec/requests/api/v3/work_packages/dependent_errors_spec.rb @@ -35,7 +35,7 @@ describe 'API v3 Work package resource', type: :request, content_type: :json do include API::V3::Utilities::PathHelper let(:work_package) do - FactoryBot.create( + create( :work_package, project_id: project.id, parent: parent, @@ -44,7 +44,7 @@ describe 'API v3 Work package resource', type: :request, content_type: :json do end let!(:parent) do - FactoryBot.create(:work_package, project_id: project.id, type: type, subject: "Invalid Dependent WorkPackage").tap do |parent| + create(:work_package, project_id: project.id, type: type, subject: "Invalid Dependent WorkPackage").tap do |parent| parent.custom_values.create custom_field: custom_field, value: custom_field.possible_values.first.id cv = parent.custom_values.last @@ -53,21 +53,21 @@ describe 'API v3 Work package resource', type: :request, content_type: :json do end let(:project) do - FactoryBot.create(:project, identifier: 'deperr', public: false).tap do |project| + create(:project, identifier: 'deperr', public: false).tap do |project| project.types << type end end let(:type) do - FactoryBot.create(:type).tap do |type| + create(:type).tap do |type| type.custom_fields << custom_field end end - let(:status) { FactoryBot.create :status } + let(:status) { create :status } let(:custom_field) do - FactoryBot.create( + create( :list_wp_custom_field, name: "Gate", possible_values: %w(A B C), @@ -75,11 +75,11 @@ describe 'API v3 Work package resource', type: :request, content_type: :json do ) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages edit_work_packages create_work_packages] } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end let(:dependent_error_result) do @@ -144,7 +144,7 @@ describe 'API v3 Work package resource', type: :request, content_type: :json do end describe '#post' do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let(:path) { api_v3_paths.work_packages } let(:valid_params) do 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 edb2f1281d4..69a1757ae6a 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 @@ -36,21 +36,21 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d shared_let(:all_allowed_permissions) { %i[view_work_packages edit_work_packages assign_versions view_budgets] } shared_let(:assign_permissions) { %i[view_work_packages assign_versions] } - shared_let(:project) { FactoryBot.create(:project, public: false) } + shared_let(:project) { create(:project, public: false) } shared_let(:authorized_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: all_allowed_permissions) + create(:user, member_in_project: project, member_with_permissions: all_allowed_permissions) end shared_let(:work_package) do # Prevent executing as potentially unsaved AnyonymousUser which would # lead to the creation failing as the journal cannot be written with user_id = nil. User.execute_as authorized_user do - FactoryBot.create(:work_package, project: project) + create(:work_package, project: project) end end shared_let(:authorized_assign_user) do - FactoryBot.create(:user, member_in_project: project, member_with_permissions: assign_permissions) + create(:user, member_in_project: project, member_with_permissions: assign_permissions) end - shared_let(:unauthorized_user) { FactoryBot.create(:user) } + shared_let(:unauthorized_user) { create(:user) } describe '#post' do let(:post_path) { api_v3_paths.work_package_form work_package.id } @@ -322,14 +322,14 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'status' do let(:path) { '_embedded/payload/_links/status/href' } - let(:target_status) { FactoryBot.create(:status) } + let(:target_status) { create(:status) } let(:status_link) { api_v3_paths.status target_status.id } let(:status_parameter) { { _links: { status: { href: status_link } } } } let(:params) { valid_params.merge(status_parameter) } context 'valid status' do let!(:workflow) do - FactoryBot.create(:workflow, + create(:workflow, type_id: work_package.type.id, old_status: work_package.status, new_status: target_status, @@ -403,7 +403,7 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d shared_examples_for 'handling people' do |property| let(:path) { "_embedded/payload/_links/#{property}/href" } let(:visible_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project) end let(:user_parameter) { { _links: { property => { href: user_link } } } } @@ -440,10 +440,10 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d context 'existing group' do let(:user_link) { api_v3_paths.group group.id } - let(:group) { FactoryBot.create(:group) } - let(:role) { FactoryBot.create(:role) } + let(:group) { create(:group) } + let(:role) { create(:role) } let(:group_member) do - FactoryBot.create(:member, + create(:member, principal: group, project: project, roles: [role]) @@ -458,9 +458,9 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d context 'existing placeholder_user' do let(:user_link) { api_v3_paths.placeholder_user placeholder_user.id } - let(:role) { FactoryBot.create(:role) } + let(:role) { create(:role) } let(:placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role) end @@ -506,8 +506,8 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'version' do let(:path) { '_embedded/payload/_links/version/href' } - let(:target_version) { FactoryBot.create(:version, project: project, start_date: Date.today - 2.days) } - let(:other_version) { FactoryBot.create(:version, project: project, start_date: Date.today - 1.day) } + let(:target_version) { create(:version, project: project, start_date: Date.today - 2.days) } + let(:other_version) { create(:version, project: project, start_date: Date.today - 1.day) } let(:version_link) { api_v3_paths.version target_version.id } let(:version_parameter) { { _links: { version: { href: version_link } } } } let(:params) { valid_params.merge(version_parameter) } @@ -543,8 +543,8 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'category' do let(:path) { '_embedded/payload/_links/category/href' } let(:links_path) { '_embedded/schema/category/_links' } - let(:target_category) { FactoryBot.create(:category, project: project) } - let(:other_category) { FactoryBot.create(:category, project: project) } + let(:target_category) { create(:category, project: project) } + let(:other_category) { create(:category, project: project) } let(:category_link) { api_v3_paths.category target_category.id } let(:category_parameter) { { _links: { category: { href: category_link } } } } let(:params) { valid_params.merge(category_parameter) } @@ -580,7 +580,7 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'priority' do let(:path) { '_embedded/payload/_links/priority/href' } let(:links_path) { '_embedded/schema/priority/_links' } - let(:target_priority) { FactoryBot.create(:priority) } + let(:target_priority) { create(:priority) } let(:other_priority) { work_package.priority } let(:priority_link) { api_v3_paths.priority target_priority.id } let(:other_priority_link) { api_v3_paths.priority other_priority.id } @@ -618,7 +618,7 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'type' do let(:path) { '_embedded/payload/_links/type/href' } let(:links_path) { '_embedded/schema/type/_links' } - let(:target_type) { FactoryBot.create(:type) } + let(:target_type) { create(:type) } let(:other_type) { work_package.type } let(:type_link) { api_v3_paths.type target_type.id } let(:other_type_link) { api_v3_paths.type other_type.id } @@ -660,8 +660,8 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'budget' do let(:path) { '_embedded/payload/_links/budget/href' } let(:links_path) { '_embedded/schema/budget/_links' } - let(:target_budget) { FactoryBot.create(:budget, project: project) } - let(:other_budget) { FactoryBot.create(:budget, project: project) } + let(:target_budget) { create(:budget, project: project) } + let(:other_budget) { create(:budget, project: project) } let(:budget_link) { api_v3_paths.budget target_budget.id } let(:budget_parameter) { { _links: { budget: { href: budget_link } } } } let(:params) { valid_params.merge(budget_parameter) } @@ -694,7 +694,7 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d end context 'invalid budget' do - let(:target_budget) { FactoryBot.create(:budget) } + let(:target_budget) { create(:budget) } include_context 'post request' @@ -741,7 +741,7 @@ describe 'API v3 Work package form resource', type: :request, with_mail: false d describe 'formattable custom field set to nil' do let(:custom_field) do - FactoryBot.create :work_package_custom_field, field_format: 'text' + create :work_package_custom_field, field_format: 'text' end let(:cf_param) { { "customField#{custom_field.id}" => nil } } diff --git a/spec/requests/api/v3/work_packages/index_resource_spec.rb b/spec/requests/api/v3/work_packages/index_resource_spec.rb index 6dc286eff0e..d0dea9cc514 100644 --- a/spec/requests/api/v3/work_packages/index_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/index_resource_spec.rb @@ -35,25 +35,25 @@ describe 'API v3 Work package resource', include API::V3::Utilities::PathHelper let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: 'lorem ipsum') end let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages edit_work_packages assign_versions] } current_user do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end describe 'GET /api/v3/work_packages' do subject { last_response } let(:path) { api_v3_paths.work_packages } - let(:other_work_package) { FactoryBot.create(:work_package) } + let(:other_work_package) { create(:work_package) } let(:work_packages) { [work_package, other_work_package] } before do @@ -88,10 +88,10 @@ describe 'API v3 Work package resource', ] end - let(:lorem_ipsum_work_package) { FactoryBot.create(:work_package, project: project, subject: "lorem ipsum") } - let(:lorem_project) { FactoryBot.create(:project, members: { current_user => role }, name: "lorem other") } - let(:ipsum_work_package) { FactoryBot.create(:work_package, subject: "other ipsum", project: lorem_project) } - let(:other_lorem_work_package) { FactoryBot.create(:work_package, subject: "lorem", project: lorem_project) } + let(:lorem_ipsum_work_package) { create(:work_package, project: project, subject: "lorem ipsum") } + let(:lorem_project) { create(:project, members: { current_user => role }, name: "lorem other") } + let(:ipsum_work_package) { create(:work_package, subject: "other ipsum", project: lorem_project) } + let(:other_lorem_work_package) { create(:work_package, subject: "lorem", project: lorem_project) } let(:work_packages) { [work_package, lorem_ipsum_work_package, ipsum_work_package, other_lorem_work_package] } it_behaves_like 'API V3 collection response', 2, 2, 'WorkPackage', 'WorkPackageCollection' do @@ -101,7 +101,7 @@ describe 'API v3 Work package resource', context 'with a user not seeing any work packages' do include_context 'with non-member permissions from non_member_permissions' - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } let(:non_member_permissions) { [:view_work_packages] } it 'succeeds' do @@ -133,11 +133,11 @@ describe 'API v3 Work package resource', end let(:path) { "#{api_v3_paths.work_packages}?#{props}" } let(:other_visible_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end let(:another_visible_work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project) end diff --git a/spec/requests/api/v3/work_packages/show_resource_spec.rb b/spec/requests/api/v3/work_packages/show_resource_spec.rb index 88e861f2958..c87ca703a2f 100644 --- a/spec/requests/api/v3/work_packages/show_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/show_resource_spec.rb @@ -36,23 +36,23 @@ describe 'API v3 Work package resource', include Capybara::RSpecMatchers include API::V3::Utilities::PathHelper - let(:closed_status) { FactoryBot.create(:closed_status) } + let(:closed_status) { create(:closed_status) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: 'lorem ipsum') end let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages edit_work_packages assign_versions] } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end - let(:unauthorize_user) { FactoryBot.create(:user) } - let(:type) { FactoryBot.create(:type) } + let(:unauthorize_user) { create(:user) } + let(:type) { create(:type) } before do login_as(current_user) @@ -74,12 +74,12 @@ describe 'API v3 Work package resource', describe 'response body' do subject { last_response.body } let!(:other_wp) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, status: closed_status) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: description).tap do |wp| wp.children << children @@ -133,7 +133,7 @@ describe 'API v3 Work package resource', describe 'derived dates' do let(:children) do # This will be in another project but the user is still allowed to see the dates - [FactoryBot.create(:work_package, + [create(:work_package, start_date: Date.today, due_date: Date.today + 5.days)] end @@ -151,18 +151,18 @@ describe 'API v3 Work package resource', describe 'relations' do let(:directly_related_wp) do - FactoryBot.create(:work_package, project_id: project.id) + create(:work_package, project_id: project.id) end let(:transitively_related_wp) do - FactoryBot.create(:work_package, project_id: project.id) + create(:work_package, project_id: project.id) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: 'lorem ipsum').tap do |wp| - FactoryBot.create(:relation, relates: 1, from: wp, to: directly_related_wp) - FactoryBot.create(:relation, relates: 1, from: directly_related_wp, to: transitively_related_wp) + create(:relation, relates: 1, from: wp, to: directly_related_wp) + create(:relation, relates: 1, from: directly_related_wp, to: transitively_related_wp) end end 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 c626275abc1..a9874faeecf 100644 --- a/spec/requests/api/v3/work_packages/update_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/update_resource_spec.rb @@ -34,22 +34,22 @@ describe 'API v3 Work package resource', content_type: :json do include API::V3::Utilities::PathHelper - let(:closed_status) { FactoryBot.create(:closed_status) } + let(:closed_status) { create(:closed_status) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project_id: project.id, description: 'lorem ipsum') end let(:project) do - FactoryBot.create(:project, identifier: 'test_project', public: false) + create(:project, identifier: 'test_project', public: false) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) { %i[view_work_packages edit_work_packages assign_versions] } - let(:type) { FactoryBot.create(:type) } + let(:type) { create(:type) } current_user do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end describe 'PATCH /api/v3/work_packages/:id' do @@ -71,8 +71,8 @@ describe 'API v3 Work package resource', context 'user without needed permissions' do context 'no permission to see the work package' do - let(:work_package) { FactoryBot.create(:work_package) } - let(:current_user) { FactoryBot.create :user } + let(:work_package) { create(:work_package) } + let(:current_user) { create :user } let(:params) { valid_params } include_context 'patch request' @@ -82,9 +82,9 @@ describe 'API v3 Work package resource', end context 'no permission to edit the work package' do - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package.project, member_through_role: role) end @@ -108,7 +108,7 @@ describe 'API v3 Work package resource', describe 'notification' do let(:update_params) { valid_params.merge(subject: 'Updated subject') } let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package.project, member_with_permissions: %i(view_work_packages)) end @@ -262,7 +262,7 @@ describe 'API v3 Work package resource', end context 'status' do - let(:target_status) { FactoryBot.create(:status) } + let(:target_status) { create(:status) } let(:status_link) { api_v3_paths.status target_status.id } let(:status_parameter) { { _links: { status: { href: status_link } } } } let(:params) { valid_params.merge(status_parameter) } @@ -271,7 +271,7 @@ describe 'API v3 Work package resource', context 'valid status' do let!(:workflow) do - FactoryBot.create(:workflow, + create(:workflow, type_id: work_package.type.id, old_status: work_package.status, new_status: target_status, @@ -318,7 +318,7 @@ describe 'API v3 Work package resource', end context 'type' do - let(:target_type) { FactoryBot.create(:type) } + let(:target_type) { create(:type) } let(:type_link) { api_v3_paths.type target_type.id } let(:type_parameter) { { _links: { type: { href: type_link } } } } let(:params) { valid_params.merge(type_parameter) } @@ -343,7 +343,7 @@ describe 'API v3 Work package resource', end context 'valid type changing custom fields' do - let(:custom_field) { FactoryBot.create(:work_package_custom_field) } + let(:custom_field) { create(:work_package_custom_field) } let(:custom_field_parameter) { { "customField#{custom_field.id}": true } } let(:params) { valid_params.merge(type_parameter).merge(custom_field_parameter) } @@ -388,17 +388,17 @@ describe 'API v3 Work package resource', context 'project' do let(:target_project) do - FactoryBot.create(:project, public: false) + create(:project, public: false) end let(:project_link) { api_v3_paths.project target_project.id } let(:project_parameter) { { _links: { project: { href: project_link } } } } let(:params) { valid_params.merge(project_parameter) } before do - FactoryBot.create :member, + create :member, user: current_user, project: target_project, - roles: [FactoryBot.create(:role, permissions: [:move_work_packages])] + roles: [create(:role, permissions: [:move_work_packages])] allow(User).to receive(:current).and_return current_user end @@ -422,7 +422,7 @@ describe 'API v3 Work package resource', end context 'with a custom field defined on the target project' do - let(:custom_field) { FactoryBot.create(:work_package_custom_field) } + let(:custom_field) { create(:work_package_custom_field) } let(:custom_field_parameter) { { "customField#{custom_field.id}": true } } let(:params) { valid_params.merge(project_parameter).merge(custom_field_parameter) } @@ -442,10 +442,10 @@ describe 'API v3 Work package resource', end context 'assignee and responsible' do - let(:user) { FactoryBot.create(:user, member_in_project: project) } + let(:user) { create(:user, member_in_project: project) } let(:params) { valid_params.merge(user_parameter) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, assigned_to: current_user, responsible: current_user) @@ -454,10 +454,10 @@ describe 'API v3 Work package resource', before { login_as current_user } shared_context 'setup group membership' do - let(:group) { FactoryBot.create(:group) } - let(:group_role) { FactoryBot.create(:role) } + let(:group) { create(:group) } + let(:group_role) { create(:role) } let!(:group_member) do - FactoryBot.create(:member, + create(:member, principal: group, project: project, roles: [group_role]) @@ -465,7 +465,7 @@ describe 'API v3 Work package resource', end let(:placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role) end @@ -549,7 +549,7 @@ describe 'API v3 Work package resource', end context 'user is not visible' do - let(:invalid_user) { FactoryBot.create(:user) } + let(:invalid_user) { create(:user) } let(:user_href) { api_v3_paths.user invalid_user.id } it_behaves_like 'constraint violation' do @@ -587,7 +587,7 @@ describe 'API v3 Work package resource', end context 'version' do - let(:target_version) { FactoryBot.create(:version, project: project) } + let(:target_version) { create(:version, project: project) } let(:version_link) { api_v3_paths.version target_version.id } let(:version_parameter) { { _links: { version: { href: version_link } } } } let(:params) { valid_params.merge(version_parameter) } @@ -624,7 +624,7 @@ describe 'API v3 Work package resource', end context 'category' do - let(:target_category) { FactoryBot.create(:category, project: project) } + let(:target_category) { create(:category, project: project) } let(:category_link) { api_v3_paths.category target_category.id } let(:category_parameter) { { _links: { category: { href: category_link } } } } let(:params) { valid_params.merge(category_parameter) } @@ -647,7 +647,7 @@ describe 'API v3 Work package resource', end context 'priority' do - let(:target_priority) { FactoryBot.create(:priority) } + let(:target_priority) { create(:priority) } let(:priority_link) { api_v3_paths.priority target_priority.id } let(:priority_parameter) { { _links: { priority: { href: priority_link } } } } let(:params) { valid_params.merge(priority_parameter) } @@ -670,7 +670,7 @@ describe 'API v3 Work package resource', end context 'budget' do - let(:target_budget) { FactoryBot.create(:budget, project: project) } + let(:target_budget) { create(:budget, project: project) } let(:budget_link) { api_v3_paths.budget target_budget.id } let(:budget_parameter) { { _links: { budget: { href: budget_link } } } } let(:params) { valid_params.merge(budget_parameter) } @@ -690,7 +690,7 @@ describe 'API v3 Work package resource', end context 'not valid' do - let(:target_budget) { FactoryBot.create(:budget) } + let(:target_budget) { create(:budget) } include_context 'patch request' @@ -702,7 +702,7 @@ describe 'API v3 Work package resource', context 'list custom field' do let(:custom_field) do - FactoryBot.create(:list_wp_custom_field) + create(:list_wp_custom_field) end let(:target_value) { custom_field.possible_values.last } @@ -840,8 +840,8 @@ describe 'API v3 Work package resource', end context 'claiming attachments' do - let(:old_attachment) { FactoryBot.create(:attachment, container: work_package) } - let(:attachment) { FactoryBot.create(:attachment, container: nil, author: current_user) } + let(:old_attachment) { create(:attachment, container: work_package) } + let(:attachment) { create(:attachment, container: nil, author: current_user) } let(:params) do { lockVersion: work_package.lock_version, diff --git a/spec/requests/api/v3/work_packages/work_packages_schemas_resource_spec.rb b/spec/requests/api/v3/work_packages/work_packages_schemas_resource_spec.rb index e4420519049..ae7b7b0999e 100644 --- a/spec/requests/api/v3/work_packages/work_packages_schemas_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/work_packages_schemas_resource_spec.rb @@ -33,11 +33,11 @@ describe API::V3::WorkPackages::Schema::WorkPackageSchemasAPI, type: :request do include Rack::Test::Methods include API::V3::Utilities::PathHelper - let(:project) { FactoryBot.create(:project) } - let(:type) { FactoryBot.create(:type) } - let(:role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } + let(:project) { create(:project) } + let(:type) { create(:type) } + let(:role) { create(:role, permissions: [:view_work_packages]) } let(:current_user) do - FactoryBot.create(:user, member_in_project: project, member_through_role: role) + create(:user, member_in_project: project, member_through_role: role) end describe 'GET /api/v3/work_packages/schemas/filters=...' do @@ -119,7 +119,7 @@ describe API::V3::WorkPackages::Schema::WorkPackageSchemasAPI, type: :request do end context 'not authorized' do - let(:role) { FactoryBot.create(:role, permissions: []) } + let(:role) { create(:role, permissions: []) } it 'returns HTTP 403' do expect(last_response.status).to eql(403) diff --git a/spec/requests/auth/auth_source_sso_spec.rb b/spec/requests/auth/auth_source_sso_spec.rb index ddaa885fe50..0c72e8d062c 100644 --- a/spec/requests/auth/auth_source_sso_spec.rb +++ b/spec/requests/auth/auth_source_sso_spec.rb @@ -39,8 +39,8 @@ describe AuthSourceSSO, } end - let(:auth_source) { FactoryBot.create(:auth_source) } - let(:user) { FactoryBot.create(:user, login: 'bob', auth_source: auth_source) } + let(:auth_source) { create(:auth_source) } + let(:user) { create(:user, login: 'bob', auth_source: auth_source) } before do allow(OpenProject::Configuration) diff --git a/spec/requests/auth/oauth_login_csp_spec.rb b/spec/requests/auth/oauth_login_csp_spec.rb index bd30d51ac7d..e2abd0c3520 100644 --- a/spec/requests/auth/oauth_login_csp_spec.rb +++ b/spec/requests/auth/oauth_login_csp_spec.rb @@ -33,7 +33,7 @@ require 'spec_helper' describe 'CSP appends on login form from oauth', type: :rails_request do let!(:redirect_uri) { 'https://foobar.com' } - let!(:oauth_app) { FactoryBot.create(:oauth_application, redirect_uri: redirect_uri) } + let!(:oauth_app) { create(:oauth_application, redirect_uri: redirect_uri) } let(:oauth_path) do "/oauth/authorize?response_type=code&client_id=#{oauth_app.uid}&redirect_uri=#{CGI.escape(redirect_uri)}&scope=api_v3" end diff --git a/spec/requests/auth/token_based_access_spec.rb b/spec/requests/auth/token_based_access_spec.rb index bbd9f61b4e8..a9c446befad 100644 --- a/spec/requests/auth/token_based_access_spec.rb +++ b/spec/requests/auth/token_based_access_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe 'Token based access', type: :rails_request, with_settings: { login_required?: false } do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: work_package.project, member_with_permissions: %i[view_work_packages]) end diff --git a/spec/requests/oauth/client_credentials_flow_spec.rb b/spec/requests/oauth/client_credentials_flow_spec.rb index 837fca829f9..1f78cc5acfe 100644 --- a/spec/requests/oauth/client_credentials_flow_spec.rb +++ b/spec/requests/oauth/client_credentials_flow_spec.rb @@ -32,7 +32,7 @@ require 'rest-client' describe 'OAuth client credentials flow', type: :request do include Rack::Test::Methods - let!(:application) { FactoryBot.create(:oauth_application, client_credentials_user_id: user_id, name: 'Cool API app!') } + let!(:application) { create(:oauth_application, client_credentials_user_id: user_id, name: 'Cool API app!') } let(:client_secret) { application.plaintext_secret } let(:access_token) do @@ -62,7 +62,7 @@ describe 'OAuth client credentials flow', type: :request do end describe 'when application provides client credentials impersonator' do - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:user_id) { user.id } it 'allows client credential flow as the user' do diff --git a/spec/services/add_work_package_note_service_spec.rb b/spec/services/add_work_package_note_service_spec.rb index 785af0b3ff3..06d01a64e1a 100644 --- a/spec/services/add_work_package_note_service_spec.rb +++ b/spec/services/add_work_package_note_service_spec.rb @@ -31,8 +31,8 @@ require 'spec_helper' describe AddWorkPackageNoteService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:work_package) { FactoryBot.build_stubbed(:work_package) } + let(:user) { build_stubbed(:user) } + let(:work_package) { build_stubbed(:work_package) } let(:instance) do described_class.new(user: user, work_package: work_package) diff --git a/spec/services/api/v3/update_query_from_v3_params_service_spec.rb b/spec/services/api/v3/update_query_from_v3_params_service_spec.rb index 9b800bdf74a..afcca848d87 100644 --- a/spec/services/api/v3/update_query_from_v3_params_service_spec.rb +++ b/spec/services/api/v3/update_query_from_v3_params_service_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe ::API::V3::UpdateQueryFromV3ParamsService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:query) { FactoryBot.build_stubbed(:query) } + let(:user) { build_stubbed(:user) } + let(:query) { build_stubbed(:query) } let(:params) { double('params') } let(:parsed_params) { double('parsed_params') } diff --git a/spec/services/api/v3/work_package_collection_from_query_params_service_spec.rb b/spec/services/api/v3/work_package_collection_from_query_params_service_spec.rb index a6213d3da39..24a2288a3f0 100644 --- a/spec/services/api/v3/work_package_collection_from_query_params_service_spec.rb +++ b/spec/services/api/v3/work_package_collection_from_query_params_service_spec.rb @@ -53,9 +53,9 @@ describe ::API::V3::WorkPackageCollectionFromQueryParamsService, let(:mock_wp_collection_service_errors) { nil } let(:mock_wp_collection_service_result) { double('result') } - let(:query) { FactoryBot.build_stubbed(:query) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:query) { build_stubbed(:query) } + let(:project) { build_stubbed(:project) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(user) } diff --git a/spec/services/api/v3/work_package_collection_from_query_service_spec.rb b/spec/services/api/v3/work_package_collection_from_query_service_spec.rb index d4d228f331e..7e1ce78ac1b 100644 --- a/spec/services/api/v3/work_package_collection_from_query_service_spec.rb +++ b/spec/services/api/v3/work_package_collection_from_query_service_spec.rb @@ -33,7 +33,7 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, include API::V3::Utilities::PathHelper let(:query) do - FactoryBot.build_stubbed(:query).tap do |query| + build_stubbed(:query).tap do |query| allow(query) .to receive(:results) .and_return(results) @@ -72,8 +72,8 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, results end - let(:user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } let(:mock_wp_representer) do Struct.new(:work_packages, :self_link, @@ -152,7 +152,7 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, let(:update_query_service_errors) { nil } let(:update_query_service_result) { query } - let(:work_package) { FactoryBot.build_stubbed(:work_package) } + let(:work_package) { build_stubbed(:work_package) } let(:instance) { described_class.new(query, user) } @@ -204,7 +204,7 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, context 'self_link' do context 'if the project is nil' do - let(:query) { FactoryBot.build_stubbed(:query, project: nil) } + let(:query) { build_stubbed(:query, project: nil) } it 'is the global work_package link' do expect(subject.self_link) @@ -213,7 +213,7 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, end context 'if the project is set' do - let(:query) { FactoryBot.build_stubbed(:query, project: project) } + let(:query) { build_stubbed(:query, project: project) } it 'is the global work_package link' do expect(subject.self_link) @@ -243,8 +243,8 @@ describe ::API::V3::WorkPackageCollectionFromQueryService, it 'has a struct containing the sums and the available custom fields' do query.display_sums = true - custom_fields = [FactoryBot.build_stubbed(:text_wp_custom_field), - FactoryBot.build_stubbed(:int_wp_custom_field)] + custom_fields = [build_stubbed(:text_wp_custom_field), + build_stubbed(:int_wp_custom_field)] allow(WorkPackageCustomField) .to receive(:summable) diff --git a/spec/services/attachments/create_service_integration_spec.rb b/spec/services/attachments/create_service_integration_spec.rb index bafc814d904..b7a9ddaedf0 100644 --- a/spec/services/attachments/create_service_integration_spec.rb +++ b/spec/services/attachments/create_service_integration_spec.rb @@ -43,9 +43,9 @@ describe Attachments::CreateService, 'integration', with_settings: { journal_agg end context 'when journalized' do - shared_let(:container) { FactoryBot.create(:work_package) } + shared_let(:container) { create(:work_package) } shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: container.project, member_with_permissions: %i[view_work_packages edit_work_packages] end @@ -106,9 +106,9 @@ describe Attachments::CreateService, 'integration', with_settings: { journal_agg end context 'when not journalized' do - shared_let(:container) { FactoryBot.create(:message) } + shared_let(:container) { create(:message) } shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: container.forum.project, member_with_permissions: %i[add_messages edit_messages] end @@ -160,7 +160,7 @@ describe Attachments::CreateService, 'integration', with_settings: { journal_agg context "when uncontainered" do let(:container) { nil } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do call_tested_method @@ -175,7 +175,7 @@ describe Attachments::CreateService, 'integration', with_settings: { journal_agg context "when user with no permissions" do let(:container) { nil } - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'does not save an attachment' do expect do diff --git a/spec/services/attachments/delete_service_integration_spec.rb b/spec/services/attachments/delete_service_integration_spec.rb index d610c09a547..1ebca7087df 100644 --- a/spec/services/attachments/delete_service_integration_spec.rb +++ b/spec/services/attachments/delete_service_integration_spec.rb @@ -33,17 +33,17 @@ describe Attachments::DeleteService, 'integration', with_settings: { journal_agg subject(:call) { described_class.new(model: attachment, user: user).call } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: permissions) end - let(:project) { FactoryBot.create(:project) } - let(:attachment) { FactoryBot.create(:attachment, container: container, author: author) } + let(:project) { create(:project) } + let(:attachment) { create(:attachment, container: container, author: author) } let(:author) { user } describe '#call' do context 'when container is journalized' do - let(:container) { FactoryBot.create(:work_package, project: project) } + let(:container) { create(:work_package, project: project) } let(:permissions) { %i[edit_work_packages] } shared_examples 'successful deletion' do @@ -102,8 +102,8 @@ describe Attachments::DeleteService, 'integration', with_settings: { journal_agg end context 'when not journalized' do - let(:container) { FactoryBot.create(:message, forum: forum) } - let(:forum) { FactoryBot.create(:forum, project: project)} + let(:container) { create(:message, forum: forum) } + let(:forum) { create(:forum, project: project)} let(:permissions) { %i[delete_messages edit_messages] } shared_examples 'successful deletion' do @@ -168,7 +168,7 @@ describe Attachments::DeleteService, 'integration', with_settings: { journal_agg end context 'with the user not being the attachment author' do - let(:author) { FactoryBot.create(:user) } + let(:author) { create(:user) } it 'fails' do expect(call) diff --git a/spec/services/attachments/prepare_upload_service_integration_spec.rb b/spec/services/attachments/prepare_upload_service_integration_spec.rb index 56d8062f64f..4f08f0f0e14 100644 --- a/spec/services/attachments/prepare_upload_service_integration_spec.rb +++ b/spec/services/attachments/prepare_upload_service_integration_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Attachments::PrepareUploadService, 'integration' do - shared_let(:container) { FactoryBot.create(:work_package) } + shared_let(:container) { create(:work_package) } shared_let(:user) do - FactoryBot.create :user, + create :user, member_in_project: container.project, member_with_permissions: %i[view_work_packages edit_work_packages] end diff --git a/spec/services/authentication/omniauth_service_spec.rb b/spec/services/authentication/omniauth_service_spec.rb index af057bd438e..b231219b422 100644 --- a/spec/services/authentication/omniauth_service_spec.rb +++ b/spec/services/authentication/omniauth_service_spec.rb @@ -89,7 +89,7 @@ describe Authentication::OmniauthService do let(:call) { instance.call } context 'with an active found user' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } before do expect(instance).to receive(:find_existing_user).and_return(user) @@ -133,7 +133,7 @@ describe Authentication::OmniauthService do context 'with an active user remapped', with_settings: { oauth_allow_remapping_of_existing_users?: true } do - let(:user) { FactoryBot.build_stubbed :user, identity_url: 'foo' } + let(:user) { build_stubbed :user, identity_url: 'foo' } before do # Regular find diff --git a/spec/services/authorization/user_allowed_query_spec.rb b/spec/services/authorization/user_allowed_query_spec.rb index 2e043d171de..881d88ce457 100644 --- a/spec/services/authorization/user_allowed_query_spec.rb +++ b/spec/services/authorization/user_allowed_query_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe Authorization::UserAllowedQuery do describe '.query' do let(:user) { member.principal } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:project) { FactoryBot.build(:project, public: false) } - let(:project2) { FactoryBot.build(:project, public: false) } - let(:role) { FactoryBot.build(:role) } - let(:role2) { FactoryBot.build(:role) } - let(:anonymous_role) { FactoryBot.build(:anonymous_role) } - let(:non_member_role) { FactoryBot.build(:non_member) } + let(:anonymous) { build(:anonymous) } + let(:project) { build(:project, public: false) } + let(:project2) { build(:project, public: false) } + let(:role) { build(:role) } + let(:role2) { build(:role) } + let(:anonymous_role) { build(:anonymous_role) } + let(:non_member_role) { build(:non_member) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role]) end diff --git a/spec/services/authorization/user_allowed_service_spec.rb b/spec/services/authorization/user_allowed_service_spec.rb index 5af29575d8e..3251cdf25ba 100644 --- a/spec/services/authorization/user_allowed_service_spec.rb +++ b/spec/services/authorization/user_allowed_service_spec.rb @@ -29,13 +29,13 @@ require 'spec_helper' describe Authorization::UserAllowedService do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(user) } let(:action) { :an_action } let(:action_hash) { { controller: '/controller', action: 'action' } } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:other_project) { FactoryBot.build_stubbed(:project) } - let(:role) { FactoryBot.build_stubbed(:role) } + let(:project) { build_stubbed(:project) } + let(:other_project) { build_stubbed(:project) } + let(:role) { build_stubbed(:role) } let(:user_roles_in_project) do array = [role] allow(array) diff --git a/spec/services/authorization/user_global_roles_query_spec.rb b/spec/services/authorization/user_global_roles_query_spec.rb index 1e6626240e4..5a22f9ecc24 100644 --- a/spec/services/authorization/user_global_roles_query_spec.rb +++ b/spec/services/authorization/user_global_roles_query_spec.rb @@ -29,32 +29,32 @@ require 'spec_helper' describe Authorization::UserGlobalRolesQuery do - let(:user) { FactoryBot.build(:user) } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:project) { FactoryBot.build(:project, public: false) } - let(:project2) { FactoryBot.build(:project, public: false) } - let(:public_project) { FactoryBot.build(:project, public: true) } - let(:role) { FactoryBot.build(:role) } - let(:role2) { FactoryBot.build(:role) } - let(:anonymous_role) { FactoryBot.build(:anonymous_role) } - let(:non_member) { FactoryBot.build(:non_member) } + let(:user) { build(:user) } + let(:anonymous) { build(:anonymous) } + let(:project) { build(:project, public: false) } + let(:project2) { build(:project, public: false) } + let(:public_project) { build(:project, public: true) } + let(:role) { build(:role) } + let(:role2) { build(:role) } + let(:anonymous_role) { build(:anonymous_role) } + let(:non_member) { build(:non_member) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role], principal: user) end let(:member2) do - FactoryBot.build(:member, project: project2, + build(:member, project: project2, roles: [role2], principal: user) end let(:global_permission) { OpenProject::AccessControl.permissions.find { |p| p.global? } } let(:global_role) do - FactoryBot.build(:global_role, + build(:global_role, permissions: [global_permission.name]) end let(:global_member) do - FactoryBot.build(:global_member, + build(:global_member, principal: user, roles: [global_role]) end diff --git a/spec/services/authorization/user_project_roles_query_spec.rb b/spec/services/authorization/user_project_roles_query_spec.rb index ee54ae69319..09a2134e027 100644 --- a/spec/services/authorization/user_project_roles_query_spec.rb +++ b/spec/services/authorization/user_project_roles_query_spec.rb @@ -29,22 +29,22 @@ require 'spec_helper' describe Authorization::UserProjectRolesQuery do - let(:user) { FactoryBot.build(:user) } - let(:anonymous) { FactoryBot.build(:anonymous) } - let(:project) { FactoryBot.build(:project, public: false) } - let(:project2) { FactoryBot.build(:project, public: false) } - let(:public_project) { FactoryBot.build(:project, public: true) } - let(:role) { FactoryBot.build(:role) } - let(:role2) { FactoryBot.build(:role) } - let(:anonymous_role) { FactoryBot.build(:anonymous_role) } - let(:non_member) { FactoryBot.build(:non_member) } + let(:user) { build(:user) } + let(:anonymous) { build(:anonymous) } + let(:project) { build(:project, public: false) } + let(:project2) { build(:project, public: false) } + let(:public_project) { build(:project, public: true) } + let(:role) { build(:role) } + let(:role2) { build(:role) } + let(:anonymous_role) { build(:anonymous_role) } + let(:non_member) { build(:non_member) } let(:member) do - FactoryBot.build(:member, project: project, + build(:member, project: project, roles: [role], principal: user) end let(:member2) do - FactoryBot.build(:member, project: project2, + build(:member, project: project2, roles: [role2], principal: user) end diff --git a/spec/services/backups/create_service_spec.rb b/spec/services/backups/create_service_spec.rb index ae5dcb745fe..e9e06a0ad87 100644 --- a/spec/services/backups/create_service_spec.rb +++ b/spec/services/backups/create_service_spec.rb @@ -32,9 +32,9 @@ require 'spec_helper' require 'services/base_services/behaves_like_create_service' describe Backups::CreateService, type: :model do - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } let(:service) { described_class.new user: user, backup_token: backup_token.plain_value } - let(:backup_token) { FactoryBot.create :backup_token, user: user } + let(:backup_token) { create :backup_token, user: user } it_behaves_like 'BaseServices create service' do let(:instance) { service } @@ -66,7 +66,7 @@ describe Backups::CreateService, type: :model do end context "with missing permission" do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } it "does not enqueue a BackupJob" do expect { expect(service.call).to be_failure }.not_to have_enqueued_job(BackupJob) diff --git a/spec/services/base_services/behaves_like_create_service.rb b/spec/services/base_services/behaves_like_create_service.rb index d5f280c9c6c..3257db50d5d 100644 --- a/spec/services/base_services/behaves_like_create_service.rb +++ b/spec/services/base_services/behaves_like_create_service.rb @@ -40,7 +40,7 @@ shared_examples 'BaseServices create service' do let(:set_attributes_class) { "#{namespace}::SetAttributesService".constantize } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) do described_class.new(user: user, contract_class: contract_class) end @@ -56,7 +56,7 @@ shared_examples 'BaseServices create service' do success: set_attributes_success, errors: set_attributes_errors end - let!(:model_instance) { FactoryBot.build_stubbed(factory) } + let!(:model_instance) { build_stubbed(factory) } let!(:set_attributes_service) do service = double('set_attributes_service_instance') diff --git a/spec/services/base_services/behaves_like_delete_service.rb b/spec/services/base_services/behaves_like_delete_service.rb index 52445fea433..a6d118d8fcd 100644 --- a/spec/services/base_services/behaves_like_delete_service.rb +++ b/spec/services/base_services/behaves_like_delete_service.rb @@ -51,12 +51,12 @@ shared_examples 'BaseServices delete service' do end let(:factory) { namespace.singularize.underscore } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) do described_class.new(user: user, model: model_instance, contract_class: contract_class) end let(:call_attributes) { {} } - let!(:model_instance) { FactoryBot.build_stubbed(factory) } + let!(:model_instance) { build_stubbed(factory) } let(:model_destroy_result) { true } let(:contract_validate_result) { true } diff --git a/spec/services/base_services/behaves_like_update_service.rb b/spec/services/base_services/behaves_like_update_service.rb index bdf1ed9f056..179498a83a8 100644 --- a/spec/services/base_services/behaves_like_update_service.rb +++ b/spec/services/base_services/behaves_like_update_service.rb @@ -39,7 +39,7 @@ shared_examples 'BaseServices update service' do let(:set_attributes_class) { "#{namespace}::SetAttributesService".constantize } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do double('contract_class', '<=': true) end @@ -60,7 +60,7 @@ shared_examples 'BaseServices update service' do success: set_attributes_success, errors: set_attributes_errors end - let!(:model_instance) { FactoryBot.build_stubbed(factory) } + let!(:model_instance) { build_stubbed(factory) } let!(:set_attributes_service) do service = double('set_attributes_service_instance') diff --git a/spec/services/create_type_service_spec.rb b/spec/services/create_type_service_spec.rb index 0f9c929c54e..d32c901346a 100644 --- a/spec/services/create_type_service_spec.rb +++ b/spec/services/create_type_service_spec.rb @@ -33,7 +33,7 @@ require 'services/shared_type_service' describe CreateTypeService do let(:type) { instance.type } - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } let(:instance) { described_class.new(user) } let(:service_call) { instance.call({ name: 'foo' }.merge(params), {}) } diff --git a/spec/services/custom_actions/update_service_spec.rb b/spec/services/custom_actions/update_service_spec.rb index efe99e28bc4..8341d17a189 100644 --- a/spec/services/custom_actions/update_service_spec.rb +++ b/spec/services/custom_actions/update_service_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe CustomActions::UpdateService do let(:action) do - action = FactoryBot.build_stubbed(:custom_action) + action = build_stubbed(:custom_action) allow(action) .to receive(:save) @@ -40,7 +40,7 @@ describe CustomActions::UpdateService do action end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:save_success) { true } let(:contract_success) { true } let(:contract_errors) { double('contract errors') } @@ -155,8 +155,8 @@ describe CustomActions::UpdateService do end it 'updates the conditions' do - old_status = FactoryBot.create(:status) - new_status = FactoryBot.create(:status) + old_status = create(:status) + new_status = create(:status) action.conditions = [CustomActions::Conditions::Status.new(old_status.id)] diff --git a/spec/services/custom_actions/update_work_package_service_spec.rb b/spec/services/custom_actions/update_work_package_service_spec.rb index 0ba57057f50..e92ef766eb8 100644 --- a/spec/services/custom_actions/update_work_package_service_spec.rb +++ b/spec/services/custom_actions/update_work_package_service_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe CustomActions::UpdateWorkPackageService do let(:custom_action) do - action = FactoryBot.build_stubbed(:custom_action) + action = build_stubbed(:custom_action) allow(action) .to receive(:actions) @@ -62,7 +62,7 @@ describe CustomActions::UpdateWorkPackageService do action end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) { described_class.new(action: custom_action, user: user) } let(:update_service_call_implementation) do -> do @@ -84,7 +84,7 @@ describe CustomActions::UpdateWorkPackageService do wp_service_instance end - let(:work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:work_package) { build_stubbed(:stubbed_work_package) } let(:result) do ServiceResult.new(result: work_package, success: true) end diff --git a/spec/services/custom_fields/create_service_spec.rb b/spec/services/custom_fields/create_service_spec.rb index dc7f22c8d1c..2a269eb4b4f 100644 --- a/spec/services/custom_fields/create_service_spec.rb +++ b/spec/services/custom_fields/create_service_spec.rb @@ -34,7 +34,7 @@ require 'services/base_services/behaves_like_create_service' describe CustomFields::CreateService, type: :model do it_behaves_like 'BaseServices create service' do context 'when creating a project cf' do - let(:model_instance) { FactoryBot.build_stubbed :project_custom_field } + let(:model_instance) { build_stubbed :project_custom_field } it 'modifies the settings on successful call' do subject diff --git a/spec/services/custom_fields/set_attributes_service_spec.rb b/spec/services/custom_fields/set_attributes_service_spec.rb index a9ad71339a0..8c65d955c11 100644 --- a/spec/services/custom_fields/set_attributes_service_spec.rb +++ b/spec/services/custom_fields/set_attributes_service_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe CustomFields::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_instance) do contract = double('contract_instance') allow(contract) diff --git a/spec/services/groups/add_users_service_integration_spec.rb b/spec/services/groups/add_users_service_integration_spec.rb index cded240acce..1c201e61c5c 100644 --- a/spec/services/groups/add_users_service_integration_spec.rb +++ b/spec/services/groups/add_users_service_integration_spec.rb @@ -31,18 +31,18 @@ require 'spec_helper' describe Groups::AddUsersService, 'integration', type: :model do subject(:service_call) { instance.call(ids: user_ids, message: message) } - let(:projects) { FactoryBot.create_list :project, 2 } - let(:role) { FactoryBot.create :role } - let(:admin) { FactoryBot.create :admin } + let(:projects) { create_list :project, 2 } + let(:role) { create :role } + let(:admin) { create :admin } let!(:group) do - FactoryBot.create :group, + create :group, member_in_projects: projects, member_through_role: role end - let(:user1) { FactoryBot.create :user } - let(:user2) { FactoryBot.create :user } + let(:user1) { create :user } + let(:user2) { create :user } let(:user_ids) { [user1.id, user2.id] } let(:message) { 'Some message' } @@ -95,7 +95,7 @@ describe Groups::AddUsersService, 'integration', type: :model do before do group # The group is now invalid as it has no cv for this field - FactoryBot.create(:custom_field, type: 'GroupCustomField', is_required: true, field_format: 'int') + create(:custom_field, type: 'GroupCustomField', is_required: true, field_format: 'int') end it_behaves_like 'adds the users to the group and project' @@ -108,7 +108,7 @@ describe Groups::AddUsersService, 'integration', type: :model do 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 - FactoryBot.create(:member, + create(:member, project: previous_project, roles: [role], principal: user1) @@ -134,18 +134,18 @@ describe Groups::AddUsersService, 'integration', type: :model do end context 'when the user was already a member in a project with only one role the group adds' do - let(:project) { FactoryBot.create(:project) } - let(:roles) { FactoryBot.create_list(:role, 2) } + let(:project) { create(:project) } + let(:roles) { create_list(:role, 2) } let!(:group) do - FactoryBot.create :group do |g| - FactoryBot.create(:member, + create :group do |g| + create(:member, project: project, principal: g, roles: roles) end end let!(:user_member) do - FactoryBot.create(:member, + create(:member, project: project, roles: [roles.first], principal: user1) @@ -177,10 +177,10 @@ describe Groups::AddUsersService, 'integration', type: :model do end context 'when the user was already a member in a project with a different role' do - let(:other_role) { FactoryBot.create(:role) } + let(:other_role) { create(:role) } let(:previous_project) { projects.first } let!(:user_member) do - FactoryBot.create(:member, + create(:member, project: previous_project, roles: [other_role], principal: user1) 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 3f649ba9e2a..7c3085b5802 100644 --- a/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb +++ b/spec/services/groups/cleanup_inherited_roles_service_integration_spec.rb @@ -34,17 +34,17 @@ describe Groups::CleanupInheritedRolesService, 'integration', type: :model do instance.call(params) end - let(:project) { FactoryBot.create :project } - let(:role) { FactoryBot.create :role } - let(:current_user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:role) { create :role } + let(:current_user) { create :admin } let(:roles) { [role] } let(:params) { { message: message } } let(:message) { "Some message" } let!(:group) do - FactoryBot.create(:group, + create(:group, members: users).tap do |group| - FactoryBot.create(:member, + create(:member, project: project, principal: group, roles: roles) @@ -54,7 +54,7 @@ describe Groups::CleanupInheritedRolesService, 'integration', type: :model do .call(ids: users.map(&:id)) end end - let(:users) { FactoryBot.create_list :user, 2 } + let(:users) { create_list :user, 2 } let(:member) { Member.find_by(principal: group) } let(:instance) do @@ -103,7 +103,7 @@ describe Groups::CleanupInheritedRolesService, 'integration', type: :model do end context 'when also having own roles' do - let(:another_role) { FactoryBot.create(:role) } + let(:another_role) { create(:role) } let!(:first_user_member) do group Member.find_by(principal: users.first).tap do |m| @@ -145,7 +145,7 @@ describe Groups::CleanupInheritedRolesService, 'integration', type: :model do end context 'when the user has had the role added by the group before' do - let(:another_role) { FactoryBot.create(:role) } + let(:another_role) { create(:role) } let!(:first_user_member) do Member.find_by(principal: users.first).tap do |m| m.member_roles.create(role: role) diff --git a/spec/services/groups/set_attributes_service_spec.rb b/spec/services/groups/set_attributes_service_spec.rb index e553171bc0c..32a31355c05 100644 --- a/spec/services/groups/set_attributes_service_spec.rb +++ b/spec/services/groups/set_attributes_service_spec.rb @@ -33,7 +33,7 @@ require 'spec_helper' describe Groups::SetAttributesService, type: :model do subject(:service_call) { instance.call(call_attributes) } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -59,7 +59,7 @@ describe Groups::SetAttributesService, type: :model do end let(:call_attributes) { {} } let(:group) do - FactoryBot.build_stubbed(:group) do |g| + build_stubbed(:group) do |g| # To later check that it has not been called allow(g) .to receive(:save) @@ -108,13 +108,13 @@ describe Groups::SetAttributesService, type: :model do name: 'My new group name' } end - let(:first_user) { FactoryBot.build_stubbed(:user) } - let(:second_user) { FactoryBot.build_stubbed(:user) } - let(:first_group_user) { FactoryBot.build_stubbed(:group_user, user: first_user) } - let(:second_group_user) { FactoryBot.build_stubbed(:group_user, user: second_user) } + let(:first_user) { build_stubbed(:user) } + let(:second_user) { build_stubbed(:user) } + let(:first_group_user) { build_stubbed(:group_user, user: first_user) } + let(:second_group_user) { build_stubbed(:group_user, user: second_user) } let(:group) do - FactoryBot.build_stubbed(:group, group_users: [first_group_user, second_group_user]) + build_stubbed(:group, group_users: [first_group_user, second_group_user]) end let(:updated_group) do @@ -131,9 +131,9 @@ describe Groups::SetAttributesService, type: :model do end context 'with changes to the users do' do - let(:first_user) { FactoryBot.build_stubbed(:user) } - let(:second_user) { FactoryBot.build_stubbed(:user) } - let(:third_user) { FactoryBot.build_stubbed(:user) } + let(:first_user) { build_stubbed(:user) } + let(:second_user) { build_stubbed(:user) } + let(:third_user) { build_stubbed(:user) } let(:call_attributes) do { @@ -142,11 +142,11 @@ describe Groups::SetAttributesService, type: :model do end shared_examples_for 'updates the users' do - let(:first_group_user) { FactoryBot.build_stubbed(:group_user, user: first_user) } - let(:second_group_user) { FactoryBot.build_stubbed(:group_user, user: second_user) } + let(:first_group_user) { build_stubbed(:group_user, user: first_user) } + let(:second_group_user) { build_stubbed(:group_user, user: second_user) } let(:group) do - FactoryBot.build_stubbed(:group, group_users: [first_group_user, second_group_user]) + build_stubbed(:group, group_users: [first_group_user, second_group_user]) end it 'adds the new 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 b966ed747ad..1aa22003e3f 100644 --- a/spec/services/groups/update_roles_service_integration_spec.rb +++ b/spec/services/groups/update_roles_service_integration_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe Groups::UpdateRolesService, 'integration', type: :model do subject(:service_call) { instance.call(member: member, message: message) } - let(:project) { FactoryBot.create :project } - let(:role) { FactoryBot.create :role } - let(:current_user) { FactoryBot.create :admin } + let(:project) { create :project } + let(:role) { create :role } + let(:current_user) { create :admin } let(:roles) { [role] } let!(:group) do - FactoryBot.create(:group, + create(:group, members: users).tap do |group| - FactoryBot.create(:member, + create(:member, project: project, principal: group, roles: roles) @@ -49,7 +49,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do .call(ids: users.map(&:id)) end end - let(:users) { FactoryBot.create_list :user, 2 } + let(:users) { create_list :user, 2 } let(:member) { Member.find_by(principal: group) } let(:message) { "Some message" } @@ -89,7 +89,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when adding a role' do - let(:added_role) { FactoryBot.create(:role) } + let(:added_role) { create(:role) } before do member.roles << added_role @@ -115,7 +115,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when adding a role but with one user having had the role before (no inherited from)' do - let(:added_role) { FactoryBot.create(:role) } + let(:added_role) { create(:role) } before do member.roles << added_role @@ -156,7 +156,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when removing a role' do - let(:roles) { [role, FactoryBot.create(:role)] } + let(:roles) { [role, create(:role)] } before do member.roles = [role] @@ -182,7 +182,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when removing a role but with a user having had the role before (no inherited_from)' do - let(:roles) { [role, FactoryBot.create(:role)] } + let(:roles) { [role, create(:role)] } before do member.roles = [role] @@ -224,7 +224,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when replacing roles' do - let(:replacement_role) { FactoryBot.create(:role) } + let(:replacement_role) { create(:role) } before do member.roles = [replacement_role] @@ -250,7 +250,7 @@ describe Groups::UpdateRolesService, 'integration', type: :model do end context 'when replacing a role but with a user having had the replaced role before (no inherited_from)' do - let(:replacement_role) { FactoryBot.create(:role) } + let(:replacement_role) { create(:role) } before do member.roles = [replacement_role] diff --git a/spec/services/groups/update_service_spec.rb b/spec/services/groups/update_service_spec.rb index c1d955e1a42..f57b04b0e67 100644 --- a/spec/services/groups/update_service_spec.rb +++ b/spec/services/groups/update_service_spec.rb @@ -52,9 +52,9 @@ describe Groups::UpdateService, type: :model do end context 'with newly created group_users' do - let(:old_group_user) { FactoryBot.build_stubbed(:group_user, user_id: 3) } + let(:old_group_user) { build_stubbed(:group_user, user_id: 3) } let(:new_group_user) do - FactoryBot.build_stubbed(:group_user, user_id: 5).tap do |gu| + build_stubbed(:group_user, user_id: 5).tap do |gu| allow(gu) .to receive(:saved_changes?) .and_return(true) diff --git a/spec/services/members/cleanup_service_integration_spec.rb b/spec/services/members/cleanup_service_integration_spec.rb index d73bbba97d3..6b74f3087f8 100644 --- a/spec/services/members/cleanup_service_integration_spec.rb +++ b/spec/services/members/cleanup_service_integration_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Members::CleanupService, 'integration', type: :model do subject(:service_call) { instance.call } - let(:user) { FactoryBot.create(:user) } + let(:user) { create(:user) } let(:users) { [user] } - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:projects) { [project]} let(:instance) do described_class.new(users, projects) @@ -41,7 +41,7 @@ describe Members::CleanupService, 'integration', type: :model do describe 'category unassignment' do let!(:category) do - FactoryBot.build(:category, project: project, assigned_to: user).tap do |c| + build(:category, project: project, assigned_to: user).tap do |c| c.save(validate: false) end end @@ -55,10 +55,10 @@ describe Members::CleanupService, 'integration', type: :model do context 'with the user having a membership with an assignable role' do before do - FactoryBot.create(:member, + create(:member, principal: user, project: project, - roles: [FactoryBot.create(:role, assignable: true)]) + roles: [create(:role, assignable: true)]) end it 'keeps assigned_to to the user' do @@ -71,10 +71,10 @@ describe Members::CleanupService, 'integration', type: :model do context 'with the user having a membership with an unassignable role' do before do - FactoryBot.create(:member, + create(:member, principal: user, project: project, - roles: [FactoryBot.create(:role, assignable: false)]) + roles: [create(:role, assignable: false)]) end it 'sets assigned_to to nil' do @@ -88,11 +88,11 @@ describe Members::CleanupService, 'integration', type: :model do describe 'watcher pruning' do let(:work_package) do - FactoryBot.create :work_package, + create :work_package, project: project end let!(:watcher) do - FactoryBot.build(:watcher, + build(:watcher, watchable: work_package, user: user) do |w| w.save(validate: false) @@ -108,10 +108,10 @@ describe Members::CleanupService, 'integration', type: :model do context 'with the user having a membership granting the right to view the watchable' do before do - FactoryBot.create(:member, + create(:member, principal: user, project: project, - roles: [FactoryBot.create(:role, permissions: [:view_work_packages])]) + roles: [create(:role, permissions: [:view_work_packages])]) end it 'keeps the watcher' do @@ -124,10 +124,10 @@ describe Members::CleanupService, 'integration', type: :model do context 'with the user having a membership not granting the right to view the watchable' do before do - FactoryBot.create(:member, + create(:member, principal: user, project: project, - roles: [FactoryBot.create(:role, permissions: [])]) + roles: [create(:role, permissions: [])]) end it 'keeps the watcher' do diff --git a/spec/services/members/delete_service_spec.rb b/spec/services/members/delete_service_spec.rb index ede1067831c..b62129ea803 100644 --- a/spec/services/members/delete_service_spec.rb +++ b/spec/services/members/delete_service_spec.rb @@ -68,7 +68,7 @@ describe ::Members::DeleteService, type: :model do end context 'when the model`s principal is a group' do - let(:principal) { FactoryBot.build_stubbed(:group) } + let(:principal) { build_stubbed(:group) } let!(:cleanup_inherited_roles_service_instance) do instance = instance_double(Groups::CleanupInheritedRolesService, call: nil) diff --git a/spec/services/members/set_attributes_service_spec.rb b/spec/services/members/set_attributes_service_spec.rb index 6f8de9474c6..b8fbf12cab2 100644 --- a/spec/services/members/set_attributes_service_spec.rb +++ b/spec/services/members/set_attributes_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Members::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -57,7 +57,7 @@ describe Members::SetAttributesService, type: :model do end let(:call_attributes) { {} } let(:member) do - FactoryBot.build_stubbed(:member) + build_stubbed(:member) end describe 'call' do @@ -99,9 +99,9 @@ describe Members::SetAttributesService, type: :model do end context 'with changes to the roles do' do - let(:first_role) { FactoryBot.build_stubbed(:role) } - let(:second_role) { FactoryBot.build_stubbed(:role) } - let(:third_role) { FactoryBot.build_stubbed(:role) } + let(:first_role) { build_stubbed(:role) } + let(:second_role) { build_stubbed(:role) } + let(:third_role) { build_stubbed(:role) } let(:call_attributes) do { @@ -111,7 +111,7 @@ describe Members::SetAttributesService, type: :model do context 'with a persisted record' do let(:member) do - FactoryBot.build_stubbed(:member, roles: [first_role, second_role]).tap do |m| + build_stubbed(:member, roles: [first_role, second_role]).tap do |m| allow(m) .to receive(:touch) end diff --git a/spec/services/messages/set_attributes_service_spec.rb b/spec/services/messages/set_attributes_service_spec.rb index 5e973444329..3ebbcbd6a77 100644 --- a/spec/services/messages/set_attributes_service_spec.rb +++ b/spec/services/messages/set_attributes_service_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe Messages::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:forum) { FactoryBot.build_stubbed(:forum) } + let(:user) { build_stubbed(:user) } + let(:forum) { build_stubbed(:forum) } let(:contract_instance) do contract = double('contract_instance') allow(contract) diff --git a/spec/services/notifications/create_from_journal_job_shared.rb b/spec/services/notifications/create_from_journal_job_shared.rb index 9f7adbb0b59..9955d980861 100644 --- a/spec/services/notifications/create_from_journal_job_shared.rb +++ b/spec/services/notifications/create_from_journal_job_shared.rb @@ -30,22 +30,22 @@ require 'spec_helper' shared_context 'with CreateFromJournalJob context' do - shared_let(:project) { FactoryBot.create(:project_with_types) } + shared_let(:project) { create(:project_with_types) } let(:permissions) { [] } let(:recipient) do - FactoryBot.create(:user, + create(:user, notification_settings: recipient_notification_settings, member_in_project: project, - member_through_role: FactoryBot.create(:role, permissions: permissions), + member_through_role: create(:role, permissions: permissions), login: recipient_login) end let(:recipient_login) { "johndoe" } let(:other_user) do notification_settings = [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] - FactoryBot.create(:user, + create(:user, notification_settings: notification_settings) end let(:notification_settings_all_false) do @@ -62,7 +62,7 @@ shared_context 'with CreateFromJournalJob context' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end let(:send_notifications) { true } @@ -76,7 +76,7 @@ shared_context 'with CreateFromJournalJob context' do mail_reminder_sent: false } end - let(:notification) { FactoryBot.build_stubbed(:notification) } + let(:notification) { build_stubbed(:notification) } it 'creates a notification and returns it' do notifications_service = instance_double(Notifications::CreateService) diff --git a/spec/services/notifications/create_from_model_service_comment_spec.rb b/spec/services/notifications/create_from_model_service_comment_spec.rb index 7b2e3ee634f..ce11442fcc5 100644 --- a/spec/services/notifications/create_from_model_service_comment_spec.rb +++ b/spec/services/notifications/create_from_model_service_comment_spec.rb @@ -37,14 +37,14 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour include_context 'with CreateFromJournalJob context' - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:news) { FactoryBot.create(:news, project: project) } + shared_let(:project) { create(:project) } + shared_let(:news) { create(:news, project: project) } let(:permissions) { [] } let(:send_notifications) { true } let(:resource) do - FactoryBot.create(:comment, + create(:comment, commented: news, author: author, comments: 'Some text') @@ -78,7 +78,7 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -88,7 +88,7 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -98,7 +98,7 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour context 'with the user having registered for watcher notifications and watching the news' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -121,7 +121,7 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour context 'with the user not having registered for watcher notifications and watching the news' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -135,7 +135,7 @@ describe Notifications::CreateFromModelService, 'comment', with_settings: { jour context 'with the user having registered for watcher notifications and not watching the news' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end diff --git a/spec/services/notifications/create_from_model_service_message_spec.rb b/spec/services/notifications/create_from_model_service_message_spec.rb index a9e979679b4..8ee77fa20b9 100644 --- a/spec/services/notifications/create_from_model_service_message_spec.rb +++ b/spec/services/notifications/create_from_model_service_message_spec.rb @@ -37,21 +37,21 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour include_context 'with CreateFromJournalJob context' - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:forum) { FactoryBot.create(:forum, project: project) } + shared_let(:project) { create(:project) } + shared_let(:forum) { create(:forum, project: project) } let(:permissions) { [:view_messages] } let(:send_notifications) { true } let(:resource) do - FactoryBot.create(:message, + create(:message, forum: forum, parent: root_message) end let(:journal) { resource.journals.last } let(:author) { other_user } let(:root_message) do - FactoryBot.create(:message, + create(:message, forum: forum) end @@ -79,7 +79,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -89,7 +89,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -99,7 +99,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and watching the forum' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -122,7 +122,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user not having registered for watcher notifications and watching the forum' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -136,7 +136,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and not watching the forum nor root message' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -146,7 +146,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and watching the root' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -169,7 +169,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user not having registered for watcher notifications and watching the root' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -211,7 +211,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -221,7 +221,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -231,7 +231,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and watching the forum' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -254,7 +254,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user not having registered for watcher notifications and watching the forum' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -268,7 +268,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and not watching the forum nor root message' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -278,7 +278,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user having registered for watcher notifications and watching the root' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -301,7 +301,7 @@ describe Notifications::CreateFromModelService, 'message', with_settings: { jour context 'with the user not having registered for watcher notifications and watching the root' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end diff --git a/spec/services/notifications/create_from_model_service_news_spec.rb b/spec/services/notifications/create_from_model_service_news_spec.rb index b6c35420ed2..36c9f391088 100644 --- a/spec/services/notifications/create_from_model_service_news_spec.rb +++ b/spec/services/notifications/create_from_model_service_news_spec.rb @@ -37,9 +37,9 @@ describe Notifications::CreateFromModelService, 'news', with_settings: { journal include_context 'with CreateFromJournalJob context' - let(:journable) { FactoryBot.build_stubbed(:news) } + let(:journable) { build_stubbed(:news) } - let(:resource) { FactoryBot.create(:news, project: project) } + let(:resource) { create(:news, project: project) } # view_news is a public permission let(:permissions) { [] } @@ -71,7 +71,7 @@ describe Notifications::CreateFromModelService, 'news', with_settings: { journal context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -81,7 +81,7 @@ describe Notifications::CreateFromModelService, 'news', with_settings: { journal context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end diff --git a/spec/services/notifications/create_from_model_service_wiki_spec.rb b/spec/services/notifications/create_from_model_service_wiki_spec.rb index a7322f8ac8d..eefa51e2d05 100644 --- a/spec/services/notifications/create_from_model_service_wiki_spec.rb +++ b/spec/services/notifications/create_from_model_service_wiki_spec.rb @@ -37,16 +37,16 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal include_context 'with CreateFromJournalJob context' - shared_let(:project) { FactoryBot.create(:project) } - shared_let(:wiki) { FactoryBot.create(:wiki, project: project) } + shared_let(:project) { create(:project) } + shared_let(:wiki) { create(:wiki, project: project) } let(:permissions) { [:view_wiki_pages] } let(:send_notifications) { true } let(:wiki_page) do - FactoryBot.create(:wiki_page, + create(:wiki_page, wiki: wiki, - content: FactoryBot.build(:wiki_content, + content: build(:wiki_content, author: other_user)) end let(:resource) { wiki_page.content } @@ -77,7 +77,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -87,7 +87,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -97,7 +97,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for watcher notifications and watching the wiki' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -120,7 +120,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user not having registered for watcher notifications and watching the wiki' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -134,7 +134,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for watcher notifications and not watching the wiki' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -170,7 +170,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for involved notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -180,7 +180,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for no notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -190,7 +190,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for watcher notifications and watching the wiki' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -213,7 +213,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user not having registered for watcher notifications and watching the wiki' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -227,7 +227,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for watcher notifications and not watching the wiki nor the page' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -237,7 +237,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user having registered for watcher notifications and watching the page' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -260,7 +260,7 @@ describe Notifications::CreateFromModelService, 'wiki', with_settings: { journal context 'with the user not having registered for watcher notifications and watching the page' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end diff --git a/spec/services/notifications/create_from_model_service_work_package_spec.rb b/spec/services/notifications/create_from_model_service_work_package_spec.rb index 10e4c84912e..e894a132e2e 100644 --- a/spec/services/notifications/create_from_model_service_work_package_spec.rb +++ b/spec/services/notifications/create_from_model_service_work_package_spec.rb @@ -52,17 +52,17 @@ describe Notifications::CreateFromModelService, } if %i[responsible assigned_to].include?(user_property) - FactoryBot.create(:work_package, + create(:work_package, **wp_attributes.merge(user_property => recipient)) elsif user_property == :watcher - FactoryBot.create(:work_package, + create(:work_package, **wp_attributes).tap do |wp| Watcher.new(watchable: wp, user: recipient).save(validate: false) end else # Initialize recipient to have the same behaviour as if the recipient is assigned/responsible recipient - FactoryBot.create(:work_package, + create(:work_package, **wp_attributes) end end @@ -74,12 +74,12 @@ describe Notifications::CreateFromModelService, work_package.journals.last end let(:journal_2_with_status) do - work_package.status = FactoryBot.create(:status) + work_package.status = create(:status) work_package.save(validate: false) work_package.journals.last end let(:journal_2_with_priority) do - work_package.priority = FactoryBot.create(:priority) + work_package.priority = create(:priority) work_package.save(validate: false) work_package.journals.last end @@ -105,7 +105,7 @@ describe Notifications::CreateFromModelService, let(:user_property) { :assigned_to } let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -123,7 +123,7 @@ describe Notifications::CreateFromModelService, context 'when assignee has in app notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end @@ -142,7 +142,7 @@ describe Notifications::CreateFromModelService, context 'assignee has all notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -152,7 +152,7 @@ describe Notifications::CreateFromModelService, context 'assignee has all in app notifications enabled but only involved for mail' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -175,7 +175,7 @@ describe Notifications::CreateFromModelService, end context 'assignee is placeholder user' do - let(:recipient) { FactoryBot.create :placeholder_user } + let(:recipient) { create :placeholder_user } it_behaves_like 'creates no notification' end @@ -183,7 +183,7 @@ describe Notifications::CreateFromModelService, context 'when assignee has all notifications enabled but made the change himself' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end let(:author) { recipient } @@ -196,7 +196,7 @@ describe Notifications::CreateFromModelService, let(:user_property) { :responsible } let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(involved: true)) + build(:notification_setting, **notification_settings_all_false.merge(involved: true)) ] end @@ -214,7 +214,7 @@ describe Notifications::CreateFromModelService, context 'when responsible has all notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -228,7 +228,7 @@ describe Notifications::CreateFromModelService, end context 'when responsible is placeholder user' do - let(:recipient) { FactoryBot.create :placeholder_user } + let(:recipient) { create :placeholder_user } it_behaves_like 'creates no notification' end @@ -236,7 +236,7 @@ describe Notifications::CreateFromModelService, context 'when responsible has all notifications enabled but made the change himself' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end let(:author) { recipient } @@ -249,7 +249,7 @@ describe Notifications::CreateFromModelService, let(:user_property) { :watcher } let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end @@ -267,7 +267,7 @@ describe Notifications::CreateFromModelService, context 'when watcher has in app notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(watched: true)) + build(:notification_setting, **notification_settings_all_false.merge(watched: true)) ] end @@ -286,7 +286,7 @@ describe Notifications::CreateFromModelService, context 'when watcher has all notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -302,7 +302,7 @@ describe Notifications::CreateFromModelService, context 'when watcher has all notifications enabled but made the change himself' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end let(:author) { recipient } @@ -316,7 +316,7 @@ describe Notifications::CreateFromModelService, let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end @@ -334,7 +334,7 @@ describe Notifications::CreateFromModelService, context 'with in app notifications disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end @@ -353,7 +353,7 @@ describe Notifications::CreateFromModelService, context 'with all disabled' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -363,8 +363,8 @@ describe Notifications::CreateFromModelService, context 'with all disabled as a default but enabled in the project' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false), - FactoryBot.build(:notification_setting, project: project, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_false), + build(:notification_setting, project: project, **notification_settings_all_true) ] end @@ -383,8 +383,8 @@ describe Notifications::CreateFromModelService, context 'with all enabled as a default but disabled in the project' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true), - FactoryBot.build(:notification_setting, project: project, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_true), + build(:notification_setting, project: project, **notification_settings_all_false) ] end @@ -400,7 +400,7 @@ describe Notifications::CreateFromModelService, context 'when recipient has all notifications enabled but made the change himself' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_true) + build(:notification_setting, **notification_settings_all_true) ] end let(:author) { recipient } @@ -413,7 +413,7 @@ describe Notifications::CreateFromModelService, context 'when the user configured to be notified on work package creation' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_created: true)) ] end @@ -433,7 +433,7 @@ describe Notifications::CreateFromModelService, context 'when the user configured to be notified on work package status changes' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_processed: true)) ] end @@ -444,7 +444,7 @@ describe Notifications::CreateFromModelService, context 'when the user configured to be notified on work package priority changes' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_prioritized: true)), ] end @@ -455,7 +455,7 @@ describe Notifications::CreateFromModelService, context 'when the user did not configure to be notified' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -469,7 +469,7 @@ describe Notifications::CreateFromModelService, context 'when the user has commented notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_commented: true)), ] end @@ -489,7 +489,7 @@ describe Notifications::CreateFromModelService, context 'when the user has commented notifications deactivated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -503,7 +503,7 @@ describe Notifications::CreateFromModelService, context 'with the user having commented notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_commented: true)) ] end @@ -518,7 +518,7 @@ describe Notifications::CreateFromModelService, context 'when the user has processed notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_processed: true)) ] end @@ -538,7 +538,7 @@ describe Notifications::CreateFromModelService, context 'when the user has processed notifications deactivated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -552,7 +552,7 @@ describe Notifications::CreateFromModelService, context 'with the user having processed notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_processed: true)) ] end @@ -567,7 +567,7 @@ describe Notifications::CreateFromModelService, context 'when the user has prioritized notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_prioritized: true)) ] end @@ -587,7 +587,7 @@ describe Notifications::CreateFromModelService, context 'when the user has prioritized notifications deactivated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -601,7 +601,7 @@ describe Notifications::CreateFromModelService, context 'with the user having prioritized notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_prioritized: true)) ] end @@ -616,7 +616,7 @@ describe Notifications::CreateFromModelService, context 'when the user has scheduled notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_scheduled: true)) ] end @@ -636,7 +636,7 @@ describe Notifications::CreateFromModelService, context 'when the user has scheduled notifications deactivated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -650,7 +650,7 @@ describe Notifications::CreateFromModelService, context 'with the user having scheduled notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_scheduled: true)) ] end @@ -665,7 +665,7 @@ describe Notifications::CreateFromModelService, context 'when the user has scheduled notifications activated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false + build(:notification_setting, **notification_settings_all_false .merge(work_package_scheduled: true)) ] end @@ -685,7 +685,7 @@ describe Notifications::CreateFromModelService, context 'when the user has scheduled notifications deactivated' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false) + build(:notification_setting, **notification_settings_all_false) ] end @@ -718,7 +718,7 @@ describe Notifications::CreateFromModelService, context 'when user is mentioned' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(mentioned: true)) + build(:notification_setting, **notification_settings_all_false.merge(mentioned: true)) ] end @@ -740,7 +740,7 @@ describe Notifications::CreateFromModelService, context 'user disabled mention notifications' do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(mentioned: false)) + build(:notification_setting, **notification_settings_all_false.merge(mentioned: false)) ] end @@ -749,7 +749,7 @@ describe Notifications::CreateFromModelService, end context 'group is not allowed to view the work package' do - let(:group_role) { FactoryBot.create(:role, permissions: []) } + let(:group_role) { create(:role, permissions: []) } let(:permissions) { [] } it_behaves_like 'creates no notification' @@ -860,7 +860,7 @@ describe Notifications::CreateFromModelService, context "when the recipient turned off mention notifications" do let(:recipient_notification_settings) do [ - FactoryBot.build(:notification_setting, **notification_settings_all_false.merge(mentioned: false)) + build(:notification_setting, **notification_settings_all_false.merge(mentioned: false)) ] end @@ -891,9 +891,9 @@ describe Notifications::CreateFromModelService, end context 'for groups' do - let(:group_role) { FactoryBot.create(:role, permissions: %i[view_work_packages]) } + let(:group_role) { create(:role, permissions: %i[view_work_packages]) } let(:group) do - FactoryBot.create(:group, members: recipient) do |group| + create(:group, members: recipient) do |group| Members::CreateService .new(user: User.system, contract_class: EmptyContract) .call(project: project, principal: group, roles: [group_role]) @@ -958,7 +958,7 @@ describe Notifications::CreateFromModelService, context 'when there is a notification for mentioned on the journal' do let!(:mentioned_notification) do - FactoryBot.create :notification, + create :notification, journal: journal_2_with_notes, resource: journal_2_with_notes.journable, reason: :mentioned diff --git a/spec/services/notifications/create_service_intergration_spec.rb b/spec/services/notifications/create_service_intergration_spec.rb index 3f1449b846a..1c5975edbec 100644 --- a/spec/services/notifications/create_service_intergration_spec.rb +++ b/spec/services/notifications/create_service_intergration_spec.rb @@ -29,19 +29,19 @@ require 'spec_helper' describe Notifications::CreateService, 'integration', type: :model do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:project) { work_package.project } let(:journal) { work_package.journals.first } let(:instance) { described_class.new(user: actor) } let(:attributes) { {} } let(:actor) { current_user } - let(:recipient) { FactoryBot.create(:user) } + let(:recipient) { create(:user) } let(:service_result) do instance .call(**attributes) end - current_user { FactoryBot.create(:user) } + current_user { create(:user) } describe '#call' do let(:attributes) do diff --git a/spec/services/notifications/mail_service_spec.rb b/spec/services/notifications/mail_service_spec.rb index d74d26cd10c..597edb379a1 100644 --- a/spec/services/notifications/mail_service_spec.rb +++ b/spec/services/notifications/mail_service_spec.rb @@ -36,8 +36,8 @@ describe Notifications::MailService, type: :model do subject(:call) { instance.call } let(:recipient) do - FactoryBot.build_stubbed(:user, - preference: FactoryBot.build_stubbed(:user_preference, + build_stubbed(:user, + preference: build_stubbed(:user_preference, settings: { immediate_reminders: { mentioned: immediate_reminders_mentioned @@ -45,14 +45,14 @@ describe Notifications::MailService, type: :model do })) end let(:actor) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:instance) { described_class.new(notification) } let(:immediate_reminders_mentioned) { true } context 'with a work package journal notification' do let(:journal) do - FactoryBot.build_stubbed(:work_package_journal).tap do |j| + build_stubbed(:work_package_journal).tap do |j| allow(j) .to receive(:initial?) .and_return(journal_initial) @@ -61,7 +61,7 @@ describe Notifications::MailService, type: :model do let(:read_ian) { false } let(:reason) { :mentioned } let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, recipient: recipient, actor: actor, @@ -129,8 +129,8 @@ describe Notifications::MailService, type: :model do context 'with a wiki_content journal notification' do let(:journal) do - FactoryBot.build_stubbed(:wiki_content_journal, - journable: FactoryBot.build_stubbed(:wiki_content)).tap do |j| + build_stubbed(:wiki_content_journal, + journable: build_stubbed(:wiki_content)).tap do |j| allow(j) .to receive(:initial?) .and_return(journal_initial) @@ -138,7 +138,7 @@ describe Notifications::MailService, type: :model do end let(:read_ian) { false } let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, recipient: recipient, actor: actor, @@ -215,15 +215,15 @@ describe Notifications::MailService, type: :model do context 'with a news journal notification' do let(:journal) do - FactoryBot.build_stubbed(:news_journal, - journable: FactoryBot.build_stubbed(:news)).tap do |j| + build_stubbed(:news_journal, + journable: build_stubbed(:news)).tap do |j| allow(j) .to receive(:initial?) .and_return(journal_initial) end end let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, recipient: recipient, actor: actor) @@ -278,12 +278,12 @@ describe Notifications::MailService, type: :model do context 'with a message journal notification' do let(:journal) do - FactoryBot.build_stubbed(:message_journal, - journable: FactoryBot.build_stubbed(:message)) + build_stubbed(:message_journal, + journable: build_stubbed(:message)) end let(:read_ian) { false } let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, resource: journal.journable, recipient: recipient, @@ -333,11 +333,11 @@ describe Notifications::MailService, type: :model do context 'with a different journal notification' do let(:journal) do - FactoryBot.build_stubbed(:journal, - journable: FactoryBot.build_stubbed(:work_package)) + build_stubbed(:journal, + journable: build_stubbed(:work_package)) end let(:notification) do - FactoryBot.build_stubbed(:notification, + build_stubbed(:notification, journal: journal, recipient: recipient, actor: actor) diff --git a/spec/services/notifications/mentioned_journals_shared.rb b/spec/services/notifications/mentioned_journals_shared.rb index e33813dd681..e2eee1e2d5a 100644 --- a/spec/services/notifications/mentioned_journals_shared.rb +++ b/spec/services/notifications/mentioned_journals_shared.rb @@ -30,10 +30,10 @@ require 'spec_helper' shared_context 'with a mentioned work package being updated again' do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:work_package) do - FactoryBot.create(:work_package, project: project).tap do |wp| + create(:work_package, project: project).tap do |wp| # Clear the initial journal job wp.save! clear_enqueued_jobs @@ -41,18 +41,18 @@ shared_context 'with a mentioned work package being updated again' do end let(:role) do - FactoryBot.create :role, permissions: %w[view_work_packages edit_work_packages] + create :role, permissions: %w[view_work_packages edit_work_packages] end let(:recipient) do - FactoryBot.create :user, + create :user, preferences: { immediate_reminders: { mentioned: true } }, notification_settings: [ - FactoryBot.build(:notification_setting, + build(:notification_setting, mentioned: true, involved: true) ], @@ -60,7 +60,7 @@ shared_context 'with a mentioned work package being updated again' do member_through_role: role end let(:actor) do - FactoryBot.create :user, + create :user, member_in_project: project, member_through_role: role end diff --git a/spec/services/notifications/set_attributes_service_spec.rb b/spec/services/notifications/set_attributes_service_spec.rb index ed973871735..818c1980e91 100644 --- a/spec/services/notifications/set_attributes_service_spec.rb +++ b/spec/services/notifications/set_attributes_service_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' # rubocop:disable RSpec/MultipleMemoizedHelpers describe Notifications::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -57,9 +57,9 @@ describe Notifications::SetAttributesService, type: :model do contract_class: contract_class) end let(:call_attributes) { {} } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:reason) { :mentioned } - let(:journal) { FactoryBot.build_stubbed(:journal, journable: journable, data: journal_data) } + let(:journal) { build_stubbed(:journal, journable: journable, data: journal_data) } let(:journable) { nil } let(:journal_data) { nil } let(:event_subject) { 'I find it important' } @@ -106,14 +106,14 @@ describe Notifications::SetAttributesService, type: :model do context 'with only the minimal set of attributes for a notification' do let(:journable) do - FactoryBot.build_stubbed(:work_package, project: project).tap do |wp| + build_stubbed(:work_package, project: project).tap do |wp| allow(wp) .to receive(:to_s) .and_return("wp to s") end end let(:journal_data) { - FactoryBot.build_stubbed(:journal_work_package_journal, project: project) + build_stubbed(:journal_work_package_journal, project: project) } let(:call_attributes) do { diff --git a/spec/services/parse_schema_filter_params_service_spec.rb b/spec/services/parse_schema_filter_params_service_spec.rb index 17b2a36bf16..9d72b8185fa 100644 --- a/spec/services/parse_schema_filter_params_service_spec.rb +++ b/spec/services/parse_schema_filter_params_service_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe ParseSchemaFilterParamsService do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:instance) { described_class.new(user: current_user) } - let(:project) { FactoryBot.build_stubbed(:project) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:project) { build_stubbed(:project) } + let(:type) { build_stubbed(:type) } describe '#call' do let(:filter) do diff --git a/spec/services/placeholder_users/delete_service_spec.rb b/spec/services/placeholder_users/delete_service_spec.rb index f5b5c84789d..17f3502e4a2 100644 --- a/spec/services/placeholder_users/delete_service_spec.rb +++ b/spec/services/placeholder_users/delete_service_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::PlaceholderUsers::DeleteService, type: :model do - let(:placeholder_user) { FactoryBot.build_stubbed(:placeholder_user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:placeholder_user) { build_stubbed(:placeholder_user) } + let(:project) { build_stubbed(:project) } let(:instance) { described_class.new(model: placeholder_user, user: actor) } @@ -53,14 +53,14 @@ describe ::PlaceholderUsers::DeleteService, type: :model do end context 'with admin user' do - let(:actor) { FactoryBot.build_stubbed(:admin) } + let(:actor) { build_stubbed(:admin) } it_behaves_like 'deletes the user' end context 'with global user' do let(:actor) do - FactoryBot.build_stubbed(:user).tap do |u| + build_stubbed(:user).tap do |u| allow(u) .to receive(:allowed_to_globally?) do |permission| [:manage_placeholder_user].include?(permission) diff --git a/spec/services/placeholder_users/set_attributes_service_spec.rb b/spec/services/placeholder_users/set_attributes_service_spec.rb index 522eb5b55d7..986e44446e3 100644 --- a/spec/services/placeholder_users/set_attributes_service_spec.rb +++ b/spec/services/placeholder_users/set_attributes_service_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe PlaceholderUsers::SetAttributesService, type: :model do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:contract_instance) do contract = double('contract_instance') diff --git a/spec/services/principals/replace_references_service_call_integration_spec.rb b/spec/services/principals/replace_references_service_call_integration_spec.rb index dec69e76111..10b61c3ccf6 100644 --- a/spec/services/principals/replace_references_service_call_integration_spec.rb +++ b/spec/services/principals/replace_references_service_call_integration_spec.rb @@ -31,9 +31,9 @@ require 'spec_helper' describe Principals::ReplaceReferencesService, '#call', type: :model do subject(:service_call) { instance.call(from: principal, to: to_principal) } - shared_let(:other_user) { FactoryBot.create(:user) } - shared_let(:user) { FactoryBot.create(:user) } - shared_let(:to_principal) { FactoryBot.create :user } + shared_let(:other_user) { create(:user) } + shared_let(:user) { create(:user) } + shared_let(:to_principal) { create :user } let(:instance) do described_class.new @@ -49,7 +49,7 @@ describe Principals::ReplaceReferencesService, '#call', type: :model do context 'with a Journal' do let!(:journal) do - FactoryBot.create(:work_package_journal, + create(:work_package_journal, user_id: user_id) end @@ -166,7 +166,7 @@ describe Principals::ReplaceReferencesService, '#call', type: :model do :custom_value, :value, String do - let(:user_cf) { FactoryBot.create(:user_wp_custom_field) } + let(:user_cf) { create(:user_wp_custom_field) } let(:attributes) do { custom_field_id: user_cf.id } end @@ -176,7 +176,7 @@ describe Principals::ReplaceReferencesService, '#call', type: :model do :journal_customizable_journal, :value, String do - let(:user_cf) { FactoryBot.create(:user_wp_custom_field) } + let(:user_cf) { create(:user_wp_custom_field) } let(:attributes) do { journal_id: 1, custom_field_id: user_cf.id } @@ -384,7 +384,7 @@ describe Principals::ReplaceReferencesService, '#call', type: :model do end context 'with CostQuery' do - let(:query) { FactoryBot.create(:cost_query, user: principal) } + let(:query) { create(:cost_query, user: principal) } it_behaves_like 'rewritten record', :cost_query, @@ -397,7 +397,7 @@ describe Principals::ReplaceReferencesService, '#call', type: :model do end context 'with Notification actor' do - let(:recipient) { FactoryBot.create :user } + let(:recipient) { create :user } it_behaves_like 'rewritten record', :notification, diff --git a/spec/services/projects/copy_service_integration_spec.rb b/spec/services/projects/copy_service_integration_spec.rb index e2227a320c6..3859369b9c9 100644 --- a/spec/services/projects/copy_service_integration_spec.rb +++ b/spec/services/projects/copy_service_integration_spec.rb @@ -31,28 +31,28 @@ require 'spec_helper' describe Projects::CopyService, 'integration', type: :model do - shared_let(:status_locked) { FactoryBot.create :status, is_readonly: true } - shared_let(:source) { FactoryBot.create :project, enabled_module_names: %w[wiki work_package_tracking] } - shared_let(:source_wp) { FactoryBot.create :work_package, project: source, subject: 'source wp' } + shared_let(:status_locked) { create :status, is_readonly: true } + shared_let(:source) { create :project, enabled_module_names: %w[wiki work_package_tracking] } + shared_let(:source_wp) { create :work_package, project: source, subject: 'source wp' } shared_let(:source_wp_locked) do - FactoryBot.create :work_package, project: source, subject: 'source wp locked', status: status_locked + create :work_package, project: source, subject: 'source wp locked', status: status_locked end - shared_let(:source_query) { FactoryBot.create :query, project: source, name: 'My query' } - shared_let(:source_view) { FactoryBot.create :view_work_packages_table, query: source_query } - shared_let(:source_category) { FactoryBot.create :category, project: source, name: 'Stock management' } - shared_let(:source_version) { FactoryBot.create :version, project: source, name: 'Version A' } - shared_let(:source_wiki_page) { FactoryBot.create(:wiki_page_with_content, wiki: source.wiki) } - shared_let(:source_child_wiki_page) { FactoryBot.create(:wiki_page_with_content, wiki: source.wiki, parent: source_wiki_page) } - shared_let(:source_forum) { FactoryBot.create(:forum, project: source) } - shared_let(:source_topic) { FactoryBot.create(:message, forum: source_forum) } + shared_let(:source_query) { create :query, project: source, name: 'My query' } + shared_let(:source_view) { create :view_work_packages_table, query: source_query } + shared_let(:source_category) { create :category, project: source, name: 'Stock management' } + shared_let(:source_version) { create :version, project: source, name: 'Version A' } + shared_let(:source_wiki_page) { create(:wiki_page_with_content, wiki: source.wiki) } + shared_let(:source_child_wiki_page) { create(:wiki_page_with_content, wiki: source.wiki, parent: source_wiki_page) } + shared_let(:source_forum) { create(:forum, project: source) } + shared_let(:source_topic) { create(:message, forum: source_forum) } let(:current_user) do - FactoryBot.create(:user, + create(:user, member_in_project: source, member_through_role: role) end - let(:role) { FactoryBot.create :role, permissions: %i[copy_projects view_work_packages] } - shared_let(:new_project_role) { FactoryBot.create :role, permissions: %i[] } + let(:role) { create :role, permissions: %i[copy_projects view_work_packages] } + shared_let(:new_project_role) { create :role, permissions: %i[] } let(:instance) do described_class.new(source: source, user: current_user) end @@ -169,7 +169,7 @@ describe Projects::CopyService, 'integration', type: :model do end context 'with an assigned version' do - let!(:assigned_version) { FactoryBot.create(:version, name: 'Assigned Issues', project: source, status: 'open') } + let!(:assigned_version) { create(:version, name: 'Assigned Issues', project: source, status: 'open') } before do source_wp.update!(version: assigned_version) @@ -189,10 +189,10 @@ describe Projects::CopyService, 'integration', type: :model do context 'with group memberships' do let(:only_args) { %w[members] } - let!(:user) { FactoryBot.create :user } - let!(:another_role) { FactoryBot.create(:role) } + let!(:user) { create :user } + let!(:another_role) { create(:role) } let!(:group) do - FactoryBot.create :group, members: [user] + create :group, members: [user] end it 'will copy them as well' do @@ -225,12 +225,12 @@ describe Projects::CopyService, 'integration', type: :model do end context 'with work package relations', with_settings: { cross_project_work_package_relations: '1' } do - let!(:source_wp2) { FactoryBot.create(:work_package, project: source, subject: 'source wp2') } - let!(:source_relation) { FactoryBot.create(:relation, from: source_wp, to: source_wp2, relation_type: 'relates') } + let!(:source_wp2) { create(:work_package, project: source, subject: 'source wp2') } + let!(:source_relation) { create(:relation, from: source_wp, to: source_wp2, relation_type: 'relates') } - let!(:other_project) { FactoryBot.create(:project) } - let!(:other_wp) { FactoryBot.create(:work_package, project: other_project, subject: 'other wp') } - let!(:cross_relation) { FactoryBot.create(:relation, from: source_wp, to: other_wp, relation_type: 'duplicates') } + let!(:other_project) { create(:project) } + let!(:other_wp) { create(:work_package, project: other_project, subject: 'other wp') } + let!(:cross_relation) { create(:relation, from: source_wp, to: other_wp, relation_type: 'duplicates') } let(:only_args) { %w[work_packages] } @@ -258,7 +258,7 @@ describe Projects::CopyService, 'integration', type: :model do describe '#copy_wiki' do it 'will not copy wiki pages without content' do - source.wiki.pages << FactoryBot.create(:wiki_page) + source.wiki.pages << create(:wiki_page) expect(source.wiki.pages.count).to eq 3 expect(subject).to be_success @@ -267,7 +267,7 @@ describe Projects::CopyService, 'integration', type: :model do end it 'will copy menu items' do - source.wiki.wiki_menu_items << FactoryBot.create(:wiki_menu_item_with_parent, wiki: source.wiki) + source.wiki.wiki_menu_items << create(:wiki_menu_item_with_parent, wiki: source.wiki) expect(subject).to be_success expect(project_copy.wiki.wiki_menu_items.count).to eq 3 @@ -277,11 +277,11 @@ describe Projects::CopyService, 'integration', type: :model do describe 'valid queries' do context 'with a filter' do let!(:query) do - FactoryBot.build(:query, project: source).tap do |q| + build(:query, project: source).tap do |q| q.add_filter('subject', '~', ['bogus']) q.save! - FactoryBot.create(:view_work_packages_table, query: q) + create(:view_work_packages_table, query: q) end end @@ -294,12 +294,12 @@ describe Projects::CopyService, 'integration', type: :model do context 'with a filter to be mapped' do let!(:query) do - FactoryBot.build(:query, project: source).tap do |q| + build(:query, project: source).tap do |q| q.add_filter('parent', '=', [source_wp.id.to_s]) # Not valid due to wp not visible q.save!(validate: false) - FactoryBot.create(:view_work_packages_table, query: q) + create(:view_work_packages_table, query: q) end end @@ -314,17 +314,17 @@ describe Projects::CopyService, 'integration', type: :model do describe 'views' do let!(:query_with_view) do - query = FactoryBot.build(:query, project: source, name: 'Query with view') + query = build(:query, project: source, name: 'Query with view') query.add_filter('subject', '~', ['bogus']) query.save! - FactoryBot.create(:view_work_packages_table, query: query) + create(:view_work_packages_table, query: query) query end let!(:query_without_view) do - query = FactoryBot.build(:query, project: source, name: 'Query without view') + query = build(:query, project: source, name: 'Query without view') query.add_filter('subject', '~', ['bogus']) query.save! @@ -344,14 +344,14 @@ describe Projects::CopyService, 'integration', type: :model do end describe 'work packages' do - let(:work_package) { FactoryBot.create(:work_package, project: source) } - let(:work_package2) { FactoryBot.create(:work_package, project: source) } - let(:work_package3) { FactoryBot.create(:work_package, project: source) } + let(:work_package) { create(:work_package, project: source) } + let(:work_package2) { create(:work_package, project: source) } + let(:work_package3) { create(:work_package, project: source) } let(:only_args) { %w[work_packages] } describe '#attachments' do - let!(:attachment) { FactoryBot.create(:attachment, container: work_package) } + let!(:attachment) { create(:attachment, container: work_package) } context 'when requested' do let(:only_args) { %i[work_packages work_package_attachments] } @@ -378,11 +378,11 @@ describe Projects::CopyService, 'integration', type: :model do describe 'in an ordered query (Feature #31317)' do let!(:query) do - FactoryBot.create(:query, name: 'Manual query', user: current_user, project: source, show_hierarchies: false).tap do |q| + create(:query, name: 'Manual query', user: current_user, project: source, show_hierarchies: false).tap do |q| q.sort_criteria = [[:manual_sorting, 'asc']] q.save! - FactoryBot.create(:view_work_packages_table, query: q) + create(:view_work_packages_table, query: q) end end @@ -410,7 +410,7 @@ describe Projects::CopyService, 'integration', type: :model do end context 'if one work package is a cross project reference' do - let(:other_project) { FactoryBot.create :project } + let(:other_project) { create :project } before do work_package2.update! project: other_project end @@ -470,7 +470,7 @@ describe Projects::CopyService, 'integration', type: :model do before do wp = work_package - wp.category = FactoryBot.create(:category, project: source) + wp.category = create(:category, project: source) wp.save source.work_packages << wp.reload @@ -485,8 +485,8 @@ describe Projects::CopyService, 'integration', type: :model do end describe '#watchers' do - let(:watcher_role) { FactoryBot.create(:role, permissions: [:view_work_packages]) } - let(:watcher) { FactoryBot.create(:user, member_in_project: source, member_through_role: watcher_role) } + let(:watcher_role) { create(:role, permissions: [:view_work_packages]) } + let(:watcher) { create(:user, member_in_project: source, member_through_role: watcher_role) } let(:only_args) { %w[work_packages members] } @@ -525,8 +525,8 @@ describe Projects::CopyService, 'integration', type: :model do end describe 'versions' do - let(:version) { FactoryBot.create(:version, project: source) } - let(:version2) { FactoryBot.create(:version, project: source) } + let(:version) { create(:version, project: source) } + let(:version2) { create(:version, project: source) } let(:only_args) { %w[versions work_packages] } @@ -604,7 +604,7 @@ describe Projects::CopyService, 'integration', type: :model do describe 'work package user custom field' do let(:custom_field) do - FactoryBot.create(:user_wp_custom_field).tap do |cf| + create(:user_wp_custom_field).tap do |cf| source.work_package_custom_fields << cf work_package.type.custom_fields << cf end @@ -643,9 +643,9 @@ describe Projects::CopyService, 'integration', type: :model do describe 'project custom fields' do context 'with user project CF' do - let(:user_custom_field) { FactoryBot.create(:user_project_custom_field) } + let(:user_custom_field) { create(:user_project_custom_field) } let(:user_value) do - FactoryBot.create(:user, + create(:user, member_in_project: source, member_through_role: role) end @@ -667,7 +667,7 @@ describe Projects::CopyService, 'integration', type: :model do end context 'with multi selection project list CF' do - let(:list_custom_field) { FactoryBot.create(:list_project_custom_field, multi_value: true) } + let(:list_custom_field) { create(:list_project_custom_field, multi_value: true) } before do source.custom_values << CustomValue.new(custom_field: list_custom_field, value: list_custom_field.value_of('A')) diff --git a/spec/services/projects/create_service_spec.rb b/spec/services/projects/create_service_spec.rb index 1eb2c2a8dd6..c443d106e8c 100644 --- a/spec/services/projects/create_service_spec.rb +++ b/spec/services/projects/create_service_spec.rb @@ -33,7 +33,7 @@ require 'services/base_services/behaves_like_create_service' describe Projects::CreateService, type: :model do it_behaves_like 'BaseServices create service' do - let(:new_project_role) { FactoryBot.build_stubbed(:role) } + let(:new_project_role) { build_stubbed(:role) } let(:create_member_instance) { instance_double(Members::CreateService) } before do diff --git a/spec/services/projects/delete_service_spec.rb b/spec/services/projects/delete_service_spec.rb index e70a31a1ff8..b1bfcde87d1 100644 --- a/spec/services/projects/delete_service_spec.rb +++ b/spec/services/projects/delete_service_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::Projects::DeleteService, type: :model do - let(:user) { FactoryBot.build_stubbed(:admin) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:user) { build_stubbed(:admin) } + let(:project) { build_stubbed(:project) } let(:instance) { described_class.new(user: user, model: project) } @@ -64,7 +64,7 @@ describe ::Projects::DeleteService, type: :model do end context 'if not authorized' do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } it 'returns an error' do expect(::Projects::DeleteProjectJob) diff --git a/spec/services/projects/schedule_deletion_service_spec.rb b/spec/services/projects/schedule_deletion_service_spec.rb index a969802f853..8712544abd7 100644 --- a/spec/services/projects/schedule_deletion_service_spec.rb +++ b/spec/services/projects/schedule_deletion_service_spec.rb @@ -47,7 +47,7 @@ describe ::Projects::ScheduleDeletionService, type: :model do double('contract_errors') end let(:project_valid) { true } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:instance) do described_class.new(user: user, model: project, @@ -79,7 +79,7 @@ describe ::Projects::ScheduleDeletionService, type: :model do service end - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } subject { instance.call } diff --git a/spec/services/projects/set_attributes_service_integration_spec.rb b/spec/services/projects/set_attributes_service_integration_spec.rb index 4e965362fad..b6ef3f3b2dd 100644 --- a/spec/services/projects/set_attributes_service_integration_spec.rb +++ b/spec/services/projects/set_attributes_service_integration_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Projects::SetAttributesService, 'integration', type: :model do let(:user) do - FactoryBot.create(:user, global_permissions: %w[add_project]) + create(:user, global_permissions: %w[add_project]) end let(:contract) { Projects::CreateContract } let(:instance) { described_class.new(user: user, model: project, contract_class: contract) } @@ -51,7 +51,7 @@ describe Projects::SetAttributesService, 'integration', type: :model do describe 'with an existing project' do let(:existing_identifier) { 'my-new-project' } - let!(:existing) { FactoryBot.create :project, identifier: existing_identifier } + let!(:existing) { create :project, identifier: existing_identifier } context 'and a new project with no identifier set' do let(:project) { Project.new name: 'My new project' } diff --git a/spec/services/projects/set_attributes_service_spec.rb b/spec/services/projects/set_attributes_service_spec.rb index 8ee7365bafa..1914c85f481 100644 --- a/spec/services/projects/set_attributes_service_spec.rb +++ b/spec/services/projects/set_attributes_service_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' # rubocop:disable RSpec/NestedGroups describe Projects::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -58,7 +58,7 @@ describe Projects::SetAttributesService, type: :model do end let(:call_attributes) { {} } let(:project) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end describe 'call' do @@ -185,10 +185,10 @@ describe Projects::SetAttributesService, type: :model do describe 'types default value' do let(:other_types) do - [FactoryBot.build_stubbed(:type)] + [build_stubbed(:type)] end let(:default_types) do - [FactoryBot.build_stubbed(:type)] + [build_stubbed(:type)] end before do @@ -316,10 +316,10 @@ describe Projects::SetAttributesService, type: :model do context 'with the project having a status before' do let(:project_status) do - FactoryBot.build_stubbed(:project_status) + build_stubbed(:project_status) end let(:project) do - FactoryBot.build_stubbed(:project, status: project_status) + build_stubbed(:project, status: project_status) end context 'with a value provided' do diff --git a/spec/services/projects/update_service_integration_spec.rb b/spec/services/projects/update_service_integration_spec.rb index ca585457154..7f6f2f3c527 100644 --- a/spec/services/projects/update_service_integration_spec.rb +++ b/spec/services/projects/update_service_integration_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe Projects::UpdateService, 'integration', type: :model do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end let(:permissions) do @@ -43,12 +43,12 @@ describe Projects::UpdateService, 'integration', type: :model do end let!(:project) do - FactoryBot.create(:project, + create(:project, "custom_field_#{custom_field.id}" => 1, status: project_status) end let(:instance) { described_class.new(user: user, model: project) } - let(:custom_field) { FactoryBot.create(:int_project_custom_field) } + let(:custom_field) { create(:int_project_custom_field) } let(:project_status) { nil } let(:attributes) { {} } @@ -76,7 +76,7 @@ describe Projects::UpdateService, 'integration', type: :model do end context 'if a new custom field gets a value assigned' do - let(:custom_field2) { FactoryBot.create(:text_project_custom_field) } + let(:custom_field2) { create(:text_project_custom_field) } let(:attributes) do { "custom_field_#{custom_field2.id}" => 'some text' } @@ -95,9 +95,9 @@ describe Projects::UpdateService, 'integration', type: :model do end context 'when saving the status as well as the parent' do - let(:parent_project) { FactoryBot.create(:project, members: { user => parent_role }) } - let(:parent_role) { FactoryBot.create :role, permissions: %i(add_subprojects) } - let(:project_status) { FactoryBot.create(:project_status, code: 'on_track') } + let(:parent_project) { create(:project, members: { user => parent_role }) } + let(:parent_role) { create :role, permissions: %i(add_subprojects) } + let(:project_status) { create(:project_status, code: 'on_track') } let(:attributes) do { parent_id: parent_project.id, diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb index 79d37f48092..986ac7071cd 100644 --- a/spec/services/projects/update_service_spec.rb +++ b/spec/services/projects/update_service_spec.rb @@ -34,11 +34,11 @@ require 'services/base_services/behaves_like_update_service' describe Projects::UpdateService, type: :model do it_behaves_like 'BaseServices update service' do let!(:model_instance) do - FactoryBot.build_stubbed(:project, status: project_status).tap do |_p| + build_stubbed(:project, status: project_status).tap do |_p| project_status.clear_changes_information end end - let(:project_status) { FactoryBot.build_stubbed(:project_status) } + let(:project_status) { build_stubbed(:project_status) } it 'sends an update notification' do expect(OpenProject::Notifications) diff --git a/spec/services/queries/create_service_spec.rb b/spec/services/queries/create_service_spec.rb index 0620a228d8a..856b6460002 100644 --- a/spec/services/queries/create_service_spec.rb +++ b/spec/services/queries/create_service_spec.rb @@ -31,14 +31,14 @@ require 'spec_helper' describe Queries::CreateService do - let(:user) { FactoryBot.build_stubbed(:admin) } - let(:query) { FactoryBot.build(:query, user: user) } + let(:user) { build_stubbed(:admin) } + let(:query) { build(:query, user: user) } let(:instance) { described_class.new(user: user) } subject { instance.call(query).result } describe 'ordered work packages' do - let!(:work_package) { FactoryBot.create :work_package } + let!(:work_package) { create :work_package } before do query.ordered_work_packages.build(work_package_id: work_package.id, position: 0) diff --git a/spec/services/queries/filter_mappper_spec.rb b/spec/services/queries/filter_mappper_spec.rb index b4a75a543b0..37a9f7f3439 100644 --- a/spec/services/queries/filter_mappper_spec.rb +++ b/spec/services/queries/filter_mappper_spec.rb @@ -37,7 +37,7 @@ describe Queries::Copy::FiltersMapper do describe 'with a query filters array' do let(:query) do - query = FactoryBot.build(:query) + query = build(:query) query.add_filter 'parent', '=', ['1'] query.add_filter 'category_id', '=', ['2'] query.add_filter 'version_id', '=', ['3'] diff --git a/spec/services/queries/update_from_params_service_spec.rb b/spec/services/queries/update_from_params_service_spec.rb index 7536c4f3c3d..e60c4e8010f 100644 --- a/spec/services/queries/update_from_params_service_spec.rb +++ b/spec/services/queries/update_from_params_service_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe UpdateQueryFromParamsService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:query) { FactoryBot.build_stubbed(:query) } + let(:user) { build_stubbed(:user) } + let(:query) { build_stubbed(:query) } let(:instance) { described_class.new(query, user) } diff --git a/spec/services/relations/create_service_spec.rb b/spec/services/relations/create_service_spec.rb index 28738e73a0d..7f561c203d4 100644 --- a/spec/services/relations/create_service_spec.rb +++ b/spec/services/relations/create_service_spec.rb @@ -41,12 +41,12 @@ describe Relations::CreateService do let(:delay) { 3 } let(:work_package1) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, due_date: work_package1_due_date, start_date: work_package1_start_date) end let(:work_package2) do - FactoryBot.build_stubbed(:work_package, + build_stubbed(:work_package, due_date: work_package2_due_date, start_date: work_package2_start_date) end @@ -70,7 +70,7 @@ describe Relations::CreateService do } end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:model_valid) { true } let(:contract_valid) { true } let(:contract) { double('contract') } diff --git a/spec/services/relations/update_service_spec.rb b/spec/services/relations/update_service_spec.rb index 3cbd189e695..370725ff852 100644 --- a/spec/services/relations/update_service_spec.rb +++ b/spec/services/relations/update_service_spec.rb @@ -40,12 +40,12 @@ describe Relations::UpdateService do let(:delay) { 3 } let(:work_package1) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, due_date: work_package1_due_date, start_date: work_package1_start_date) end let(:work_package2) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, due_date: work_package2_due_date, start_date: work_package2_start_date) end @@ -53,7 +53,7 @@ describe Relations::UpdateService do described_class.new(user: user, model: relation) end let(:relation) do - relation = FactoryBot.build_stubbed(:relation) + relation = build_stubbed(:relation) allow(relation) .to receive(:follows?) @@ -69,7 +69,7 @@ describe Relations::UpdateService do } end - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:model_valid) { true } let(:contract_valid) { true } let(:contract) { double('contract') } diff --git a/spec/services/scm/checkout_instructions_service_spec.rb b/spec/services/scm/checkout_instructions_service_spec.rb index f18cc70c2db..70e89d872c8 100644 --- a/spec/services/scm/checkout_instructions_service_spec.rb +++ b/spec/services/scm/checkout_instructions_service_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe SCM::CheckoutInstructionsService do - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:project) } + let(:user) { build(:user) } + let(:project) { build(:project) } let(:url) { 'file:///tmp/some/svn/repo' } let(:repository) do - FactoryBot.build(:repository_subversion, + build(:repository_subversion, url: url, project: project) end @@ -133,7 +133,7 @@ describe SCM::CheckoutInstructionsService do end context 'disabled repository' do - let(:repository) { FactoryBot.build(:repository_git) } + let(:repository) { build(:repository_git) } it 'git is not available for checkout' do expect(service.available?).to be false diff --git a/spec/services/scm/create_managed_repository_service_spec.rb b/spec/services/scm/create_managed_repository_service_spec.rb index 5a37ee78426..73fe16aa1b1 100644 --- a/spec/services/scm/create_managed_repository_service_spec.rb +++ b/spec/services/scm/create_managed_repository_service_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe SCM::CreateManagedRepositoryService do - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:project) } + let(:user) { build(:user) } + let(:project) { build(:project) } - let(:repository) { FactoryBot.build(:repository_subversion) } + let(:repository) { build(:repository_subversion) } subject(:service) { SCM::CreateManagedRepositoryService.new(repository) } let(:config) { {} } @@ -152,7 +152,7 @@ describe SCM::CreateManagedRepositoryService do end let(:repository) do - repo = FactoryBot.build(:repository_subversion, scm_type: :managed) + repo = build(:repository_subversion, scm_type: :managed) repo.project = project repo.configure(:managed, nil) repo diff --git a/spec/services/scm/delete_managed_repository_service_spec.rb b/spec/services/scm/delete_managed_repository_service_spec.rb index 10554c2696c..40b49b948c5 100644 --- a/spec/services/scm/delete_managed_repository_service_spec.rb +++ b/spec/services/scm/delete_managed_repository_service_spec.rb @@ -30,10 +30,10 @@ require 'spec_helper' describe SCM::DeleteManagedRepositoryService do - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:project) } + let(:user) { build(:user) } + let(:project) { build(:project) } - let(:repository) { FactoryBot.build(:repository_subversion) } + let(:repository) { build(:repository_subversion) } subject(:service) { SCM::DeleteManagedRepositoryService.new(repository) } let(:config) { {} } @@ -56,7 +56,7 @@ describe SCM::DeleteManagedRepositoryService do end context 'with managed repository, but no config' do - let(:repository) { FactoryBot.build(:repository_subversion, scm_type: :managed) } + let(:repository) { build(:repository_subversion, scm_type: :managed) } it 'does allow to delete the repository' do expect(repository.managed?).to be true @@ -98,8 +98,8 @@ describe SCM::DeleteManagedRepositoryService do end context 'and parent project' do - let(:parent) { FactoryBot.create(:project) } - let(:project) { FactoryBot.create(:project, parent: parent) } + let(:parent) { create(:project) } + let(:project) { create(:project, parent: parent) } let(:repo_path) do Pathname.new(File.join(tmpdir, 'svn', project.identifier)) end diff --git a/spec/services/scm/repository_factory_service_spec.rb b/spec/services/scm/repository_factory_service_spec.rb index 01853d09b82..b13e60e664d 100644 --- a/spec/services/scm/repository_factory_service_spec.rb +++ b/spec/services/scm/repository_factory_service_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe SCM::RepositoryFactoryService do - let(:user) { FactoryBot.build(:user) } - let(:project) { FactoryBot.build(:project) } + let(:user) { build(:user) } + let(:project) { build(:project) } let(:enabled_scms) { ['subversion', 'git'] } diff --git a/spec/services/service_result_spec.rb b/spec/services/service_result_spec.rb index 7ab7733dc2c..687ca54bbee 100644 --- a/spec/services/service_result_spec.rb +++ b/spec/services/service_result_spec.rb @@ -84,7 +84,7 @@ describe ServiceResult, type: :model do end context 'providing errors from user' do - let(:result) { FactoryBot.build :work_package } + let(:result) { build :work_package } it 'creates a new errors instance' do instance = ServiceResult.new result: result diff --git a/spec/services/set_localization_service_spec.rb b/spec/services/set_localization_service_spec.rb index 8f28d859569..af5f62c4431 100644 --- a/spec/services/set_localization_service_spec.rb +++ b/spec/services/set_localization_service_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe SetLocalizationService do - let(:user) { FactoryBot.build_stubbed(:user, language: user_language) } + let(:user) { build_stubbed(:user, language: user_language) } let(:http_accept_header) { "#{http_accept_language},en-US;q=0.8,en;q=0.6" } let(:instance) { described_class.new(user, http_accept_header) } let(:user_language) { :bogus_language } @@ -116,7 +116,7 @@ describe SetLocalizationService do end context 'for an anonymous user' do - let(:user) { FactoryBot.build_stubbed(:anonymous) } + let(:user) { build_stubbed(:anonymous) } it_behaves_like 'falls back to the header' diff --git a/spec/services/shared/service_context_integration_spec.rb b/spec/services/shared/service_context_integration_spec.rb index 0f8cf09aa42..4fb63b11cea 100644 --- a/spec/services/shared/service_context_integration_spec.rb +++ b/spec/services/shared/service_context_integration_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Shared::ServiceContext, 'integration', type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:instance) do Class.new do diff --git a/spec/services/shared_type_service.rb b/spec/services/shared_type_service.rb index 388bca088d3..2fbfe2ab5be 100644 --- a/spec/services/shared_type_service.rb +++ b/spec/services/shared_type_service.rb @@ -95,8 +95,8 @@ shared_examples_for 'type service' do end describe 'custom fields' do - let(:cf1) { FactoryBot.create :work_package_custom_field, field_format: 'text' } - let(:cf2) { FactoryBot.create :work_package_custom_field, field_format: 'text' } + let(:cf1) { create :work_package_custom_field, field_format: 'text' } + let(:cf2) { create :work_package_custom_field, field_format: 'text' } let(:params) do { attribute_groups: [ @@ -134,7 +134,7 @@ shared_examples_for 'type service' do { 'type' => 'query', 'name' => 'group1', 'query' => JSON.dump(query_params) } end let(:params) { { attribute_groups: [query_group_params] } } - let(:query) { FactoryBot.create(:query, user_id: 0) } + let(:query) { create(:query, user_id: 0) } let(:service_result) { ServiceResult.new(success: true, result: query) } before do diff --git a/spec/services/update_query_from_params_service_spec.rb b/spec/services/update_query_from_params_service_spec.rb index e40a2c807a8..a247a937a39 100644 --- a/spec/services/update_query_from_params_service_spec.rb +++ b/spec/services/update_query_from_params_service_spec.rb @@ -30,8 +30,8 @@ require 'spec_helper' describe UpdateQueryFromParamsService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } - let(:query) { FactoryBot.build_stubbed(:query) } + let(:user) { build_stubbed(:user) } + let(:query) { build_stubbed(:query) } let(:instance) { described_class.new(query, user) } diff --git a/spec/services/update_type_service_spec.rb b/spec/services/update_type_service_spec.rb index 1e7593e23ca..a65c39e5e89 100644 --- a/spec/services/update_type_service_spec.rb +++ b/spec/services/update_type_service_spec.rb @@ -32,8 +32,8 @@ require 'spec_helper' require 'services/shared_type_service' describe UpdateTypeService do - let(:type) { FactoryBot.build_stubbed(:type) } - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:type) { build_stubbed(:type) } + let(:user) { build_stubbed(:admin) } let(:instance) { described_class.new(type, user) } let(:service_call) { instance.call(params) } diff --git a/spec/services/user_preferences/update_service_integration_spec.rb b/spec/services/user_preferences/update_service_integration_spec.rb index d2f917aba91..cdab997979b 100644 --- a/spec/services/user_preferences/update_service_integration_spec.rb +++ b/spec/services/user_preferences/update_service_integration_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe UserPreferences::UpdateService, 'integration', type: :model do shared_let(:current_user) do - FactoryBot.create(:user).tap do |u| + create(:user).tap do |u| u.pref.save end end shared_let(:preferences) do - FactoryBot.create(:user_preference, user: current_user) + create(:user_preference, user: current_user) end let(:instance) { described_class.new(user: current_user, model: preferences) } @@ -101,7 +101,7 @@ describe UserPreferences::UpdateService, 'integration', type: :model do end context 'with a full replacement' do - let(:project) { FactoryBot.create :project } + let(:project) { create :project } let(:attributes) do { notification_settings: [ diff --git a/spec/services/users/create_service_spec.rb b/spec/services/users/create_service_spec.rb index 112b3df305c..bb78bbbcc0f 100644 --- a/spec/services/users/create_service_spec.rb +++ b/spec/services/users/create_service_spec.rb @@ -33,10 +33,10 @@ require 'services/base_services/behaves_like_create_service' describe Users::CreateService do it_behaves_like 'BaseServices create service' do context 'when the user being invited' do - let(:model_instance) { FactoryBot.build :invited_user } + let(:model_instance) { build :invited_user } context 'and the mail is present' do - let(:model_instance) { FactoryBot.build :invited_user, mail: 'foo@example.com' } + let(:model_instance) { build :invited_user, mail: 'foo@example.com' } it 'will call UserInvitation' do expect(::UserInvitation).to receive(:invite_user!).with(model_instance).and_return(model_instance) expect(subject).to be_success @@ -44,7 +44,7 @@ describe Users::CreateService do end context 'and the user has no names set' do - let(:model_instance) { FactoryBot.build :invited_user, firstname: nil, lastname: nil, mail: 'foo@example.com' } + let(:model_instance) { build :invited_user, firstname: nil, lastname: nil, mail: 'foo@example.com' } it 'will call UserInvitation' do expect(::UserInvitation).to receive(:invite_user!).with(model_instance).and_return(model_instance) expect(subject).to be_success @@ -52,7 +52,7 @@ describe Users::CreateService do end context 'and the mail is empty' do - let(:model_instance) { FactoryBot.build :invited_user, mail: nil } + let(:model_instance) { build :invited_user, mail: nil } it 'will call not call UserInvitation' do expect(::UserInvitation).not_to receive(:invite_user!) expect(subject).not_to be_success diff --git a/spec/services/users/delete_service_integration_spec.rb b/spec/services/users/delete_service_integration_spec.rb index d79cf021810..f1b8e0b4e3b 100644 --- a/spec/services/users/delete_service_integration_spec.rb +++ b/spec/services/users/delete_service_integration_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::Users::DeleteService, 'Integration', type: :model do - let(:input_user) { FactoryBot.create(:user) } - let(:actor) { FactoryBot.build_stubbed(:admin) } + let(:input_user) { create(:user) } + let(:actor) { build_stubbed(:admin) } let(:instance) { described_class.new(model: input_user, user: actor) } diff --git a/spec/services/users/delete_service_spec.rb b/spec/services/users/delete_service_spec.rb index 535e9270d1b..c761d245bf9 100644 --- a/spec/services/users/delete_service_spec.rb +++ b/spec/services/users/delete_service_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::Users::DeleteService, type: :model do - let(:input_user) { FactoryBot.build_stubbed(:user) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:input_user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } let(:instance) { described_class.new(model: input_user, user: actor) } @@ -56,7 +56,7 @@ describe ::Users::DeleteService, type: :model do context 'if deletion by admins allowed', with_settings: { users_deletable_by_admins: true } do context 'with admin user' do - let(:actor) { FactoryBot.build_stubbed(:admin) } + let(:actor) { build_stubbed(:admin) } it_behaves_like 'deletes the user' end @@ -80,7 +80,7 @@ describe ::Users::DeleteService, type: :model do context 'if deletion by admins NOT allowed', with_settings: { users_deletable_by_admins: false } do context 'with admin user' do - let(:actor) { FactoryBot.build_stubbed(:admin) } + let(:actor) { build_stubbed(:admin) } it_behaves_like 'does not delete the user' end diff --git a/spec/services/users/login_service_spec.rb b/spec/services/users/login_service_spec.rb index 2f50f0639be..a8779f2ba14 100644 --- a/spec/services/users/login_service_spec.rb +++ b/spec/services/users/login_service_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe ::Users::LoginService, type: :model do - let(:input_user) { FactoryBot.build_stubbed(:user) } + let(:input_user) { build_stubbed(:user) } let(:controller) { double('ApplicationController') } let(:session) { {} } let(:flash) { ActionDispatch::Flash::FlashHash.new } diff --git a/spec/services/users/register_user_service_spec.rb b/spec/services/users/register_user_service_spec.rb index e3d68efa034..6df1c1efb30 100644 --- a/spec/services/users/register_user_service_spec.rb +++ b/spec/services/users/register_user_service_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe Users::RegisterUserService do - let(:user) { FactoryBot.build(:user) } + let(:user) { build(:user) } let(:instance) { described_class.new(user) } let(:call) { instance.call } @@ -225,7 +225,7 @@ describe Users::RegisterUserService do end describe '#register_manually' do - let(:admin_stub) { FactoryBot.build_stubbed :admin } + let(:admin_stub) { build_stubbed :admin } it 'activates the user with mail' do allow(User).to receive_message_chain(:admin, :active).and_return([admin_stub]) diff --git a/spec/services/users/set_attributes_service_integration_spec.rb b/spec/services/users/set_attributes_service_integration_spec.rb index 816959bf642..3e0af9084b0 100644 --- a/spec/services/users/set_attributes_service_integration_spec.rb +++ b/spec/services/users/set_attributes_service_integration_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe ::Users::SetAttributesService, 'Integration', type: :model do - let(:input_user) { FactoryBot.create(:user) } - let(:actor) { FactoryBot.build_stubbed(:admin) } + let(:input_user) { create(:user) } + let(:actor) { build_stubbed(:admin) } let(:instance) do described_class.new model: input_user, diff --git a/spec/services/users/set_attributes_service_spec.rb b/spec/services/users/set_attributes_service_spec.rb index 93ae95e4557..0c2fc1eb30e 100644 --- a/spec/services/users/set_attributes_service_spec.rb +++ b/spec/services/users/set_attributes_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe Users::SetAttributesService, type: :model do subject(:call) { instance.call(params) } - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } let(:contract_instance) do contract = double('contract_instance') diff --git a/spec/services/users/update_service_spec.rb b/spec/services/users/update_service_spec.rb index dea330648e1..3e5402f5b81 100644 --- a/spec/services/users/update_service_spec.rb +++ b/spec/services/users/update_service_spec.rb @@ -40,8 +40,8 @@ describe Users::UpdateService do describe 'updating attributes' do let(:instance) { described_class.new(model: update_user, user: current_user) } - let(:current_user) { FactoryBot.build_stubbed(:admin) } - let(:update_user) { FactoryBot.create(:user, mail: 'correct@example.org') } + let(:current_user) { build_stubbed(:admin) } + let(:update_user) { create(:user, mail: 'correct@example.org') } subject { instance.call(attributes: attributes) } context 'when invalid' do @@ -68,7 +68,7 @@ describe Users::UpdateService do end context 'if current_user is no admin' do - let(:current_user) { FactoryBot.build_stubbed(:user) } + let(:current_user) { build_stubbed(:user) } it 'is unsuccessful' do expect(subject).to_not be_success end diff --git a/spec/services/wiki_pages/copy_service_integration_spec.rb b/spec/services/wiki_pages/copy_service_integration_spec.rb index 46b71891569..e7e5a42deab 100644 --- a/spec/services/wiki_pages/copy_service_integration_spec.rb +++ b/spec/services/wiki_pages/copy_service_integration_spec.rb @@ -30,13 +30,13 @@ require 'spec_helper' describe WikiPages::CopyService, 'integration', type: :model do let(:user) do - FactoryBot.create(:user) do |user| - FactoryBot.create(:member, + create(:user) do |user| + create(:member, project: source_project, principal: user, roles: [role]) - FactoryBot.create(:member, + create(:member, project: sink_project, principal: user, roles: [role]) @@ -44,20 +44,20 @@ describe WikiPages::CopyService, 'integration', type: :model do end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end let(:permissions) do %i(view_wiki edit_wiki_pages) end - let(:source_wiki) { FactoryBot.create(:wiki) } + let(:source_wiki) { create(:wiki) } let(:source_project) { source_wiki.project } - let(:sink_wiki) { FactoryBot.create(:wiki) } + let(:sink_wiki) { create(:wiki) } let(:sink_project) { sink_wiki.project } - let(:wiki_page) { FactoryBot.create(:wiki_page_with_content) } + let(:wiki_page) { create(:wiki_page_with_content) } let(:instance) { described_class.new(model: wiki_page, user: user) } diff --git a/spec/services/wiki_pages/set_attributes_service_spec.rb b/spec/services/wiki_pages/set_attributes_service_spec.rb index 1df2e5b4c6c..a7a95cde714 100644 --- a/spec/services/wiki_pages/set_attributes_service_spec.rb +++ b/spec/services/wiki_pages/set_attributes_service_spec.rb @@ -31,7 +31,7 @@ require 'spec_helper' describe WikiPages::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:contract_class) do contract = double('contract_class') @@ -57,7 +57,7 @@ describe WikiPages::SetAttributesService, type: :model do end let(:call_attributes) { {} } let(:wiki_page) do - FactoryBot.build_stubbed(:wiki_page_with_content) + build_stubbed(:wiki_page_with_content) end describe 'call' do diff --git a/spec/services/work_packages/copy_service_integration_spec.rb b/spec/services/work_packages/copy_service_integration_spec.rb index d2dfcc1a265..2caa333bc50 100644 --- a/spec/services/work_packages/copy_service_integration_spec.rb +++ b/spec/services/work_packages/copy_service_integration_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe WorkPackages::CopyService, 'integration', type: :model do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end @@ -44,19 +44,19 @@ describe WorkPackages::CopyService, 'integration', type: :model do end let(:type) do - FactoryBot.create(:type_standard, + create(:type_standard, custom_fields: [custom_field]) end - let(:project) { FactoryBot.create(:project, types: [type]) } + let(:project) { create(:project, types: [type]) } let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type) end let(:instance) { described_class.new(work_package: work_package, user: user) } - let(:custom_field) { FactoryBot.create(:work_package_custom_field) } + let(:custom_field) { create(:work_package_custom_field) } let(:custom_value) do - FactoryBot.create(:work_package_custom_value, + create(:work_package_custom_value, custom_field: custom_field, customized: work_package, value: false) @@ -95,7 +95,7 @@ describe WorkPackages::CopyService, 'integration', type: :model do describe 'copied watchers' do let(:watcher_user) do - FactoryBot.create(:user, + create(:user, member_in_project: source_project, member_with_permissions: %i(view_work_packages)) end @@ -112,13 +112,13 @@ describe WorkPackages::CopyService, 'integration', type: :model do end describe 'to a different project' do - let(:target_type) { FactoryBot.create(:type, custom_fields: target_custom_fields) } + let(:target_type) { create(:type, custom_fields: target_custom_fields) } let(:target_project) do - p = FactoryBot.create(:project, + p = create(:project, types: [target_type], work_package_custom_fields: target_custom_fields) - FactoryBot.create(:member, + create(:member, project: p, roles: [target_role], user: user) @@ -126,7 +126,7 @@ describe WorkPackages::CopyService, 'integration', type: :model do p end let(:target_custom_fields) { [] } - let(:target_role) { FactoryBot.create(:role, permissions: target_permissions) } + let(:target_role) { create(:role, permissions: target_permissions) } let(:target_permissions) { %i(add_work_packages manage_subtasks) } let(:attributes) { { project: target_project, type: target_type } } @@ -156,7 +156,7 @@ describe WorkPackages::CopyService, 'integration', type: :model do context 'required custom field in the target project' do let(:custom_field) do - FactoryBot.create( + create( :work_package_custom_field, field_format: 'text', is_required: true, @@ -172,12 +172,12 @@ describe WorkPackages::CopyService, 'integration', type: :model do describe '#attributes' do context 'assigned_to' do - let(:target_user) { FactoryBot.create(:user) } + let(:target_user) { create(:user) } let(:target_project_member) do - FactoryBot.create(:member, + create(:member, project: target_project, principal: target_user, - roles: [FactoryBot.create(:role)]) + roles: [create(:role)]) end let(:attributes) { { assigned_to_id: target_user.id } } @@ -193,7 +193,7 @@ describe WorkPackages::CopyService, 'integration', type: :model do end context 'status' do - let(:target_status) { FactoryBot.create(:status) } + let(:target_status) { create(:status) } let(:attributes) { { status_id: target_status.id } } it_behaves_like 'copied work package' @@ -231,10 +231,10 @@ describe WorkPackages::CopyService, 'integration', type: :model do describe 'with children' do let(:instance) { described_class.new(work_package: child, user: user) } let!(:child) do - FactoryBot.create(:work_package, parent: work_package, project: source_project) + create(:work_package, parent: work_package, project: source_project) end let(:grandchild) do - FactoryBot.create(:work_package, parent: child, project: source_project) + create(:work_package, parent: child, project: source_project) end context 'cross project relations deactivated' do diff --git a/spec/services/work_packages/create_service_integration_spec.rb b/spec/services/work_packages/create_service_integration_spec.rb index b484876ce4f..42a5423dd31 100644 --- a/spec/services/work_packages/create_service_integration_spec.rb +++ b/spec/services/work_packages/create_service_integration_spec.rb @@ -30,12 +30,12 @@ require 'spec_helper' describe WorkPackages::CreateService, 'integration', type: :model do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:role) do - FactoryBot.create(:role, + create(:role, permissions: permissions) end @@ -44,24 +44,24 @@ describe WorkPackages::CreateService, 'integration', type: :model do end let(:type) do - FactoryBot.create(:type, + create(:type, custom_fields: [custom_field]) end let(:default_type) do - FactoryBot.create(:type_standard) + create(:type_standard) end - let(:project) { FactoryBot.create(:project, types: [type, default_type]) } + let(:project) { create(:project, types: [type, default_type]) } let(:parent) do - FactoryBot.create(:work_package, + create(:work_package, project: project, type: type) end let(:instance) { described_class.new(user: user) } - let(:custom_field) { FactoryBot.create(:work_package_custom_field) } - let(:other_status) { FactoryBot.create(:status) } - let(:default_status) { FactoryBot.create(:default_status) } - let(:priority) { FactoryBot.create(:priority) } - let(:default_priority) { FactoryBot.create(:default_priority) } + let(:custom_field) { create(:work_package_custom_field) } + let(:other_status) { create(:status) } + let(:default_status) { create(:default_status) } + let(:priority) { create(:priority) } + let(:default_priority) { create(:default_priority) } let(:attributes) { {} } let(:new_work_package) do service_result @@ -135,10 +135,10 @@ describe WorkPackages::CreateService, 'integration', type: :model do describe 'setting the attachments' do let!(:other_users_attachment) do - FactoryBot.create(:attachment, container: nil, author: FactoryBot.create(:user)) + create(:attachment, container: nil, author: create(:user)) end let!(:users_attachment) do - FactoryBot.create(:attachment, container: nil, author: user) + create(:attachment, container: nil, author: user) end it 'reports on invalid attachments and sets the new if everything is valid' do diff --git a/spec/services/work_packages/delete_service_integration_spec.rb b/spec/services/work_packages/delete_service_integration_spec.rb index d97969fea4f..83e98e03598 100644 --- a/spec/services/work_packages/delete_service_integration_spec.rb +++ b/spec/services/work_packages/delete_service_integration_spec.rb @@ -29,21 +29,21 @@ require 'spec_helper' describe WorkPackages::DeleteService, 'integration', type: :model do - shared_let(:project) { FactoryBot.create(:project) } + shared_let(:project) { create(:project) } shared_let(:role) do - FactoryBot.create(:role, + create(:role, permissions: %i[delete_work_packages view_work_packages add_work_packages manage_subtasks]) end shared_let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end describe 'deleting a child with estimated_hours set' do - let(:parent) { FactoryBot.create(:work_package, project: project) } + let(:parent) { create(:work_package, project: project) } let(:child) do - FactoryBot.create(:work_package, + create(:work_package, project: project, parent: parent, estimated_hours: 123) @@ -75,7 +75,7 @@ describe WorkPackages::DeleteService, 'integration', type: :model do end describe 'with a stale work package reference' do - let!(:work_package) { FactoryBot.create :work_package, project: project } + let!(:work_package) { create :work_package, project: project } let(:instance) do described_class.new(user: user, @@ -94,9 +94,9 @@ describe WorkPackages::DeleteService, 'integration', type: :model do end describe 'with a notification' do - let!(:work_package) { FactoryBot.create :work_package, project: project } + let!(:work_package) { create :work_package, project: project } let!(:notification) do - FactoryBot.create :notification, + create :notification, recipient: user, actor: user, resource: work_package, diff --git a/spec/services/work_packages/delete_service_spec.rb b/spec/services/work_packages/delete_service_spec.rb index af7f5d4a7d9..eedafae3e18 100644 --- a/spec/services/work_packages/delete_service_spec.rb +++ b/spec/services/work_packages/delete_service_spec.rb @@ -32,10 +32,10 @@ require 'spec_helper' describe WorkPackages::DeleteService do let(:user) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:work_package) do - FactoryBot.build_stubbed(:work_package, type: FactoryBot.build_stubbed(:type)) + build_stubbed(:work_package, type: build_stubbed(:type)) end let(:instance) do described_class @@ -95,10 +95,10 @@ describe WorkPackages::DeleteService do context 'with ancestors' do let(:parent) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:grandparent) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:expect_inherited_attributes_service_calls) do inherited_service_instance = double(WorkPackages::UpdateAncestorsService) @@ -146,10 +146,10 @@ describe WorkPackages::DeleteService do context 'with descendants' do let(:child) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:grandchild) do - FactoryBot.build_stubbed(:work_package) + build_stubbed(:work_package) end let(:descendants) do [child, grandchild] diff --git a/spec/services/work_packages/set_attributes_service_spec.rb b/spec/services/work_packages/set_attributes_service_spec.rb index b5831823255..df379f369d2 100644 --- a/spec/services/work_packages/set_attributes_service_spec.rb +++ b/spec/services/work_packages/set_attributes_service_spec.rb @@ -31,15 +31,15 @@ require 'spec_helper' describe WorkPackages::SetAttributesService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:project) do - p = FactoryBot.build_stubbed(:project) + p = build_stubbed(:project) allow(p).to receive(:shared_versions).and_return([]) p end let(:work_package) do - wp = FactoryBot.build_stubbed(:work_package, project: project) + wp = build_stubbed(:work_package, project: project) wp.type = initial_type wp.send(:clear_changes_information) @@ -48,7 +48,7 @@ describe WorkPackages::SetAttributesService, type: :model do let(:new_work_package) do WorkPackage.new end - let(:initial_type) { FactoryBot.build_stubbed(:type) } + let(:initial_type) { build_stubbed(:type) } let(:statuses) { [] } let(:contract_class) { WorkPackages::UpdateContract } let(:mock_contract) do @@ -138,8 +138,8 @@ describe WorkPackages::SetAttributesService, type: :model do end context 'status' do - let(:default_status) { FactoryBot.build_stubbed(:default_status) } - let(:other_status) { FactoryBot.build_stubbed(:status) } + let(:default_status) { build_stubbed(:default_status) } + let(:other_status) { build_stubbed(:status) } let(:new_statuses) { [other_status, default_status] } before do @@ -205,7 +205,7 @@ describe WorkPackages::SetAttributesService, type: :model do end context 'author' do - let(:other_user) { FactoryBot.build_stubbed(:user) } + let(:other_user) { build_stubbed(:user) } context 'no value set before for a new work package' do let(:call_attributes) { {} } @@ -268,14 +268,14 @@ describe WorkPackages::SetAttributesService, type: :model do context 'with the actual contract' do let(:invalid_wp) do - wp = FactoryBot.create(:work_package) + wp = create(:work_package) wp.start_date = Date.today + 5.days wp.due_date = Date.today wp.save!(validate: false) wp end - let(:user) { FactoryBot.build_stubbed(:admin) } + let(:user) { build_stubbed(:admin) } let(:instance) do described_class.new(user: user, model: invalid_wp, @@ -297,7 +297,7 @@ describe WorkPackages::SetAttributesService, type: :model do context 'start_date & due_date' do let(:parent) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, start_date: parent_start_date, due_date: parent_due_date) end @@ -565,8 +565,8 @@ describe WorkPackages::SetAttributesService, type: :model do end context 'priority' do - let(:default_priority) { FactoryBot.build_stubbed(:priority) } - let(:other_priority) { FactoryBot.build_stubbed(:priority) } + let(:default_priority) { build_stubbed(:priority) } + let(:other_priority) { build_stubbed(:priority) } before do allow(IssuePriority) @@ -613,7 +613,7 @@ describe WorkPackages::SetAttributesService, type: :model do end context 'when switching the type' do - let(:target_type) { FactoryBot.build_stubbed(:type) } + let(:target_type) { build_stubbed(:type) } context 'with a type that is no milestone' do before do @@ -659,17 +659,17 @@ describe WorkPackages::SetAttributesService, type: :model do end context 'when switching the project' do - let(:new_project) { FactoryBot.build_stubbed(:project) } - let(:version) { FactoryBot.build_stubbed(:version) } - let(:category) { FactoryBot.build_stubbed(:category) } - let(:new_category) { FactoryBot.build_stubbed(:category, name: category.name) } + let(:new_project) { build_stubbed(:project) } + let(:version) { build_stubbed(:version) } + let(:category) { build_stubbed(:category) } + let(:new_category) { build_stubbed(:category, name: category.name) } let(:new_statuses) { [work_package.status] } let(:new_versions) { [] } let(:type) { work_package.type } let(:new_types) { [type] } - let(:default_type) { FactoryBot.build_stubbed(:type_standard) } - let(:other_type) { FactoryBot.build_stubbed(:type) } - let(:yet_another_type) { FactoryBot.build_stubbed(:type) } + let(:default_type) { build_stubbed(:type_standard) } + let(:other_type) { build_stubbed(:type) } + let(:yet_another_type) { build_stubbed(:type) } let(:call_attributes) { {} } let(:new_project_categories) do @@ -870,12 +870,12 @@ describe WorkPackages::SetAttributesService, type: :model do context 'when switching back to automatic scheduling' do let(:work_package) do - wp = FactoryBot.build_stubbed(:work_package, + wp = build_stubbed(:work_package, project: project, schedule_manually: true, start_date: Date.today, due_date: Date.today + 5.days) - wp.type = FactoryBot.build_stubbed(:type) + wp.type = build_stubbed(:type) wp.send(:clear_changes_information) allow(wp) @@ -929,7 +929,7 @@ describe WorkPackages::SetAttributesService, type: :model do context 'when the work package also has a child' do let(:child) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, start_date: child_start_date, due_date: child_due_date) end diff --git a/spec/services/work_packages/set_schedule_service_spec.rb b/spec/services/work_packages/set_schedule_service_spec.rb index 1b64edee558..062bc0687e5 100644 --- a/spec/services/work_packages/set_schedule_service_spec.rb +++ b/spec/services/work_packages/set_schedule_service_spec.rb @@ -32,7 +32,7 @@ require 'spec_helper' describe WorkPackages::SetScheduleService do let(:work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, start_date: work_package_start_date, due_date: work_package_due_date) end @@ -42,17 +42,17 @@ describe WorkPackages::SetScheduleService do described_class.new(user: user, work_package: work_package) end let!(:following) { [] } - let(:user) { FactoryBot.build_stubbed(:user) } - let(:type) { FactoryBot.build_stubbed(:type) } + let(:user) { build_stubbed(:user) } + let(:type) { build_stubbed(:type) } def stub_follower(start_date, due_date, predecessors) - work_package = FactoryBot.build_stubbed(:stubbed_work_package, + work_package = build_stubbed(:stubbed_work_package, type: type, start_date: start_date, due_date: due_date) relations = predecessors.map do |predecessor, delay| - FactoryBot.build_stubbed(:follows_relation, + build_stubbed(:follows_relation, delay: delay, from: work_package, to: predecessor) @@ -70,7 +70,7 @@ describe WorkPackages::SetScheduleService do due, {}) - relation = FactoryBot.build_stubbed(:hierarchy_relation, + relation = build_stubbed(:hierarchy_relation, from: parent, to: child) @@ -114,7 +114,7 @@ describe WorkPackages::SetScheduleService do parent_follower1_due_date, {}) - relation = FactoryBot.build_stubbed(:hierarchy_relation, + relation = build_stubbed(:hierarchy_relation, from: work_package, to: following_work_package1) @@ -130,7 +130,7 @@ describe WorkPackages::SetScheduleService do follower1_due_date + 4.days, {}) - relation = FactoryBot.build_stubbed(:hierarchy_relation, + relation = build_stubbed(:hierarchy_relation, from: parent_following_work_package1, to: sibling) @@ -330,20 +330,20 @@ describe WorkPackages::SetScheduleService do context 'moving backwards with the follower having another relation limiting movement' do let(:other_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, type: type, start_date: follower1_start_date - 8.days, due_date: follower1_start_date - 5.days) end let(:follow_relation) do - FactoryBot.build_stubbed(:follows_relation, + build_stubbed(:follows_relation, to: work_package, from: following_work_package1) end let(:other_follow_relation) do - FactoryBot.build_stubbed(:follows_relation, + build_stubbed(:follows_relation, delay: 3, to: other_work_package, from: following_work_package1) @@ -465,7 +465,7 @@ describe WorkPackages::SetScheduleService do another_successor => 0) end let(:another_successor) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, start_date: nil, due_date: nil) end @@ -498,7 +498,7 @@ describe WorkPackages::SetScheduleService do context 'with only a parent' do let(:parent_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package) + build_stubbed(:stubbed_work_package) end let(:work_package_start_date) { Date.today - 5.days } let!(:following) do @@ -580,14 +580,14 @@ describe WorkPackages::SetScheduleService do context 'moving backwards with the parent having another relation limiting movement' do let(:other_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, type: type, start_date: Date.today - 8.days, due_date: Date.today - 4.days) end let(:other_follow_relation) do - FactoryBot.build_stubbed(:follows_relation, + build_stubbed(:follows_relation, delay: 2, to: other_work_package, from: parent_following_work_package1) @@ -615,14 +615,14 @@ describe WorkPackages::SetScheduleService do context 'moving backwards with the parent having another relation not limiting movement' do let(:other_work_package) do - FactoryBot.build_stubbed(:stubbed_work_package, + build_stubbed(:stubbed_work_package, type: type, start_date: Date.today - 10.days, due_date: Date.today - 9.days) end let(:other_follow_relation) do - FactoryBot.build_stubbed(:follows_relation, + build_stubbed(:follows_relation, delay: 2, to: other_work_package, from: parent_following_work_package1) @@ -921,7 +921,7 @@ describe WorkPackages::SetScheduleService do end context 'when setting the parent' do - let(:new_parent_work_package) { FactoryBot.build_stubbed(:stubbed_work_package) } + let(:new_parent_work_package) { build_stubbed(:stubbed_work_package) } let(:attributes) { [:parent] } before do diff --git a/spec/services/work_packages/update_ancestors_service_spec.rb b/spec/services/work_packages/update_ancestors_service_spec.rb index 3d7f9c04ec6..a151aaa9fdc 100644 --- a/spec/services/work_packages/update_ancestors_service_spec.rb +++ b/spec/services/work_packages/update_ancestors_service_spec.rb @@ -29,12 +29,12 @@ require 'spec_helper' describe WorkPackages::UpdateAncestorsService, type: :model, with_mail: false do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } let(:estimated_hours) { [nil, nil, nil] } let(:done_ratios) { [0, 0, 0] } let(:statuses) { %i(open open open) } - let(:open_status) { FactoryBot.create :status } - let(:closed_status) { FactoryBot.create :closed_status } + let(:open_status) { create :status } + let(:closed_status) { create :closed_status } let(:aggregate_done_ratio) { 0.0 } context 'for the new ancestor chain' do @@ -66,14 +66,14 @@ describe WorkPackages::UpdateAncestorsService, type: :model, with_mail: false do let(:children) do (statuses.size - 1).downto(0).map do |i| - FactoryBot.create :work_package, + create :work_package, parent: parent, status: statuses[i] == :open ? open_status : closed_status, estimated_hours: estimated_hours[i], done_ratio: done_ratios[i] end end - let(:parent) { FactoryBot.create :work_package, status: open_status } + let(:parent) { create :work_package, status: open_status } subject do described_class @@ -191,14 +191,14 @@ describe WorkPackages::UpdateAncestorsService, type: :model, with_mail: false do let(:sibling_estimated_hours) { 7.0 } let!(:grandparent) do - FactoryBot.create :work_package + create :work_package end let!(:parent) do - FactoryBot.create :work_package, + create :work_package, parent: grandparent end let!(:sibling) do - FactoryBot.create :work_package, + create :work_package, parent: parent, status: sibling_status, estimated_hours: sibling_estimated_hours, @@ -206,7 +206,7 @@ describe WorkPackages::UpdateAncestorsService, type: :model, with_mail: false do end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, parent: parent end @@ -261,14 +261,14 @@ describe WorkPackages::UpdateAncestorsService, type: :model, with_mail: false do let(:estimated_hours) { 7.0 } let!(:grandparent) do - FactoryBot.create :work_package + create :work_package end let!(:parent) do - FactoryBot.create :work_package, + create :work_package, parent: grandparent end let!(:work_package) do - FactoryBot.create :work_package, + create :work_package, status: status, estimated_hours: estimated_hours, done_ratio: done_ratio diff --git a/spec/services/work_packages/update_service_integration_spec.rb b/spec/services/work_packages/update_service_integration_spec.rb index af3a46c01f9..f56eb8e1759 100644 --- a/spec/services/work_packages/update_service_integration_spec.rb +++ b/spec/services/work_packages/update_service_integration_spec.rb @@ -32,20 +32,20 @@ require 'spec_helper' describe WorkPackages::UpdateService, 'integration tests', type: :model, with_mail: false do let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } + let(:role) { create(:role, permissions: permissions) } let(:permissions) do %i(view_work_packages edit_work_packages add_work_packages move_work_packages manage_subtasks) end - let(:status) { FactoryBot.create(:default_status) } - let(:type) { FactoryBot.create(:type_standard) } + let(:status) { create(:default_status) } + let(:type) { create(:type_standard) } let(:project_types) { [type] } - let(:project) { FactoryBot.create(:project, types: project_types) } - let(:priority) { FactoryBot.create(:priority) } + let(:project) { create(:project, types: project_types) } + let(:priority) { create(:priority) } let(:work_package_attributes) do { project_id: project.id, type_id: type.id, @@ -54,18 +54,18 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma priority: priority } end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, work_package_attributes) end let(:parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, work_package_attributes).tap do |w| w.children << work_package work_package.reload end end let(:grandparent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, work_package_attributes).tap do |w| w.children << parent_work_package end @@ -77,25 +77,25 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma work_package_attributes.merge(parent: parent_work_package) end let(:sibling1_work_package) do - FactoryBot.create(:work_package, + create(:work_package, sibling1_attributes) end let(:sibling2_work_package) do - FactoryBot.create(:work_package, + create(:work_package, sibling2_attributes) end let(:child_attributes) do work_package_attributes.merge(parent: work_package) end let(:child_work_package) do - FactoryBot.create(:work_package, + create(:work_package, child_attributes) end let(:grandchild_attributes) do work_package_attributes.merge(parent: child_work_package) end let(:grandchild_work_package) do - FactoryBot.create(:work_package, + create(:work_package, grandchild_attributes) end let(:instance) do @@ -122,14 +122,14 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'updating project' do let(:target_project) do - p = FactoryBot.create(:project, + p = create(:project, types: target_types, parent: target_parent) - FactoryBot.create(:member, + create(:member, user: user, project: p, - roles: [FactoryBot.create(:role, permissions: target_permissions)]) + roles: [create(:role, permissions: target_permissions)]) p end @@ -149,10 +149,10 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'time_entries' do let!(:time_entries) do - [FactoryBot.create(:time_entry, + [create(:time_entry, project: project, work_package: work_package), - FactoryBot.create(:time_entry, + create(:time_entry, project: project, work_package: work_package)] end @@ -167,7 +167,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'categories' do let(:category) do - FactoryBot.create(:category, + create(:category, project: project) end @@ -178,7 +178,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma context 'with equally named category' do let!(:target_category) do - FactoryBot.create(:category, + create(:category, name: category.name, project: target_project) end @@ -194,7 +194,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma context 'w/o target category' do let!(:other_category) do - FactoryBot.create(:category, + create(:category, project: target_project) end @@ -211,13 +211,13 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'version' do let(:sharing) { 'none' } let(:version) do - FactoryBot.create(:version, + create(:version, status: 'open', project: project, sharing: sharing) end let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, version: version, project: project) end @@ -275,14 +275,14 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'type' do let(:target_types) { [type, other_type] } - let(:other_type) { FactoryBot.create(:type) } + let(:other_type) { create(:type) } let(:default_type) { type } let(:project_types) { [type, other_type] } let!(:workflow_type) do - FactoryBot.create(:workflow, type: default_type, role: role, old_status_id: status.id) + create(:workflow, type: default_type, role: role, old_status_id: status.id) end let!(:workflow_other_type) do - FactoryBot.create(:workflow, type: other_type, role: role, old_status_id: status.id) + create(:workflow, type: other_type, role: role, old_status_id: status.id) end context 'with the type existing in the target project' do @@ -517,9 +517,9 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'closing duplicates on closing status' do let(:status_closed) do - FactoryBot.create(:status, + create(:status, is_closed: true).tap do |status_closed| - FactoryBot.create(:workflow, + create(:workflow, old_status: status, new_status: status_closed, type: type, @@ -527,7 +527,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma end end let(:duplicate_work_package) do - FactoryBot.create(:work_package, + create(:work_package, work_package_attributes).tap do |wp| wp.duplicated << work_package end @@ -577,7 +577,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 20.days) end let(:following_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following_attributes).tap do |wp| wp.follows << work_package end @@ -588,7 +588,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 20.days) end let(:following_parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following_parent_attributes) end let(:following2_attributes) do @@ -598,7 +598,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 25.days) end let(:following2_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following2_attributes) end let(:following2_parent_attributes) do @@ -607,7 +607,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 25.days) end let(:following2_parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following2_parent_attributes).tap do |wp| wp.follows << following_parent_work_package end @@ -619,7 +619,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 30.days) end let(:following3_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following3_attributes).tap do |wp| wp.follows << following2_work_package end @@ -630,7 +630,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 36.days) end let(:following3_parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following3_parent_attributes) end let(:following3_sibling_attributes) do @@ -640,7 +640,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 36.days) end let(:following3_sibling_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following3_sibling_attributes) end @@ -751,7 +751,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 20.days) end let(:following_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following_attributes).tap do |wp| wp.follows << work_package end @@ -762,7 +762,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 20.days) end let(:following_parent_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following_parent_attributes) end let(:other_attributes) do @@ -771,7 +771,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 18.days) end let(:other_work_package) do - FactoryBot.create(:work_package, + create(:work_package, other_attributes) end let(:following2_attributes) do @@ -781,7 +781,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 28.days) end let(:following2_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following2_attributes) end let(:following2_parent_attributes) do @@ -790,12 +790,12 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 28.days) end let(:following2_parent_work_package) do - following2 = FactoryBot.create(:work_package, + following2 = create(:work_package, following2_parent_attributes).tap do |wp| wp.follows << following_parent_work_package end - FactoryBot.create(:relation, + create(:relation, relation_type: Relation::TYPE_FOLLOWS, from: following2, to: other_work_package, @@ -809,7 +809,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma due_date: Date.today + 33.days) end let(:following3_work_package) do - FactoryBot.create(:work_package, + create(:work_package, following3_attributes).tap do |wp| wp.follows << following2_work_package end @@ -892,7 +892,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma } end let(:former_parent_work_package) do - FactoryBot.create(:work_package, former_parent_attributes) + create(:work_package, former_parent_attributes) end let(:former_sibling_attributes) do @@ -904,7 +904,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma ) end let(:former_sibling_work_package) do - FactoryBot.create(:work_package, former_sibling_attributes) + create(:work_package, former_sibling_attributes) end let(:work_package_attributes) do @@ -927,7 +927,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma ) end let(:new_parent_work_package) do - FactoryBot.create(:work_package, new_parent_attributes) + create(:work_package, new_parent_attributes) end let(:new_sibling_attributes) do @@ -939,7 +939,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma ) end let(:new_sibling_work_package) do - FactoryBot.create(:work_package, new_sibling_attributes) + create(:work_package, new_sibling_attributes) end before do @@ -992,7 +992,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma ) end let(:new_parent_work_package) do - FactoryBot.create(:work_package, new_parent_attributes) + create(:work_package, new_parent_attributes) end let(:new_parent_predecessor_attributes) do @@ -1004,7 +1004,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma ) end let(:new_parent_predecessor_work_package) do - wp = FactoryBot.create(:work_package, new_parent_predecessor_attributes) + wp = create(:work_package, new_parent_predecessor_attributes) wp.precedes << new_parent_work_package @@ -1085,7 +1085,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma end let(:parent_work_package) do - FactoryBot.create(:work_package, parent_attributes) + create(:work_package, parent_attributes) end let(:sibling_attributes) do @@ -1097,7 +1097,7 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma end let(:sibling_work_package) do - wp = FactoryBot.create(:work_package, sibling_attributes) + wp = create(:work_package, sibling_attributes) wp.follows << work_package @@ -1135,13 +1135,13 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma describe 'replacing the attachments' do let!(:old_attachment) do - FactoryBot.create(:attachment, container: work_package) + create(:attachment, container: work_package) end let!(:other_users_attachment) do - FactoryBot.create(:attachment, container: nil, author: FactoryBot.create(:user)) + create(:attachment, container: nil, author: create(:user)) end let!(:new_attachment) do - FactoryBot.create(:attachment, container: nil, author: user) + create(:attachment, container: nil, author: user) end it 'reports on invalid attachments and replaces the existent with the new if everything is valid' do @@ -1197,13 +1197,13 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma # # Trying to set parent of C to B failed because parent relation is requested before change is saved. describe 'Changing parent to a new one that has the same parent as the current element (Regression #27746)' do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } let(:user) { admin } - let(:project) { FactoryBot.create :project } - let!(:wp_a) { FactoryBot.create :work_package } - let!(:wp_b) { FactoryBot.create :work_package, parent: wp_a } - let!(:wp_c) { FactoryBot.create :work_package, parent: wp_a } + let(:project) { create :project } + let!(:wp_a) { create :work_package } + let!(:wp_b) { create :work_package, parent: wp_a } + let!(:wp_c) { create :work_package, parent: wp_a } let(:work_package) { wp_c } @@ -1215,13 +1215,13 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma end describe 'Changing type to one that does not have the current status (Regression #27780)' do - let(:type) { FactoryBot.create :type_with_workflow } - let(:new_type) { FactoryBot.create :type } + let(:type) { create :type_with_workflow } + let(:new_type) { create :type } let(:project_types) { [type, new_type] } let(:attributes) { { type: new_type } } context 'work package does NOT have default status' do - let(:status) { FactoryBot.create(:status) } + let(:status) { create(:status) } it 'assigns the default status' do expect(work_package).to receive(:status=).and_call_original @@ -1232,9 +1232,9 @@ describe WorkPackages::UpdateService, 'integration tests', type: :model, with_ma end context 'work package does have default status' do - let(:status) { FactoryBot.create :default_status } + let(:status) { create :default_status } let!(:workflow_type) do - FactoryBot.create(:workflow, type: new_type, role: role, old_status_id: status.id) + create(:workflow, type: new_type, role: role, old_status_id: status.id) end it 'does not set the status' do diff --git a/spec/services/work_packages/update_service_spec.rb b/spec/services/work_packages/update_service_spec.rb index 3591c944538..17052e6fa08 100644 --- a/spec/services/work_packages/update_service_spec.rb +++ b/spec/services/work_packages/update_service_spec.rb @@ -31,16 +31,16 @@ require 'spec_helper' describe WorkPackages::UpdateService, type: :model do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:project) do - p = FactoryBot.build_stubbed(:project) + p = build_stubbed(:project) allow(p).to receive(:shared_versions).and_return([]) p end let(:work_package) do - wp = FactoryBot.build_stubbed(:work_package, project: project) - wp.type = FactoryBot.build_stubbed(:type) + wp = build_stubbed(:work_package, project: project) + wp.type = build_stubbed(:type) wp.send(:clear_changes_information) wp @@ -191,7 +191,7 @@ describe WorkPackages::UpdateService, type: :model do context 'when switching the project' do let(:target_project) do - FactoryBot.build_stubbed(:project) + build_stubbed(:project) end let(:call_attributes) { attributes } let(:attributes) { { project: target_project } } @@ -246,7 +246,7 @@ describe WorkPackages::UpdateService, type: :model do end context 'when switching the type' do - let(:target_type) { FactoryBot.build_stubbed(:type) } + let(:target_type) { build_stubbed(:type) } context 'custom_values' do it 'resets the custom values' do diff --git a/spec/services/workflows/bulk_update_service_integration_spec.rb b/spec/services/workflows/bulk_update_service_integration_spec.rb index 391e71d8ad0..b7688704775 100644 --- a/spec/services/workflows/bulk_update_service_integration_spec.rb +++ b/spec/services/workflows/bulk_update_service_integration_spec.rb @@ -30,25 +30,25 @@ require 'spec_helper' describe Workflows::BulkUpdateService, 'integration', type: :model do let(:type) do - FactoryBot.create(:type) + create(:type) end let(:role) do - FactoryBot.create(:role) + create(:role) end let(:status1) do - FactoryBot.create(:status) + create(:status) end let(:status2) do - FactoryBot.create(:status) + create(:status) end let(:status3) do - FactoryBot.create(:status) + create(:status) end let(:status4) do - FactoryBot.create(:status) + create(:status) end let(:status5) do - FactoryBot.create(:status) + create(:status) end let(:instance) do diff --git a/spec/support/api/v3/shared_available_principals_examples.rb b/spec/support/api/v3/shared_available_principals_examples.rb index b92cdeb64e4..b8e19ff311d 100644 --- a/spec/support/api/v3/shared_available_principals_examples.rb +++ b/spec/support/api/v3/shared_available_principals_examples.rb @@ -32,24 +32,24 @@ shared_examples_for 'available principals' do |principals| include API::V3::Utilities::PathHelper current_user do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end let(:other_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: role) end - let(:role) { FactoryBot.create(:role, permissions: permissions) } - let(:project) { FactoryBot.create(:project) } + let(:role) { create(:role, permissions: permissions) } + let(:project) { create(:project) } let(:group) do - FactoryBot.create(:group, + create(:group, member_in_project: project, member_through_role: role) end let(:placeholder_user) do - FactoryBot.create(:placeholder_user, + create(:placeholder_user, member_in_project: project, member_through_role: role) end diff --git a/spec/support/permission_specs.rb b/spec/support/permission_specs.rb index 0edb9cc902d..77be1b8ccca 100644 --- a/spec/support/permission_specs.rb +++ b/spec/support/permission_specs.rb @@ -33,8 +33,8 @@ require File.expand_path('shared/become_member', __dir__) module PermissionSpecs def self.included(base) base.class_eval do - let(:project) { FactoryBot.create(:project, public: false) } - let(:current_user) { FactoryBot.create(:user) } + let(:project) { create(:project, public: false) } + let(:current_user) { create(:user) } include BecomeMember diff --git a/spec/support/queries/filters/shared_filter_examples.rb b/spec/support/queries/filters/shared_filter_examples.rb index eff7f4b0027..b065d6fc886 100644 --- a/spec/support/queries/filters/shared_filter_examples.rb +++ b/spec/support/queries/filters/shared_filter_examples.rb @@ -41,8 +41,8 @@ end shared_examples_for 'basic query filter' do include_context 'filter tests' - let(:context) { FactoryBot.build_stubbed(:query, project: project) } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:context) { build_stubbed(:query, project: project) } + let(:project) { build_stubbed(:project) } let(:expected_class_key) { defined?(:class_key) ? class_key : raise('needs to be defined') } let(:type) { raise 'needs to be defined' } let(:human_name) { nil } @@ -470,9 +470,9 @@ end shared_examples_for 'filter by work package id' do include_context 'filter tests' - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:query) do - FactoryBot.build_stubbed(:query, project: project) + build_stubbed(:query, project: project) end it_behaves_like 'basic query filter' do @@ -543,7 +543,7 @@ shared_examples_for 'filter by work package id' do end describe '#value_object' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } it 'returns the work package for the values' do allow(WorkPackage) @@ -565,8 +565,8 @@ shared_examples_for 'filter by work package id' do end describe '#valid_values!' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } - let(:invisible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } + let(:invisible_wp) { build_stubbed(:work_package) } context 'within a project' do it 'removes all non existing/non visible ids' do @@ -609,8 +609,8 @@ shared_examples_for 'filter by work package id' do end describe '#validate' do - let(:visible_wp) { FactoryBot.build_stubbed(:work_package) } - let(:invisible_wp) { FactoryBot.build_stubbed(:work_package) } + let(:visible_wp) { build_stubbed(:work_package) } + let(:invisible_wp) { build_stubbed(:work_package) } context 'within a project' do it 'is valid if only visible wps are values' do @@ -701,15 +701,15 @@ end shared_examples_for 'filter for relation' do describe '#where' do - let!(:filter_value_wp) { FactoryBot.create(:work_package) } + let!(:filter_value_wp) { create(:work_package) } let(:wp_relation_type) { defined?(:relation_type) ? relation_type : raise('needs to be defined') } let!(:related_wp) do relation = Hash.new relation[wp_relation_type] = [filter_value_wp] - FactoryBot.create(:work_package, relation) + create(:work_package, relation) end - let!(:unrelated_wp) { FactoryBot.create(:work_package) } + let!(:unrelated_wp) { create(:work_package) } before do instance.values = [filter_value_wp.id.to_s] diff --git a/spec/support/queries/shared_get_individual_query_examples.rb b/spec/support/queries/shared_get_individual_query_examples.rb index 83ca27d8a16..983d778edb6 100644 --- a/spec/support/queries/shared_get_individual_query_examples.rb +++ b/spec/support/queries/shared_get_individual_query_examples.rb @@ -27,7 +27,7 @@ #++ shared_examples_for 'GET individual query' do - let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:work_package) { create(:work_package, project: project) } let(:filter) { [] } let(:path) do if filter.any? diff --git a/spec/support/repository_helpers.rb b/spec/support/repository_helpers.rb index 3b9e7db775c..8d98779abbd 100644 --- a/spec/support/repository_helpers.rb +++ b/spec/support/repository_helpers.rb @@ -69,7 +69,7 @@ end # Instead, we wrap these repository specs in a virtual # subversion repository which does not exist on disk. def with_virtual_subversion_repository(&block) - let(:repository) { FactoryBot.create(:repository_subversion) } + let(:repository) { create(:repository_subversion) } before do allow(Setting).to receive(:enabled_scm).and_return(['subversion']) diff --git a/spec/support/scm/relocate_repository.rb b/spec/support/scm/relocate_repository.rb index b7ced5c2019..0237b5b248d 100644 --- a/spec/support/scm/relocate_repository.rb +++ b/spec/support/scm/relocate_repository.rb @@ -2,9 +2,9 @@ shared_examples_for 'repository can be relocated' do |vendor| let(:job_call) do ::SCM::RelocateRepositoryJob.perform_now repository end - let(:project) { FactoryBot.build :project } + let(:project) { build :project } let(:repository) do - repo = FactoryBot.build("repository_#{vendor}".to_sym, + repo = build("repository_#{vendor}".to_sym, project: project, scm_type: :managed) @@ -51,7 +51,7 @@ shared_examples_for 'repository can be relocated' do |vendor| stub_request(:post, url) .to_return(status: 200, body: { success: true, url: 'file:///foo/bar', path: '/tmp/foo/bar' }.to_json) - FactoryBot.create("repository_#{vendor}".to_sym, + create("repository_#{vendor}".to_sym, project: project, scm_type: :managed) end diff --git a/spec/support/shared/acts_as_attachable.rb b/spec/support/shared/acts_as_attachable.rb index dd0d1f9b5d9..46734812881 100644 --- a/spec/support/shared/acts_as_attachable.rb +++ b/spec/support/shared/acts_as_attachable.rb @@ -27,8 +27,8 @@ #++ shared_examples_for 'acts_as_attachable included' do - let(:attachment1) { FactoryBot.create(:attachment, container: nil, author: current_user) } - let(:attachment2) { FactoryBot.create(:attachment, container: nil, author: current_user) } + let(:attachment1) { create(:attachment, container: nil, author: current_user) } + let(:attachment2) { create(:attachment, container: nil, author: current_user) } let(:instance_project) { respond_to?(:project) ? project : model_instance.project } let(:add_permission_user) do permission = if model_instance.persisted? @@ -36,17 +36,17 @@ shared_examples_for 'acts_as_attachable included' do else Array(described_class.attachable_options[:add_on_new_permission]) end - FactoryBot.create(:user, + create(:user, member_in_project: instance_project, member_with_permissions: permission) end let(:no_permission_user) do - FactoryBot.create(:user, + create(:user, member_in_project: instance_project, member_with_permissions: []) end let(:other_user) do - FactoryBot.create(:user) + create(:user) end let(:current_user) { add_permission_user } @@ -89,8 +89,8 @@ shared_examples_for 'acts_as_attachable included' do context 'for attachments that are attached, created by the current_user, ' + 'added to attachments_claimed and the user having the permission' do - let(:attachment1) { FactoryBot.create(:attachment, author: current_user) } - let(:attachment2) { FactoryBot.create(:attachment, author: current_user) } + let(:attachment1) { create(:attachment, author: current_user) } + let(:attachment2) { create(:attachment, author: current_user) } it 'is invalid' do model_instance.attachments_claimed = [attachment1, attachment2] @@ -105,8 +105,8 @@ shared_examples_for 'acts_as_attachable included' do context 'for attachments that are unattached, not created by the current_user, ' + 'added to attachments_claimed and the user having the permission' do - let(:attachment1) { FactoryBot.create(:attachment, container: nil, author: other_user) } - let(:attachment2) { FactoryBot.create(:attachment, container: nil, author: other_user) } + let(:attachment1) { create(:attachment, container: nil, author: other_user) } + let(:attachment2) { create(:attachment, container: nil, author: other_user) } it 'is invalid' do model_instance.attachments_claimed = [attachment1, attachment2] @@ -141,7 +141,7 @@ shared_examples_for 'acts_as_attachable included' do end describe '#attachments_visible' do - let!(:attachment1) { FactoryBot.create(:attachment, container: model_instance, author: current_user) } + let!(:attachment1) { create(:attachment, container: model_instance, author: current_user) } it 'allows access to a logged user when viewable_by_all_users is set' do if model_instance.class.attachable_options[:viewable_by_all_users] diff --git a/spec/support/shared/acts_as_watchable.rb b/spec/support/shared/acts_as_watchable.rb index 30b8e14cf56..b00d03c0b93 100644 --- a/spec/support/shared/acts_as_watchable.rb +++ b/spec/support/shared/acts_as_watchable.rb @@ -43,17 +43,17 @@ MESSAGE let(:watcher_role) do permissions = is_public_permission ? [] : [watch_permission] - FactoryBot.create(:role, permissions: permissions) + create(:role, permissions: permissions) end - let(:non_watcher_role) { FactoryBot.create(:role, permissions: []) } - let(:non_member_user) { FactoryBot.create(:user) } + let(:non_watcher_role) { create(:role, permissions: []) } + let(:non_member_user) { create(:user) } let(:user_with_permission) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: watcher_role) end let(:locked_user_with_permission) do - FactoryBot.create(:user, + create(:user, status: Principal.statuses[:locked], member_in_project: project, member_through_role: watcher_role) @@ -61,17 +61,17 @@ MESSAGE let(:user_wo_permission) do if is_public_permission - FactoryBot.create(:user) + create(:user) else - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: non_watcher_role) end end - let(:admin) { FactoryBot.build(:admin) } - let(:anonymous_user) { FactoryBot.build(:anonymous) } + let(:admin) { build(:admin) } + let(:anonymous_user) { build(:anonymous) } let(:watching_user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_through_role: watcher_role).tap do |user| Watcher.create(watchable: model_instance, user: user) @@ -101,7 +101,7 @@ MESSAGE shared_context 'anonymous role has the permission to watch' do let(:anonymous_role) do permissions = is_public_permission ? [] : [watch_permission] - FactoryBot.build :anonymous_role, permissions: permissions + build :anonymous_role, permissions: permissions end before do diff --git a/spec/support/shared/become_member.rb b/spec/support/shared/become_member.rb index 66612300a9b..89c12b93c3e 100644 --- a/spec/support/shared/become_member.rb +++ b/spec/support/shared/become_member.rb @@ -35,14 +35,14 @@ module BecomeMember module InstanceMethods def become_member_with_permissions(project, user, permissions = []) - role = FactoryBot.create :role, permissions: Array(permissions) + role = create :role, permissions: Array(permissions) add_user_to_project! user: user, project: project, role: role end def add_user_to_project!(user:, project:, role: nil, permissions: nil) - role ||= FactoryBot.create :existing_role, permissions: Array(permissions) - FactoryBot.create :member, principal: user, project: project, roles: [role] + role ||= create :existing_role, permissions: Array(permissions) + create :member, principal: user, project: project, roles: [role] end end end diff --git a/spec/support/shared/permissions.rb b/spec/support/shared/permissions.rb index cf3d06bfce1..8426085a2a7 100644 --- a/spec/support/shared/permissions.rb +++ b/spec/support/shared/permissions.rb @@ -75,23 +75,23 @@ module PermissionSpecHelpers end shared_examples_for 'a controller action with unrestricted access' do - let(:valid_user) { FactoryBot.create(:anonymous) } + let(:valid_user) { create(:anonymous) } extend PermissionSpecHelpers spec_permissions(false) end shared_examples_for 'a controller action with require_login' do - let(:valid_user) { FactoryBot.create(:user) } - let(:invalid_user) { FactoryBot.create(:anonymous) } + let(:valid_user) { create(:user) } + let(:invalid_user) { create(:anonymous) } extend PermissionSpecHelpers spec_permissions end shared_examples_for 'a controller action with require_admin' do - let(:valid_user) { User.where(admin: true).first || FactoryBot.create(:admin) } - let(:invalid_user) { FactoryBot.create(:user) } + let(:valid_user) { User.where(admin: true).first || create(:admin) } + let(:invalid_user) { create(:user) } extend PermissionSpecHelpers spec_permissions @@ -100,7 +100,7 @@ end shared_examples_for 'a controller action which needs project permissions' do # Expecting the following environment # - # let(:project) { FactoryBot.create(:project) } + # let(:project) { create(:project) } # # def fetch # get 'action', project_id: project.identifier @@ -116,12 +116,12 @@ shared_examples_for 'a controller action which needs project permissions' do # # other - passed to response.should redirect_to(other) # true # end - let(:valid_user) { FactoryBot.create(:user) } - let(:invalid_user) { FactoryBot.create(:user) } + let(:valid_user) { create(:user) } + let(:invalid_user) { create(:user) } def add_membership(user, permissions) - role = FactoryBot.create(:role, permissions: Array(permissions)) - member = FactoryBot.build(:member, user: user, project: project) + role = create(:role, permissions: Array(permissions)) + member = build(:member, user: user, project: project) member.roles = [role] member.save! end diff --git a/spec/support/user_with_stubbed_permissions.rb b/spec/support/user_with_stubbed_permissions.rb index 1c45767e1dc..2f1ee358e99 100644 --- a/spec/support/user_with_stubbed_permissions.rb +++ b/spec/support/user_with_stubbed_permissions.rb @@ -3,7 +3,7 @@ shared_context 'user with stubbed permissions' do |attributes = {}| raise "'let(:permissions)' needs to be defined" unless defined?(:permissions) raise "'let(:project)' needs to be defined" unless defined?(:project) - FactoryBot.build_stubbed(:user, **attributes).tap do |u| + build_stubbed(:user, **attributes).tap do |u| allow(u) .to receive(:allowed_to?) do |queried_permission, queried_project| project == queried_project && permissions.include?(queried_permission) diff --git a/spec/support/work_packages.rb b/spec/support/work_packages.rb index fe8d08eb25b..102c7e96595 100644 --- a/spec/support/work_packages.rb +++ b/spec/support/work_packages.rb @@ -27,11 +27,11 @@ #++ def become_admin - let(:current_user) { FactoryBot.create(:admin) } + let(:current_user) { create(:admin) } end def become_non_member(&block) - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do projects = block ? instance_eval(&block) : [project] @@ -43,12 +43,12 @@ def become_non_member(&block) end def become_member_with_permissions(permissions) - let(:current_user) { FactoryBot.create(:user) } + let(:current_user) { create(:user) } before do - role = FactoryBot.create(:role, permissions: permissions) + role = create(:role, permissions: permissions) - member = FactoryBot.build(:member, user: current_user, project: project) + member = build(:member, user: current_user, project: project) member.roles = [role] member.save! end @@ -67,7 +67,7 @@ def build_work_package_hierarchy(data, *attributes, parent: nil, shared_attribut Array(data).each do |attr| if attr.is_a? Hash - parent_wp = FactoryBot.create( + parent_wp = create( :work_package, shared_attributes.merge(**attributes.zip(attr.keys.first).to_h) ) @@ -76,7 +76,7 @@ def build_work_package_hierarchy(data, *attributes, parent: nil, shared_attribut attr.values.first, *attributes, parent: parent_wp, shared_attributes: shared_attributes ) else - wp = FactoryBot.create :work_package, shared_attributes.merge(**attributes.zip(attr).to_h) + wp = create :work_package, shared_attributes.merge(**attributes.zip(attr).to_h) parent.children << wp if parent diff --git a/spec/views/account/register.html.erb_spec.rb b/spec/views/account/register.html.erb_spec.rb index 3cfd79821b5..74e9af77ff4 100644 --- a/spec/views/account/register.html.erb_spec.rb +++ b/spec/views/account/register.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'account/register', type: :view do - let(:user) { FactoryBot.build :user, auth_source: nil } + let(:user) { build :user, auth_source: nil } context 'with the email_login setting disabled (default value)' do before do @@ -40,8 +40,8 @@ describe 'account/register', type: :view do end context 'with auth source' do - let(:auth_source) { FactoryBot.create :auth_source } - let(:user) { FactoryBot.build :user, auth_source: auth_source } + let(:auth_source) { create :auth_source } + let(:user) { build :user, auth_source: auth_source } it 'should not show a login field' do expect(rendered).not_to include('user[login]') @@ -64,8 +64,8 @@ describe 'account/register', type: :view do end context 'with auth source' do - let(:auth_source) { FactoryBot.create :auth_source } - let(:user) { FactoryBot.build :user, auth_source: auth_source } + let(:auth_source) { create :auth_source } + let(:user) { build :user, auth_source: auth_source } it 'should not show a login field' do expect(rendered).not_to include('user[login]') diff --git a/spec/views/admin/enterprises/_current.html.erb_spec.rb b/spec/views/admin/enterprises/_current.html.erb_spec.rb index 56c087293e3..0efa6239419 100644 --- a/spec/views/admin/enterprises/_current.html.erb_spec.rb +++ b/spec/views/admin/enterprises/_current.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'admin/enterprises/_current', type: :view do - let(:current_user) { FactoryBot.create :admin } + let(:current_user) { create :admin } let(:ee_token) { "v1_expired_with_7_days_reprieve_at_2021_09_01.token" } let(:current_time) { DateTime.now } diff --git a/spec/views/custom_styles/show.html.erb_spec.rb b/spec/views/custom_styles/show.html.erb_spec.rb index 948198a7ab3..e41874d29d0 100644 --- a/spec/views/custom_styles/show.html.erb_spec.rb +++ b/spec/views/custom_styles/show.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'custom_styles/show', type: :view do - let(:user) { FactoryBot.build(:admin) } + let(:user) { build(:admin) } before do login_as user @@ -50,7 +50,7 @@ describe 'custom_styles/show', type: :view do context "with existing custom logo" do before do - assign(:custom_style, FactoryBot.build(:custom_style_with_logo)) + assign(:custom_style, build(:custom_style_with_logo)) assign(:current_theme, '') allow(view).to receive(:options_for_select).and_return('') render diff --git a/spec/views/layouts/admin.html.erb_spec.rb b/spec/views/layouts/admin.html.erb_spec.rb index 4b56a66a340..907dbc18627 100644 --- a/spec/views/layouts/admin.html.erb_spec.rb +++ b/spec/views/layouts/admin.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'layouts/admin', type: :view do - shared_let(:admin) { FactoryBot.create :admin } + shared_let(:admin) { create :admin } include Redmine::MenuManager::MenuHelper helper Redmine::MenuManager::MenuHelper diff --git a/spec/views/layouts/base.html.erb_spec.rb b/spec/views/layouts/base.html.erb_spec.rb index 3335b07fb49..8ce33a9d28c 100644 --- a/spec/views/layouts/base.html.erb_spec.rb +++ b/spec/views/layouts/base.html.erb_spec.rb @@ -36,8 +36,8 @@ describe 'layouts/base', type: :view do include Redmine::MenuManager::MenuHelper helper Redmine::MenuManager::MenuHelper - let(:user) { FactoryBot.build_stubbed :user } - let(:anonymous) { FactoryBot.build_stubbed(:anonymous) } + let(:user) { build_stubbed :user } + let(:anonymous) { build_stubbed(:anonymous) } before do allow(view).to receive(:current_menu_item).and_return('overview') @@ -182,8 +182,8 @@ describe 'layouts/base', type: :view do let(:current_user) { anonymous } context "EE is active and styles are present" do - let(:custom_style) { FactoryBot.create(:custom_style) } - let(:primary_color) { FactoryBot.create :"design_color_primary-color" } + let(:custom_style) { create(:custom_style) } + let(:primary_color) { create :"design_color_primary-color" } before do allow(EnterpriseToken).to receive(:allows_to?).with(:define_custom_style).and_return(true) diff --git a/spec/views/projects/settings/general/show.html.erb_spec.rb b/spec/views/projects/settings/general/show.html.erb_spec.rb index a07213a962a..470650a2658 100644 --- a/spec/views/projects/settings/general/show.html.erb_spec.rb +++ b/spec/views/projects/settings/general/show.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'projects/settings/general/show', type: :view do - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } describe 'project copy permission' do before do @@ -61,7 +61,7 @@ describe 'projects/settings/general/show', type: :view do end context 'User.current is admin' do - let(:admin) { FactoryBot.build_stubbed :admin } + let(:admin) { build_stubbed :admin } before do assign(:project, project) @@ -78,7 +78,7 @@ describe 'projects/settings/general/show', type: :view do end context 'User.current is non-admin' do - let(:non_admin) { FactoryBot.build_stubbed :user } + let(:non_admin) { build_stubbed :user } before do assign(:project, project) diff --git a/spec/views/repositories/stats.html.erb_spec.rb b/spec/views/repositories/stats.html.erb_spec.rb index a4afc27cb57..78533e074c2 100644 --- a/spec/views/repositories/stats.html.erb_spec.rb +++ b/spec/views/repositories/stats.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'repositories/stats', type: :view do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } before do assign(:project, project) diff --git a/spec/views/users/edit.html.erb_spec.rb b/spec/views/users/edit.html.erb_spec.rb index 9068707e2f0..fdbd84d392c 100644 --- a/spec/views/users/edit.html.erb_spec.rb +++ b/spec/views/users/edit.html.erb_spec.rb @@ -29,7 +29,7 @@ require 'spec_helper' describe 'users/edit', type: :view do - let(:admin) { FactoryBot.build :admin } + let(:admin) { build :admin } before do # The url_for is missing the users id that is usually taken @@ -40,7 +40,7 @@ describe 'users/edit', type: :view do context 'authentication provider' do let(:user) do - FactoryBot.build :user, id: 1, # id is required to create route to edit + build :user, id: 1, # id is required to create route to edit identity_url: 'test_provider:veryuniqueid' end @@ -66,7 +66,7 @@ describe 'users/edit', type: :view do end context 'with an invited user' do - let(:user) { FactoryBot.build_stubbed :invited_user } + let(:user) { build_stubbed :invited_user } before do assign(:user, user) @@ -85,7 +85,7 @@ describe 'users/edit', type: :view do end context 'for a non-admin' do - let(:non_admin) { FactoryBot.create :user } + let(:non_admin) { create :user } before do allow(view).to receive(:current_user).and_return(non_admin) @@ -99,7 +99,7 @@ describe 'users/edit', type: :view do end context 'with a normal (not invited) user' do - let(:user) { FactoryBot.create :user } + let(:user) { create :user } before do assign(:user, user) @@ -115,7 +115,7 @@ describe 'users/edit', type: :view do end context 'with password-based login' do - let(:user) { FactoryBot.build :user, id: 42 } + let(:user) { build :user, id: 42 } before do assign :user, user @@ -136,7 +136,7 @@ describe 'users/edit', type: :view do end context 'with auth sources' do - let(:auth_sources) { [FactoryBot.create(:auth_source)] } + let(:auth_sources) { [create(:auth_source)] } before do assign :auth_sources, auth_sources @@ -162,7 +162,7 @@ describe 'users/edit', type: :view do end context 'with auth sources' do - let(:auth_sources) { [FactoryBot.create(:auth_source)] } + let(:auth_sources) { [create(:auth_source)] } before do assign :auth_sources, auth_sources diff --git a/spec/views/users/index.html.erb_spec.rb b/spec/views/users/index.html.erb_spec.rb index bd83600d1f6..769c55350c6 100644 --- a/spec/views/users/index.html.erb_spec.rb +++ b/spec/views/users/index.html.erb_spec.rb @@ -29,8 +29,8 @@ require 'spec_helper' describe 'users/index', type: :view do - shared_let(:admin) { FactoryBot.create :admin } - let!(:user) { FactoryBot.create :user, firstname: "Scarlet", lastname: "Scallywag" } + shared_let(:admin) { create :admin } + let!(:user) { create :user, firstname: "Scarlet", lastname: "Scallywag" } before do User.system # create system user which is active but should not count towards limit diff --git a/spec/views/users/show.html.erb_spec.rb b/spec/views/users/show.html.erb_spec.rb index a23759fb967..9471b3bfd10 100644 --- a/spec/views/users/show.html.erb_spec.rb +++ b/spec/views/users/show.html.erb_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'users/show', type: :view do - let(:project) { FactoryBot.create :valid_project } - let(:user) { FactoryBot.create :admin, member_in_project: project } - let(:custom_field) { FactoryBot.create :text_user_custom_field } + let(:project) { create :valid_project } + let(:user) { create :admin, member_in_project: project } + let(:custom_field) { create :text_user_custom_field } let(:visibility_custom_value) do - FactoryBot.create(:principal_custom_value, + create(:principal_custom_value, customized: user, custom_field: custom_field, value: 'TextUserCustomFieldValue') diff --git a/spec/views/wiki/new.html.erb_spec.rb b/spec/views/wiki/new.html.erb_spec.rb index 33069af558c..fbac560b5f9 100644 --- a/spec/views/wiki/new.html.erb_spec.rb +++ b/spec/views/wiki/new.html.erb_spec.rb @@ -29,11 +29,11 @@ require 'spec_helper' describe 'wiki/new', type: :view do - let(:project) { FactoryBot.build_stubbed(:project) } - let(:wiki) { FactoryBot.build_stubbed(:wiki, project: project) } - let(:page) { FactoryBot.build_stubbed(:wiki_page_with_content, wiki: wiki, title: 'foo') } + let(:project) { build_stubbed(:project) } + let(:wiki) { build_stubbed(:wiki, project: project) } + let(:page) { build_stubbed(:wiki_page_with_content, wiki: wiki, title: 'foo') } let(:content) { page.content } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } before do assign(:project, project) diff --git a/spec/views/work_package/auto_complete/index_spec.rb b/spec/views/work_package/auto_complete/index_spec.rb index 3ca32230ffd..e906b874911 100644 --- a/spec/views/work_package/auto_complete/index_spec.rb +++ b/spec/views/work_package/auto_complete/index_spec.rb @@ -30,7 +30,7 @@ require 'spec_helper' describe 'work_packages/auto_completes/index.html.erb', type: :view do let(:work_package) do - FactoryBot.build(:work_package, + build(:work_package, subject: '') end diff --git a/spec/workers/attachments/cleanup_uncontainered_job_integration_spec.rb b/spec/workers/attachments/cleanup_uncontainered_job_integration_spec.rb index a58061a2f9a..d113aa58ebe 100644 --- a/spec/workers/attachments/cleanup_uncontainered_job_integration_spec.rb +++ b/spec/workers/attachments/cleanup_uncontainered_job_integration_spec.rb @@ -33,22 +33,22 @@ require 'spec_helper' describe Attachments::CleanupUncontaineredJob, type: :job do let(:grace_period) { 120 } - let!(:containered_attachment) { FactoryBot.create(:attachment) } + let!(:containered_attachment) { create(:attachment) } let!(:old_uncontainered_attachment) do - FactoryBot.create(:attachment, container: nil, created_at: Time.now - grace_period.minutes) + create(:attachment, container: nil, created_at: Time.now - grace_period.minutes) end let!(:new_uncontainered_attachment) do - FactoryBot.create(:attachment, container: nil, created_at: Time.now - (grace_period - 1).minutes) + create(:attachment, container: nil, created_at: Time.now - (grace_period - 1).minutes) end let!(:finished_upload) do - FactoryBot.create(:attachment, created_at: Time.now - grace_period.minutes, digest: "0x42") + create(:attachment, created_at: Time.now - grace_period.minutes, digest: "0x42") end let!(:old_pending_upload) do - FactoryBot.create(:attachment, created_at: Time.now - grace_period.minutes, digest: "", downloads: -1) + create(:attachment, created_at: Time.now - grace_period.minutes, digest: "", downloads: -1) end let!(:new_pending_upload) do - FactoryBot.create(:attachment, created_at: Time.now - (grace_period - 1).minutes, digest: "", downloads: -1) + create(:attachment, created_at: Time.now - (grace_period - 1).minutes, digest: "", downloads: -1) end let(:job) { described_class.new } diff --git a/spec/workers/attachments/finish_direct_upload_job_integration_spec.rb b/spec/workers/attachments/finish_direct_upload_job_integration_spec.rb index c2af82f4010..2683ac7ba4e 100644 --- a/spec/workers/attachments/finish_direct_upload_job_integration_spec.rb +++ b/spec/workers/attachments/finish_direct_upload_job_integration_spec.rb @@ -31,10 +31,10 @@ require 'spec_helper' describe Attachments::FinishDirectUploadJob, 'integration', type: :job do - shared_let(:user) { FactoryBot.create :admin } + shared_let(:user) { create :admin } let!(:pending_attachment) do - FactoryBot.create(:attachment, + create(:attachment, author: user, downloads: -1, digest: '', @@ -74,7 +74,7 @@ describe Attachments::FinishDirectUploadJob, 'integration', type: :job do end context 'for a journalized container' do - let!(:container) { FactoryBot.create(:work_package) } + let!(:container) { create(:work_package) } let!(:container_timestamp) { container.updated_at } it_behaves_like 'turning pending attachment into a standard attachment' @@ -122,7 +122,7 @@ describe Attachments::FinishDirectUploadJob, 'integration', type: :job do end context 'for a non journalized container' do - let!(:container) { FactoryBot.create(:wiki_page) } + let!(:container) { create(:wiki_page) } it_behaves_like 'turning pending attachment into a standard attachment' it_behaves_like "adding a journal to the attachment in the name of the attachment's author" @@ -137,7 +137,7 @@ describe Attachments::FinishDirectUploadJob, 'integration', type: :job do context 'with an incompatible attachment whitelist', with_settings: { attachment_whitelist: %w[image/png] } do - let!(:container) { FactoryBot.create(:work_package) } + let!(:container) { create(:work_package) } let!(:container_timestamp) { container.updated_at } it "Does not save the attachment" do @@ -171,8 +171,8 @@ describe Attachments::FinishDirectUploadJob, 'integration', type: :job do context 'with the user not being allowed', with_settings: { attachment_whitelist: %w[image/png] } do - shared_let(:user) { FactoryBot.create :user } - let!(:container) { FactoryBot.create(:work_package) } + shared_let(:user) { create :user } + let!(:container) { create(:work_package) } it "Does not save the attachment" do allow(pending_attachment).to receive(:save!) diff --git a/spec/workers/backup_job_spec.rb b/spec/workers/backup_job_spec.rb index 69aaf29ce0e..ee58b4032e4 100644 --- a/spec/workers/backup_job_spec.rb +++ b/spec/workers/backup_job_spec.rb @@ -32,13 +32,13 @@ describe BackupJob, type: :model do shared_examples "it creates a backup" do |opts = {}| let(:job) { BackupJob.new } - let(:previous_backup) { FactoryBot.create :backup } - let(:backup) { FactoryBot.create :backup } + let(:previous_backup) { create :backup } + let(:backup) { create :backup } let(:status) { :in_queue } let(:job_id) { 42 } let(:job_status) do - FactoryBot.create( + create( :delayed_job_status, user: user, reference: backup, @@ -59,7 +59,7 @@ describe BackupJob, type: :model do let(:arguments) { [{ backup: backup, user: user, **opts.except(:remote_storage) }] } - let(:user) { FactoryBot.create :admin } + let(:user) { create :admin } before do previous_backup; backup; status # create @@ -96,8 +96,8 @@ describe BackupJob, type: :model do context "with a successful database dump" do let(:db_dump_success) { true } - let!(:attachment) { FactoryBot.create :attachment } - let!(:pending_direct_upload) { FactoryBot.create :pending_direct_upload } + let!(:attachment) { create :attachment } + let!(:pending_direct_upload) { create :pending_direct_upload } let(:stored_backup) { Attachment.where(container_type: "Export").last } let(:backup_files) { Zip::File.open(stored_backup.file.path) { |zip| zip.entries.map(&:name) } } diff --git a/spec/workers/copy_project_job_spec.rb b/spec/workers/copy_project_job_spec.rb index 7c9a6b0e5b1..1c8004e9e2a 100644 --- a/spec/workers/copy_project_job_spec.rb +++ b/spec/workers/copy_project_job_spec.rb @@ -29,9 +29,9 @@ require 'spec_helper' describe CopyProjectJob, type: :model do - let(:project) { FactoryBot.create(:project, public: false) } - let(:user) { FactoryBot.create(:user) } - let(:role) { FactoryBot.create(:role, permissions: [:copy_projects]) } + let(:project) { create(:project, public: false) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: [:copy_projects]) } let(:params) { { name: 'Copy', identifier: 'copy' } } let(:maildouble) { double('Mail::Message', deliver: true) } @@ -40,9 +40,9 @@ describe CopyProjectJob, type: :model do end describe 'copy localizes error message' do - let(:user_de) { FactoryBot.create(:admin, language: :de) } - let(:source_project) { FactoryBot.create(:project) } - let(:target_project) { FactoryBot.create(:project) } + let(:user_de) { create(:admin, language: :de) } + let(:source_project) { create(:project) } + let(:target_project) { create(:project) } let(:copy_job) do CopyProjectJob.new @@ -64,12 +64,12 @@ describe CopyProjectJob, type: :model do end describe 'copy project succeeds with errors' do - let(:admin) { FactoryBot.create(:admin) } - let(:source_project) { FactoryBot.create(:project, types: [type]) } - let!(:work_package) { FactoryBot.create(:work_package, project: source_project, type: type) } - let(:type) { FactoryBot.create(:type_bug) } + let(:admin) { create(:admin) } + let(:source_project) { create(:project, types: [type]) } + let!(:work_package) { create(:work_package, project: source_project, type: type) } + let(:type) { create(:type_bug) } let(:custom_field) do - FactoryBot.create(:work_package_custom_field, + create(:work_package_custom_field, name: 'required_field', field_format: 'text', is_required: true, @@ -114,9 +114,9 @@ describe CopyProjectJob, type: :model do end describe 'project has an invalid repository' do - let(:admin) { FactoryBot.create(:admin) } + let(:admin) { create(:admin) } let(:source_project) do - project = FactoryBot.create(:project) + project = create(:project) # add invalid repo repository = Repository::Git.new scm_type: :existing, project: project @@ -152,8 +152,8 @@ describe CopyProjectJob, type: :model do end describe 'copy project fails with internal error' do - let(:admin) { FactoryBot.create(:admin) } - let(:source_project) { FactoryBot.create(:project) } + let(:admin) { create(:admin) } + let(:source_project) { create(:project) } let(:copy_job) do CopyProjectJob.new.tap do |job| job.perform user_id: admin.id, @@ -206,8 +206,8 @@ describe CopyProjectJob, type: :model do describe 'subproject' do let(:params) { { name: 'Copy', identifier: 'copy', parent_id: project.id } } let(:subproject) do - FactoryBot.create(:project, parent: project).tap do |p| - FactoryBot.create(:member, + create(:project, parent: project).tap do |p| + create(:member, principal: user, roles: [role], project: p) @@ -239,9 +239,9 @@ describe CopyProjectJob, type: :model do end describe 'user with add_subprojects permission in parent' do - let(:role_add_subproject) { FactoryBot.create(:role, permissions: [:add_subprojects]) } + let(:role_add_subproject) { create(:role, permissions: [:add_subprojects]) } let(:member_add_subproject) do - FactoryBot.create(:member, + create(:member, user: user, project: project, roles: [role_add_subproject]) diff --git a/spec/workers/extract_fulltext_job_spec.rb b/spec/workers/extract_fulltext_job_spec.rb index 2f1f25234eb..cc44b958867 100644 --- a/spec/workers/extract_fulltext_job_spec.rb +++ b/spec/workers/extract_fulltext_job_spec.rb @@ -50,7 +50,7 @@ describe ExtractFulltextJob, type: :job do let(:text) { 'lorem ipsum' } let(:attachment) do - FactoryBot.create(:attachment).tap do |attachment| + create(:attachment).tap do |attachment| expect(ExtractFulltextJob) .to have_been_enqueued .with(attachment.id) diff --git a/spec/workers/journals/completed_job_spec.rb b/spec/workers/journals/completed_job_spec.rb index ee7a2c615cb..b8a30b78e89 100644 --- a/spec/workers/journals/completed_job_spec.rb +++ b/spec/workers/journals/completed_job_spec.rb @@ -34,7 +34,7 @@ describe Journals::CompletedJob, type: :model do let(:send_mail) { true } let(:journal) do - FactoryBot.build_stubbed(:journal, journable: journable).tap do |j| + build_stubbed(:journal, journable: journable).tap do |j| allow(Journal) .to receive(:find) .with(j.id.to_s) @@ -77,19 +77,19 @@ describe Journals::CompletedJob, type: :model do end context 'with a work_package' do - let(:journable) { FactoryBot.build_stubbed(:work_package) } + let(:journable) { build_stubbed(:work_package) } it_behaves_like 'enqueues a JournalCompletedJob' end context 'with a wiki page' do - let(:journable) { FactoryBot.build_stubbed(:wiki_content) } + let(:journable) { build_stubbed(:wiki_content) } it_behaves_like 'enqueues a JournalCompletedJob' end context 'with a news' do - let(:journable) { FactoryBot.build_stubbed(:news) } + let(:journable) { build_stubbed(:news) } it_behaves_like 'enqueues a JournalCompletedJob' end @@ -114,28 +114,28 @@ describe Journals::CompletedJob, type: :model do end context 'with a work packages' do - let(:journable) { FactoryBot.build_stubbed(:work_package) } + let(:journable) { build_stubbed(:work_package) } it_behaves_like 'sends a notification', OpenProject::Events::AGGREGATED_WORK_PACKAGE_JOURNAL_READY end context 'with wiki page content' do - let(:journable) { FactoryBot.build_stubbed(:wiki_content) } + let(:journable) { build_stubbed(:wiki_content) } it_behaves_like 'sends a notification', OpenProject::Events::AGGREGATED_WIKI_JOURNAL_READY end context 'with a news' do - let(:journable) { FactoryBot.build_stubbed(:news) } + let(:journable) { build_stubbed(:news) } it_behaves_like 'sends a notification', OpenProject::Events::AGGREGATED_NEWS_JOURNAL_READY end context 'with a non non-existant journal' do - let(:journable) { FactoryBot.build_stubbed(:work_package) } + let(:journable) { build_stubbed(:work_package) } before do allow(Journal) diff --git a/spec/workers/mails/member_created_job_spec.rb b/spec/workers/mails/member_created_job_spec.rb index c41fc973f35..4005775e66d 100644 --- a/spec/workers/mails/member_created_job_spec.rb +++ b/spec/workers/mails/member_created_job_spec.rb @@ -35,7 +35,7 @@ describe Mails::MemberCreatedJob, type: :model do context 'with a group membership' do let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, project: project, principal: group, member_roles: group_member_roles) @@ -47,7 +47,7 @@ describe Mails::MemberCreatedJob, type: :model do context 'with the user not having had a membership before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id)] end @@ -63,7 +63,7 @@ describe Mails::MemberCreatedJob, type: :model do context 'with the user having had a membership with the same roles before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: nil)] end @@ -74,7 +74,7 @@ describe Mails::MemberCreatedJob, type: :model do context 'with the user having had a membership with the same roles from another group before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id + 5)] end @@ -83,12 +83,12 @@ describe Mails::MemberCreatedJob, type: :model do end context 'with the user having had a membership before the group`s membership was added but now has additional roles' do - let(:other_role) { FactoryBot.build_stubbed(:role) } + let(:other_role) { build_stubbed(:role) } let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id), - FactoryBot.build_stubbed(:member_role, + build_stubbed(:member_role, role: other_role, inherited_from: nil)] end diff --git a/spec/workers/mails/member_updated_job_spec.rb b/spec/workers/mails/member_updated_job_spec.rb index 31a1efb61a9..a49ff849f53 100644 --- a/spec/workers/mails/member_updated_job_spec.rb +++ b/spec/workers/mails/member_updated_job_spec.rb @@ -35,7 +35,7 @@ describe Mails::MemberUpdatedJob, type: :model do context 'with a group membership' do let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, project: project, principal: group, member_roles: group_member_roles) @@ -57,7 +57,7 @@ describe Mails::MemberUpdatedJob, type: :model do context 'with the user not having had a membership before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id)] end @@ -67,7 +67,7 @@ describe Mails::MemberUpdatedJob, type: :model do context 'with the user having had a membership with the same roles before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: nil)] end @@ -78,7 +78,7 @@ describe Mails::MemberUpdatedJob, type: :model do context 'with the user having had a membership with the same roles from another group before the group`s membership was added' do let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id + 5)] end @@ -87,12 +87,12 @@ describe Mails::MemberUpdatedJob, type: :model do end context 'with the user having had a membership before the group`s membership was added but now has additional roles' do - let(:other_role) { FactoryBot.build_stubbed(:role) } + let(:other_role) { build_stubbed(:role) } let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: group_member_roles.first.id), - FactoryBot.build_stubbed(:member_role, + build_stubbed(:member_role, role: other_role, inherited_from: nil)] end diff --git a/spec/workers/mails/reminder_job_spec.rb b/spec/workers/mails/reminder_job_spec.rb index a0958d58cc6..64150bd5036 100644 --- a/spec/workers/mails/reminder_job_spec.rb +++ b/spec/workers/mails/reminder_job_spec.rb @@ -34,7 +34,7 @@ describe Mails::ReminderJob, type: :model do subject(:job) { described_class.perform_now(recipient) } let(:recipient) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end let(:notification_ids) { [1, 2, 3] } diff --git a/spec/workers/mails/shared/member_job.rb b/spec/workers/mails/shared/member_job.rb index d3dc9d4fc95..112fc4b00eb 100644 --- a/spec/workers/mails/shared/member_job.rb +++ b/spec/workers/mails/shared/member_job.rb @@ -36,27 +36,27 @@ shared_examples 'member job' do end let(:member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, project: project, principal: principal) end - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:principal) { user } - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:group_users) { [user] } let(:group_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: nil)] end let(:group_user_member_roles) do - [FactoryBot.build_stubbed(:member_role, + [build_stubbed(:member_role, role: role, inherited_from: nil)] end let(:group_user_member) do - FactoryBot.build_stubbed(:member, + build_stubbed(:member, project: project, principal: user, member_roles: group_user_member_roles) do |gum| @@ -64,7 +64,7 @@ shared_examples 'member job' do end end let(:group) do - FactoryBot.build_stubbed(:group).tap do |g| + build_stubbed(:group).tap do |g| scope = group_user_members allow(Member) @@ -87,11 +87,11 @@ shared_examples 'member job' do end end let(:group_user_members) { [] } - let(:role) { FactoryBot.build_stubbed(:role) } + let(:role) { build_stubbed(:role) } let(:member_role_inherited_from) { nil } let(:message) { "Some message" } - current_user { FactoryBot.build_stubbed(:user) } + current_user { build_stubbed(:user) } before do %i[added_project updated_global updated_project].each do |mails| @@ -127,9 +127,9 @@ shared_examples 'member job' do context 'with sending disabled' do let(:principal) do - FactoryBot.create :user, + create :user, notification_settings: [ - FactoryBot.build(:notification_setting, + build(:notification_setting, NotificationSetting::MEMBERSHIP_ADDED => false, NotificationSetting::MEMBERSHIP_UPDATED => false) ] diff --git a/spec/workers/mails/shared/watcher_job.rb b/spec/workers/mails/shared/watcher_job.rb index a9f8d7b80f9..599853fbffa 100644 --- a/spec/workers/mails/shared/watcher_job.rb +++ b/spec/workers/mails/shared/watcher_job.rb @@ -34,22 +34,22 @@ shared_examples "watcher job" do |action| subject { described_class.perform_now(watcher_parameter, watcher_changer) } let(:action) { action } - let(:project) { FactoryBot.build_stubbed(:project) } + let(:project) { build_stubbed(:project) } let(:watcher_changer) do - FactoryBot.build_stubbed(:user) + build_stubbed(:user) end - let(:work_package) { FactoryBot.build_stubbed(:work_package, type: FactoryBot.build_stubbed(:type), project: project) } + let(:work_package) { build_stubbed(:work_package, type: build_stubbed(:type), project: project) } let(:watcher) do - FactoryBot.build_stubbed(:watcher, watchable: work_package, user: watching_user) + build_stubbed(:watcher, watchable: work_package, user: watching_user) end let(:user_pref) do - FactoryBot.build_stubbed(:user_preference) + build_stubbed(:user_preference) end let(:notification_settings) do - [FactoryBot.build_stubbed(:notification_setting)] + [build_stubbed(:notification_setting)] end let(:watching_user) do - FactoryBot.build_stubbed(:user, + build_stubbed(:user, notification_settings: notification_settings).tap do |user| allow(user) .to receive(:notification_settings) @@ -128,25 +128,25 @@ shared_examples "watcher job" do |action| it_behaves_like 'notifies the watcher' do let(:notification_settings) do - [FactoryBot.build_stubbed(:notification_setting, mentioned: false, involved: false, watched: true)] + [build_stubbed(:notification_setting, mentioned: false, involved: false, watched: true)] end end it_behaves_like 'notifies the watcher' do let(:notification_settings) do - [FactoryBot.build_stubbed(:notification_setting, mentioned: false, involved: false, watched: true)] + [build_stubbed(:notification_setting, mentioned: false, involved: false, watched: true)] end end it_behaves_like 'does not notify the watcher' do let(:notification_settings) do - [FactoryBot.build_stubbed(:notification_setting, mentioned: false, involved: true, watched: false)] + [build_stubbed(:notification_setting, mentioned: false, involved: true, watched: false)] end end it_behaves_like 'does not notify the watcher' do let(:notification_settings) do - [FactoryBot.build_stubbed(:notification_setting, mentioned: true, involved: false, watched: false)] + [build_stubbed(:notification_setting, mentioned: true, involved: false, watched: false)] end end end diff --git a/spec/workers/notifications/cleanup_job_spec.rb b/spec/workers/notifications/cleanup_job_spec.rb index e3c113ba498..dd813b1b427 100644 --- a/spec/workers/notifications/cleanup_job_spec.rb +++ b/spec/workers/notifications/cleanup_job_spec.rb @@ -4,8 +4,8 @@ RSpec.describe Notifications::CleanupJob, type: :job do let(:job) { described_class.new } describe 'with default period', with_settings: { notification_retention_period_days: 30 } do - let!(:old_notification) { FactoryBot.create :notification } - let!(:new_notification) { FactoryBot.create :notification } + let!(:old_notification) { create :notification } + let!(:new_notification) { create :notification } it 'removes any older event' do old_notification.update_column(:updated_at, 31.days.ago) diff --git a/spec/workers/notifications/group_member_altered_job_spec.rb b/spec/workers/notifications/group_member_altered_job_spec.rb index 0103a0ac450..e81128a60ac 100644 --- a/spec/workers/notifications/group_member_altered_job_spec.rb +++ b/spec/workers/notifications/group_member_altered_job_spec.rb @@ -37,10 +37,10 @@ describe Notifications::GroupMemberAlteredJob, type: :model do let(:time) { Time.now } let(:member1) do - FactoryBot.build_stubbed(:member, updated_at: time, created_at: time) + build_stubbed(:member, updated_at: time, created_at: time) end let(:member2) do - FactoryBot.build_stubbed(:member, updated_at: time + 1.second, created_at: time) + build_stubbed(:member, updated_at: time + 1.second, created_at: time) end let(:members) { [member1, member2] } let(:members_ids) { members.map(&:id) } diff --git a/spec/workers/notifications/workflow_job_spec.rb b/spec/workers/notifications/workflow_job_spec.rb index c58bae9ad47..ec7247bcf5a 100644 --- a/spec/workers/notifications/workflow_job_spec.rb +++ b/spec/workers/notifications/workflow_job_spec.rb @@ -38,20 +38,20 @@ describe Notifications::WorkflowJob, type: :model do let(:send_notification) { true } let(:notifications) do - [FactoryBot.build_stubbed(:notification, reason: :assigned), + [build_stubbed(:notification, reason: :assigned), mentioned_notification, - FactoryBot.build_stubbed(:notification, reason: :watched)] + build_stubbed(:notification, reason: :watched)] end let(:mentioned_notification) do - FactoryBot.build_stubbed(:notification, reason: :mentioned) + build_stubbed(:notification, reason: :mentioned) end describe '#perform' do context 'with the :create_notifications state' do let(:state) { :create_notifications } let(:arguments) { [resource, send_notification] } - let(:resource) { FactoryBot.build_stubbed(:comment) } + let(:resource) { build_stubbed(:comment) } let!(:create_service) do service_instance = instance_double(Notifications::CreateFromModelService) diff --git a/spec/workers/principals/delete_job_integration_spec.rb b/spec/workers/principals/delete_job_integration_spec.rb index 7a5908b2c96..85c79858fa4 100644 --- a/spec/workers/principals/delete_job_integration_spec.rb +++ b/spec/workers/principals/delete_job_integration_spec.rb @@ -31,22 +31,22 @@ require 'spec_helper' describe Principals::DeleteJob, type: :model do subject(:job) { described_class.perform_now(principal) } - shared_let(:project) { FactoryBot.create(:project) } + shared_let(:project) { create(:project) } shared_let(:deleted_user) do - FactoryBot.create(:deleted_user) + create(:deleted_user) end let(:principal) do - FactoryBot.create(:user) + create(:user) end let(:member) do - FactoryBot.create(:member, + create(:member, principal: principal, project: project, roles: [role]) end shared_let(:role) do - FactoryBot.create(:role, permissions: %i[view_work_packages] ) + create(:role, permissions: %i[view_work_packages] ) end describe '#perform' do @@ -55,7 +55,7 @@ describe Principals::DeleteJob, type: :model do # Service are handled within the matching spec file. shared_examples_for 'work_package handling' do let(:work_package) do - FactoryBot.create(:work_package, + create(:work_package, assigned_to: principal, responsible: principal) end @@ -87,7 +87,7 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'labor_budget_item handling' do - let(:item) { FactoryBot.build(:labor_budget_item, user: principal) } + let(:item) { build(:labor_budget_item, user: principal) } before do item.save! @@ -100,9 +100,9 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'cost_entry handling' do - let(:work_package) { FactoryBot.create(:work_package) } + let(:work_package) { create(:work_package) } let(:entry) do - FactoryBot.create(:cost_entry, + create(:cost_entry, user: principal, project: work_package.project, units: 100.0, @@ -112,10 +112,10 @@ describe Principals::DeleteJob, type: :model do end before do - FactoryBot.create(:member, + create(:member, project: work_package.project, user: principal, - roles: [FactoryBot.build(:role)]) + roles: [build(:role)]) entry job @@ -148,7 +148,7 @@ describe Principals::DeleteJob, type: :model do shared_examples_for 'hourly_rate handling' do let(:hourly_rate) do - FactoryBot.build(:hourly_rate, + build(:hourly_rate, user: principal, project: project) end @@ -163,7 +163,7 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'watcher handling' do - let(:watched) { FactoryBot.create(:news, project: project) } + let(:watched) { create(:news, project: project) } let(:watch) do Watcher.create(user: principal, watchable: watched) @@ -195,7 +195,7 @@ describe Principals::DeleteJob, type: :model do shared_examples_for 'notification handling' do let(:notification) do - FactoryBot.create(:notification, recipient: principal) + create(:notification, recipient: principal) end before do @@ -209,7 +209,7 @@ describe Principals::DeleteJob, type: :model do shared_examples_for 'private query handling' do let!(:query) do - FactoryBot.create(:private_query, user: principal) + create(:private_query, user: principal) end before do @@ -221,7 +221,7 @@ describe Principals::DeleteJob, type: :model do shared_examples_for 'issue category handling' do let(:category) do - FactoryBot.create(:category, + create(:category, assigned_to: principal, project: project) end @@ -251,7 +251,7 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'private cost_query handling' do - let!(:query) { FactoryBot.create(:private_cost_query, user: principal) } + let!(:query) { create(:private_cost_query, user: principal) } it 'removes the query' do job @@ -261,7 +261,7 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'public cost_query handling' do - let!(:query) { FactoryBot.create(:public_cost_query, user: principal) } + let!(:query) { create(:public_cost_query, user: principal) } before do query @@ -279,8 +279,8 @@ describe Principals::DeleteJob, type: :model do end shared_examples_for 'cost_query handling' do - let(:query) { FactoryBot.create(:cost_query) } - let(:other_user) { FactoryBot.create(:user) } + let(:query) { create(:cost_query) } + let(:other_user) { create(:user) } shared_examples_for "public query rewriting" do let(:filter_symbol) { filter.to_s.demodulize.underscore.to_sym } @@ -383,7 +383,7 @@ describe Principals::DeleteJob, type: :model do end context 'with a group' do - let(:principal) { FactoryBot.create(:group, members: group_members) } + let(:principal) { create(:group, members: group_members) } let(:group_members) { [] } it_behaves_like 'removes the principal' @@ -392,10 +392,10 @@ describe Principals::DeleteJob, type: :model do context 'with user only in project through group' do let(:user) do - FactoryBot.create(:user) + create(:user) end let(:group_members) { [user] } - let(:watched) { FactoryBot.create(:news, project: project) } + let(:watched) { create(:news, project: project) } let(:watch) do Watcher.create(user: user, watchable: watched) @@ -410,7 +410,7 @@ describe Principals::DeleteJob, type: :model do end context 'with a placeholder user' do - let(:principal) { FactoryBot.create(:placeholder_user) } + let(:principal) { create(:placeholder_user) } it_behaves_like 'removes the principal' it_behaves_like 'work_package handling' diff --git a/spec/workers/scm/create_local_repository_job_spec.rb b/spec/workers/scm/create_local_repository_job_spec.rb index 936d145af6f..0d76526a564 100644 --- a/spec/workers/scm/create_local_repository_job_spec.rb +++ b/spec/workers/scm/create_local_repository_job_spec.rb @@ -49,7 +49,7 @@ describe SCM::CreateLocalRepositoryJob do describe 'with a managed repository' do include_context 'with tmpdir' - let(:project) { FactoryBot.build(:project) } + let(:project) { build(:project) } let(:repository) do repo = Repository::Subversion.new(scm_type: :managed) repo.project = project diff --git a/spec/workers/user_job_spec.rb b/spec/workers/user_job_spec.rb index ed0285b88f6..01081557484 100644 --- a/spec/workers/user_job_spec.rb +++ b/spec/workers/user_job_spec.rb @@ -55,7 +55,7 @@ describe UserJob do end describe 'with a regular user' do - let(:user) { FactoryBot.build_stubbed :user } + let(:user) { build_stubbed :user } it 'uses that user' do given_user, current_user, admin = subject diff --git a/spec/workers/work_packages/exports/export_job_integration_spec.rb b/spec/workers/work_packages/exports/export_job_integration_spec.rb index db5fa1ca35b..efcd4527804 100644 --- a/spec/workers/work_packages/exports/export_job_integration_spec.rb +++ b/spec/workers/work_packages/exports/export_job_integration_spec.rb @@ -31,16 +31,16 @@ require 'spec_helper' describe WorkPackages::ExportJob, 'Integration' do - let(:project) { FactoryBot.create(:project) } + let(:project) { create(:project) } let(:user) do - FactoryBot.create(:user, + create(:user, member_in_project: project, member_with_permissions: %w[view_work_packages export_work_packages]) end let(:export) do - FactoryBot.create(:work_packages_export) + create(:work_packages_export) end - let(:query) { FactoryBot.create(:query, name: 'Query report 04/2021 äöü', project: project) } + let(:query) { create(:query, name: 'Query report 04/2021 äöü', project: project) } let(:query_attributes) { {} } let(:job) { described_class.new(**jobs_args) } @@ -66,7 +66,7 @@ describe WorkPackages::ExportJob, 'Integration' do end describe 'with special characters in the project title' do - let(:project) { FactoryBot.create(:project, name: 'Foo Bla. Report No. 4/2021 with/for Case 42') } + let(:project) { create(:project, name: 'Foo Bla. Report No. 4/2021 with/for Case 42') } it 'exports the job correctly, renaming the result' do expect { performed_job }.not_to raise_error diff --git a/spec/workers/work_packages/exports/export_job_spec.rb b/spec/workers/work_packages/exports/export_job_spec.rb index 7711f39eb5d..f12236a2ba5 100644 --- a/spec/workers/work_packages/exports/export_job_spec.rb +++ b/spec/workers/work_packages/exports/export_job_spec.rb @@ -31,12 +31,12 @@ require 'spec_helper' describe WorkPackages::ExportJob do - let(:user) { FactoryBot.build_stubbed(:user) } + let(:user) { build_stubbed(:user) } let(:attachment) { double('Attachment', id: 1234) } let(:export) do - FactoryBot.create(:work_packages_export) + create(:work_packages_export) end - let(:query) { FactoryBot.build_stubbed(:query) } + let(:query) { build_stubbed(:query) } let(:query_attributes) { {} } let(:job) { described_class.new(**jobs_args) } diff --git a/spec_legacy/functional/wiki_controller_spec.rb b/spec_legacy/functional/wiki_controller_spec.rb index efae35dd07c..30dc6330c4b 100644 --- a/spec_legacy/functional/wiki_controller_spec.rb +++ b/spec_legacy/functional/wiki_controller_spec.rb @@ -86,9 +86,9 @@ describe WikiController, type: :controller do end it 'should history with one version' do - FactoryBot.create :wiki_content_journal, + create :wiki_content_journal, journable_id: 2, - data: FactoryBot.build(:journal_wiki_content_journal, + data: build(:journal_wiki_content_journal, text: "h1. Another page\n\n\nthis is a link to ticket: #2") get :history, params: { project_id: 1, id: 'Another page' } assert_response :success @@ -99,13 +99,13 @@ describe WikiController, type: :controller do end it 'should diff' do - journal_from = FactoryBot.create :wiki_content_journal, + journal_from = create :wiki_content_journal, journable_id: 1, - data: FactoryBot.build(:journal_wiki_content_journal, + data: build(:journal_wiki_content_journal, text: 'h1. CookBook documentation') - journal_to = FactoryBot.create :wiki_content_journal, + journal_to = create :wiki_content_journal, journable_id: 1, - data: FactoryBot.build(:journal_wiki_content_journal, + data: build(:journal_wiki_content_journal, text: "h1. CookBook documentation\n\n\nSome updated [[documentation]] here...") get :diff, @@ -117,13 +117,13 @@ describe WikiController, type: :controller do end it 'should annotate' do - FactoryBot.create :wiki_content_journal, + create :wiki_content_journal, journable_id: 1, - data: FactoryBot.build(:journal_wiki_content_journal, + data: build(:journal_wiki_content_journal, text: 'h1. CookBook documentation') - journal_to = FactoryBot.create :wiki_content_journal, + journal_to = create :wiki_content_journal, journable_id: 1, - data: FactoryBot.build(:journal_wiki_content_journal, + data: build(:journal_wiki_content_journal, text: "h1. CookBook documentation\n\n\nSome [[documentation]] here...") get :annotate, params: { project_id: 1, id: 'CookBook documentation', version: journal_to.version } diff --git a/spec_legacy/legacy_spec_helper.rb b/spec_legacy/legacy_spec_helper.rb index f4595604fb8..668087c7cea 100644 --- a/spec_legacy/legacy_spec_helper.rb +++ b/spec_legacy/legacy_spec_helper.rb @@ -62,6 +62,8 @@ RSpec.configure do |config| config.include Shoulda::Context::Assertions # included in order to use #fixture_file_upload config.include ActionDispatch::TestProcess + # Allow factories to be used without FactoryBot. + config.include FactoryBot::Syntax::Methods config.include RSpec::Rails::RequestExampleGroup, file_path: %r(spec_legacy/integration) config.include Shoulda::Matchers::ActionController, file_path: %r(spec_legacy/integration) diff --git a/spec_legacy/support/legacy_assertions.rb b/spec_legacy/support/legacy_assertions.rb index 67e8855b5be..0eb3f219dc2 100644 --- a/spec_legacy/support/legacy_assertions.rb +++ b/spec_legacy/support/legacy_assertions.rb @@ -216,7 +216,7 @@ module LegacyAssertionsAndHelpers context "should allow http basic auth using a username and password for #{http_method} #{url}" do context 'with a valid HTTP authentication' do before do - @user = FactoryBot.create(:user, password: 'adminADMIN!', password_confirmation: 'adminADMIN!', admin: true) # Admin so they can access the project + @user = create(:user, password: 'adminADMIN!', password_confirmation: 'adminADMIN!', admin: true) # Admin so they can access the project send(http_method, url, params: parameters, headers: credentials(@user.login, 'adminADMIN!')) end @@ -229,7 +229,7 @@ module LegacyAssertionsAndHelpers context 'with an invalid HTTP authentication' do before do - @user = FactoryBot.create(:user) + @user = create(:user) send(http_method, url, params: parameters, headers: credentials(@user.login, 'wrong_password')) end @@ -268,8 +268,8 @@ module LegacyAssertionsAndHelpers context "should allow http basic auth with a key for #{http_method} #{url}" do context 'with a valid HTTP authentication using the API token' do before do - @user = FactoryBot.create(:user, admin: true) - @token = FactoryBot.create(:api_token, user: @user) + @user = create(:user, admin: true) + @token = create(:api_token, user: @user) send(http_method, url, params: parameters, headers: credentials(@token.plain_value, 'X')) end @@ -283,8 +283,8 @@ module LegacyAssertionsAndHelpers context 'with an invalid HTTP authentication' do before do - @user = FactoryBot.create(:user) - @token = FactoryBot.create(:rss_token, user: @user) + @user = create(:user) + @token = create(:rss_token, user: @user) send(http_method, url, params: parameters, headers: credentials(@token.value, 'X')) end @@ -312,8 +312,8 @@ module LegacyAssertionsAndHelpers context "should allow key based auth using key=X for #{http_method} #{url}" do context 'with a valid api token' do before do - @user = FactoryBot.create(:user, admin: true) - @token = FactoryBot.create(:api_token, user: @user) + @user = create(:user, admin: true) + @token = create(:api_token, user: @user) # Simple url parse to add on ?key= or &key= request_url = if url.match(/\?/) url + "&key=#{@token.plain_value}" @@ -332,8 +332,8 @@ module LegacyAssertionsAndHelpers context 'with an invalid api token' do before do - @user = FactoryBot.create(:user) - @token = FactoryBot.create(:rss_token, user: @user) + @user = create(:user) + @token = create(:rss_token, user: @user) # Simple url parse to add on ?key= or &key= request_url = if url.match(/\?/) url + "&key=#{@token.value}" @@ -352,8 +352,8 @@ module LegacyAssertionsAndHelpers context "should allow key based auth using X-OpenProject-API-Key header for #{http_method} #{url}" do before do - @user = FactoryBot.create(:user, admin: true) - @token = FactoryBot.create(:api_token, user: @user) + @user = create(:user, admin: true) + @token = create(:api_token, user: @user) send(http_method, url, params: {}, headers: { 'X-OpenProject-API-Key' => @token.plain_value.to_s }) end it { should respond_with success_code } diff --git a/spec_legacy/unit/comment_spec.rb b/spec_legacy/unit/comment_spec.rb index 32eab228126..bc254ef3f2b 100644 --- a/spec_legacy/unit/comment_spec.rb +++ b/spec_legacy/unit/comment_spec.rb @@ -34,49 +34,49 @@ describe Comment, type: :model do it 'should validations' do # factory valid - assert FactoryBot.build(:comment).valid? + assert build(:comment).valid? # comment text required - refute FactoryBot.build(:comment, comments: '').valid? + refute build(:comment, comments: '').valid? # object that is commented required - refute FactoryBot.build(:comment, commented: nil).valid? + refute build(:comment, commented: nil).valid? # author required - refute FactoryBot.build(:comment, author: nil).valid? + refute build(:comment, author: nil).valid? end it 'should create' do - user = FactoryBot.create(:user) - news = FactoryBot.create(:news) + user = create(:user) + news = create(:news) comment = Comment.new(commented: news, author: user, comments: 'some important words') assert comment.save assert_equal 1, news.reload.comments_count end it 'should create through news' do - user = FactoryBot.create(:user) - news = FactoryBot.create(:news) + user = create(:user) + news = create(:news) comment = news.new_comment(author: user, comments: 'some important words') assert comment.save assert_equal 1, news.reload.comments_count end it 'should create comment through news' do - user = FactoryBot.create(:user) - news = FactoryBot.create(:news) + user = create(:user) + news = create(:news) news.post_comment!(author: user, comments: 'some important words') assert_equal 1, news.reload.comments_count end it 'should text' do - comment = FactoryBot.build(:comment, comments: 'something useful') + comment = build(:comment, comments: 'something useful') assert_equal 'something useful', comment.text end # TODO: testing #destroy really needed? it 'should destroy' do # just setup - news = FactoryBot.create(:news) - comment = FactoryBot.build(:comment) + news = create(:news) + comment = build(:comment) news.comments << comment assert comment.persisted? diff --git a/spec_legacy/unit/custom_value_spec.rb b/spec_legacy/unit/custom_value_spec.rb index dd6ea680720..b66cf895f0e 100644 --- a/spec_legacy/unit/custom_value_spec.rb +++ b/spec_legacy/unit/custom_value_spec.rb @@ -103,11 +103,11 @@ describe CustomValue, type: :model do end it 'should float field validation' do - user = FactoryBot.create :user + user = create :user # There are cases, where the custom-value-table is not cleared completely, # therefore making double sure, that we have a clean slate before we start CustomField.destroy_all - FactoryBot.create :float_user_custom_field, name: 'Money' + create :float_user_custom_field, name: 'Money' v = CustomValue.new(customized: user, custom_field: UserCustomField.find_by(name: 'Money')) v.value = '11.2' assert v.save @@ -121,9 +121,9 @@ describe CustomValue, type: :model do it 'should sti polymorphic association' do # Rails uses top level sti class for polymorphic association. See #3978. - user = FactoryBot.create :user - custom_field = FactoryBot.create :user_custom_field, field_format: 'string' - custom_value = FactoryBot.create :principal_custom_value, + user = create :user + custom_field = create :user_custom_field, field_format: 'string' + custom_value = create :principal_custom_value, custom_field: custom_field, customized: user, value: '01 23 45 67 89' diff --git a/spec_legacy/unit/enumeration_spec.rb b/spec_legacy/unit/enumeration_spec.rb index f38eeef3488..5af3ee96ba3 100644 --- a/spec_legacy/unit/enumeration_spec.rb +++ b/spec_legacy/unit/enumeration_spec.rb @@ -32,14 +32,14 @@ require_relative './../legacy_spec_helper' describe Enumeration, type: :model do before do WorkPackage.delete_all - @low_priority = FactoryBot.create :priority_low - @issues = FactoryBot.create_list :work_package, 6, priority: @low_priority - @default_enumeration = FactoryBot.create :default_enumeration + @low_priority = create :priority_low + @issues = create_list :work_package, 6, priority: @low_priority + @default_enumeration = create :default_enumeration end it 'should in use' do assert @low_priority.in_use? - assert !FactoryBot.create(:priority).in_use? + assert !create(:priority).in_use? end it 'should default' do @@ -80,7 +80,7 @@ describe Enumeration, type: :model do end it 'should destroy with reassign' do - new_priority = FactoryBot.create :priority + new_priority = create :priority Enumeration.find(@low_priority.id).destroy(new_priority) assert_nil WorkPackage.find_by(priority_id: @low_priority.id) assert_equal @issues.size, new_priority.objects_count diff --git a/spec_legacy/unit/mail_handler_spec.rb b/spec_legacy/unit/mail_handler_spec.rb index 872c5fd4e67..3411a848dc8 100644 --- a/spec_legacy/unit/mail_handler_spec.rb +++ b/spec_legacy/unit/mail_handler_spec.rb @@ -113,9 +113,9 @@ describe MailHandler, type: :model do end it 'should add work package should match assignee on display name' do # added from redmine - not sure if it is ok here - user = FactoryBot.create(:user, firstname: 'Foo', lastname: 'Bar') - role = FactoryBot.create(:role, name: 'Superhero') - FactoryBot.create(:member, user: user, project: Project.find(2), role_ids: [role.id]) + user = create(:user, firstname: 'Foo', lastname: 'Bar') + role = create(:role, name: 'Superhero') + create(:member, user: user, project: Project.find(2), role_ids: [role.id]) issue = submit_email('ticket_on_given_project.eml') do |email| email.sub!(/^Assigned to.*$/, 'Assigned to: Foo Bar') end diff --git a/spec_legacy/unit/user_spec.rb b/spec_legacy/unit/user_spec.rb index f6f00d03858..171c00c79bb 100644 --- a/spec_legacy/unit/user_spec.rb +++ b/spec_legacy/unit/user_spec.rb @@ -108,7 +108,7 @@ describe User, type: :model do end it 'should select the exact matching user first' do - case_sensitive_user = FactoryBot.create(:user, login: 'changed', password: 'adminADMIN!', + case_sensitive_user = create(:user, login: 'changed', password: 'adminADMIN!', password_confirmation: 'adminADMIN!') # bypass validations to make it appear like existing data case_sensitive_user.update_attribute(:login, 'ADMIN') @@ -239,8 +239,8 @@ describe User, type: :model do end it 'should return nil if the key is found for an inactive user' do - user = FactoryBot.create(:user, status: User.statuses[:locked]) - token = FactoryBot.build(:api_token, user: user) + user = create(:user, status: User.statuses[:locked]) + token = build(:api_token, user: user) user.api_token = token user.save @@ -248,8 +248,8 @@ describe User, type: :model do end it 'should return the user if the key is found for an active user' do - user = FactoryBot.create(:user, status: User.statuses[:active]) - token = FactoryBot.build(:api_token, user: user) + user = create(:user, status: User.statuses[:active]) + token = build(:api_token, user: user) user.api_token = token user.save @@ -276,7 +276,7 @@ describe User, type: :model do end it 'should projects by role for user with no role' do - user = FactoryBot.create(:user) + user = create(:user) assert_equal({}, user.projects_by_role) end diff --git a/spec_legacy/unit/version_spec.rb b/spec_legacy/unit/version_spec.rb index 358f9220090..d29b355dae9 100644 --- a/spec_legacy/unit/version_spec.rb +++ b/spec_legacy/unit/version_spec.rb @@ -150,8 +150,8 @@ describe Version, type: :model do context '#behind_schedule?' do before do ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests - @project = FactoryBot.create(:project, identifier: 'test0') - @project.types << FactoryBot.create(:type) + @project = create(:project, identifier: 'test0') + @project.types << create(:type) (@version = Version.new.tap do |v| v.attributes = { project: @project, effective_date: nil, name: 'test' } @@ -170,8 +170,8 @@ describe Version, type: :model do it 'should be false if all of the issues are ahead of schedule' do @version.update_attribute(:effective_date, 7.days.from_now.to_date) @version.work_packages = [ - FactoryBot.create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60), # 14 day span, 60% done, 50% time left - FactoryBot.create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60) # 14 day span, 60% done, 50% time left + create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60), # 14 day span, 60% done, 50% time left + create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60) # 14 day span, 60% done, 50% time left ] assert_equal 60, @version.completed_percent assert_equal false, @version.behind_schedule? @@ -181,8 +181,8 @@ describe Version, type: :model do @version.update_attribute(:start_date, 7.days.ago.to_date) @version.update_attribute(:effective_date, 7.days.from_now.to_date) @version.work_packages = [ - FactoryBot.create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60), # 14 day span, 60% done, 50% time left - FactoryBot.create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 20) # 14 day span, 20% done, 50% time left + create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 60), # 14 day span, 60% done, 50% time left + create(:work_package, project: @project, start_date: 7.days.ago, done_ratio: 20) # 14 day span, 20% done, 50% time left ] assert_equal 40, @version.completed_percent assert_equal true, @version.behind_schedule? @@ -191,8 +191,8 @@ describe Version, type: :model do it 'should be false if all of the issues are complete' do @version.update_attribute(:effective_date, 7.days.from_now.to_date) @version.work_packages = [ - FactoryBot.create(:work_package, project: @project, start_date: 14.days.ago, done_ratio: 100, status: Status.find(5)), # 7 day span - FactoryBot.create(:work_package, project: @project, start_date: 14.days.ago, done_ratio: 100, status: Status.find(5)) # 7 day span + create(:work_package, project: @project, start_date: 14.days.ago, done_ratio: 100, status: Status.find(5)), # 7 day span + create(:work_package, project: @project, start_date: 14.days.ago, done_ratio: 100, status: Status.find(5)) # 7 day span ] assert_equal 100, @version.completed_percent assert_equal false, @version.behind_schedule?