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/group_spec.rb')
-rw-r--r--spec/models/group_spec.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb
index e88abc21ef2..f591c98071a 100644
--- a/spec/models/group_spec.rb
+++ b/spec/models/group_spec.rb
@@ -563,6 +563,25 @@ RSpec.describe Group do
it { expect(group.ancestors.to_sql).not_to include 'traversal_ids <@' }
end
end
+
+ context 'when project namespace exists in the group' do
+ let!(:project) { create(:project, group: group) }
+ let!(:project_namespace) { create(:project_namespace, project: project) }
+
+ it 'filters out project namespace' do
+ expect(group.descendants.find_by_id(project_namespace.id)).to be_nil
+ end
+
+ context 'when include_sti_condition is disabled' do
+ before do
+ stub_feature_flags(include_sti_condition: false)
+ end
+
+ it 'raises an exception' do
+ expect { group.descendants.find_by_id(project_namespace.id)}.to raise_error(ActiveRecord::SubclassNotFound)
+ end
+ end
+ end
end
end
@@ -718,6 +737,22 @@ RSpec.describe Group do
expect(group.group_members.developers.map(&:user)).to include(user)
expect(group.group_members.guests.map(&:user)).not_to include(user)
end
+
+ context 'when `tasks_to_be_done` and `tasks_project_id` are passed' do
+ let!(:project) { create(:project, group: group) }
+
+ before do
+ stub_experiments(invite_members_for_task: true)
+ group.add_users([create(:user)], :developer, tasks_to_be_done: %w(ci code), tasks_project_id: project.id)
+ end
+
+ it 'creates a member_task with the correct attributes', :aggregate_failures do
+ member = group.group_members.last
+
+ expect(member.tasks_to_be_done).to match_array([:ci, :code])
+ expect(member.member_task.project).to eq(project)
+ end
+ end
end
describe '#avatar_type' do