Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/work_item_spec.rb')
-rw-r--r--spec/models/work_item_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/work_item_spec.rb b/spec/models/work_item_spec.rb
index 7963c0898b3..541199e08cb 100644
--- a/spec/models/work_item_spec.rb
+++ b/spec/models/work_item_spec.rb
@@ -79,6 +79,31 @@ RSpec.describe WorkItem, feature_category: :portfolio_management do
end
end
+ describe '.in_namespaces' do
+ let(:group) { create(:group) }
+ let!(:group_work_item) { create(:work_item, namespace: group) }
+ let!(:project_work_item) { create(:work_item, project: reusable_project) }
+
+ subject { described_class.in_namespaces(group) }
+
+ it { is_expected.to contain_exactly(group_work_item) }
+ end
+
+ describe '.with_confidentiality_check' do
+ let(:user) { create(:user) }
+ let!(:authored_work_item) { create(:work_item, :confidential, project: reusable_project, author: user) }
+ let!(:assigned_work_item) { create(:work_item, :confidential, project: reusable_project, assignees: [user]) }
+ let!(:public_work_item) { create(:work_item, project: reusable_project) }
+
+ before do
+ create(:work_item, :confidential, project: reusable_project)
+ end
+
+ subject { described_class.with_confidentiality_check(user) }
+
+ it { is_expected.to contain_exactly(public_work_item, authored_work_item, assigned_work_item) }
+ end
+
describe '#noteable_target_type_name' do
it 'returns `issue` as the target name' do
work_item = build(:work_item)