diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
commit | a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch) | |
tree | fb69158581673816a8cd895f9d352dcb3c678b1e /spec/models/issue_spec.rb | |
parent | d16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff) |
Add latest changes from gitlab-org/gitlab@14-0-stable-eev14.0.0-rc42
Diffstat (limited to 'spec/models/issue_spec.rb')
-rw-r--r-- | spec/models/issue_spec.rb | 54 |
1 files changed, 47 insertions, 7 deletions
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 884c476932e..edb93ecf4b6 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -5,6 +5,8 @@ require 'spec_helper' RSpec.describe Issue do include ExternalAuthorizationServiceHelpers + using RSpec::Parameterized::TableSyntax + let_it_be(:user) { create(:user) } let_it_be(:reusable_project) { create(:project) } @@ -1287,15 +1289,33 @@ RSpec.describe Issue do end end - let(:project) { build_stubbed(:project_empty_repo) } - let(:issue) { build_stubbed(:issue, relative_position: 100, project: project) } + shared_examples 'schedules issues rebalancing' do + let(:issue) { build_stubbed(:issue, relative_position: 100, project: project) } + + it 'schedules rebalancing if we time-out when moving' do + lhs = build_stubbed(:issue, relative_position: 99, project: project) + to_move = build(:issue, project: project) + expect(IssueRebalancingWorker).to receive(:perform_async).with(nil, project_id, namespace_id) + + expect { to_move.move_between(lhs, issue) }.to raise_error(ActiveRecord::QueryCanceled) + end + end + + context 'when project in user namespace' do + let(:project) { build_stubbed(:project_empty_repo) } + let(:project_id) { project.id } + let(:namespace_id) { nil } + + it_behaves_like 'schedules issues rebalancing' + end - it 'schedules rebalancing if we time-out when moving' do - lhs = build_stubbed(:issue, relative_position: 99, project: project) - to_move = build(:issue, project: project) - expect(IssueRebalancingWorker).to receive(:perform_async).with(nil, project.id) + context 'when project in a group namespace' do + let(:group) { create(:group) } + let(:project) { build_stubbed(:project_empty_repo, group: group) } + let(:project_id) { nil } + let(:namespace_id) { group.id } - expect { to_move.move_between(lhs, issue) }.to raise_error(ActiveRecord::QueryCanceled) + it_behaves_like 'schedules issues rebalancing' end end @@ -1315,6 +1335,26 @@ RSpec.describe Issue do end end + describe '#supports_time_tracking?' do + let_it_be(:project) { create(:project) } + let_it_be_with_refind(:issue) { create(:incident, project: project) } + + where(:issue_type, :supports_time_tracking) do + :issue | true + :incident | true + end + + with_them do + before do + issue.update!(issue_type: issue_type) + end + + it do + expect(issue.supports_time_tracking?).to eq(supports_time_tracking) + end + end + end + describe '#email_participants_emails' do let_it_be(:issue) { create(:issue) } |