diff options
Diffstat (limited to 'spec/models/work_item_spec.rb')
-rw-r--r-- | spec/models/work_item_spec.rb | 25 |
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) |