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:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 14:33:21 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 14:33:21 +0300
commit7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch)
tree5bdc2229f5198d516781f8d24eace62fc7e589e9 /spec/graphql/resolvers
parent185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff)
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'spec/graphql/resolvers')
-rw-r--r--spec/graphql/resolvers/board_list_issues_resolver_spec.rb2
-rw-r--r--spec/graphql/resolvers/board_lists_resolver_spec.rb4
-rw-r--r--spec/graphql/resolvers/board_resolver_spec.rb2
-rw-r--r--spec/graphql/resolvers/boards_resolver_spec.rb2
-rw-r--r--spec/graphql/resolvers/container_repositories_resolver_spec.rb4
-rw-r--r--spec/graphql/resolvers/group_packages_resolver_spec.rb8
-rw-r--r--spec/graphql/resolvers/incident_management/timeline_event_tags_resolver_spec.rb92
-rw-r--r--spec/graphql/resolvers/project_issues_resolver_spec.rb (renamed from spec/graphql/resolvers/issues_resolver_spec.rb)12
-rw-r--r--spec/graphql/resolvers/projects_resolver_spec.rb2
-rw-r--r--spec/graphql/resolvers/recent_boards_resolver_spec.rb2
-rw-r--r--spec/graphql/resolvers/users_resolver_spec.rb14
-rw-r--r--spec/graphql/resolvers/work_item_resolver_spec.rb8
-rw-r--r--spec/graphql/resolvers/work_items/types_resolver_spec.rb20
13 files changed, 118 insertions, 54 deletions
diff --git a/spec/graphql/resolvers/board_list_issues_resolver_spec.rb b/spec/graphql/resolvers/board_list_issues_resolver_spec.rb
index ab1f19abaad..d346b7aee93 100644
--- a/spec/graphql/resolvers/board_list_issues_resolver_spec.rb
+++ b/spec/graphql/resolvers/board_list_issues_resolver_spec.rb
@@ -7,7 +7,7 @@ RSpec.describe Resolvers::BoardListIssuesResolver do
let_it_be(:user) { create(:user) }
let_it_be(:unauth_user) { create(:user) }
- let_it_be(:user_project) { create(:project, creator_id: user.id, namespace: user.namespace ) }
+ let_it_be(:user_project) { create(:project, creator_id: user.id, namespace: user.namespace) }
let_it_be(:group) { create(:group, :private) }
shared_examples_for 'group and project board list issues resolver' do
diff --git a/spec/graphql/resolvers/board_lists_resolver_spec.rb b/spec/graphql/resolvers/board_lists_resolver_spec.rb
index 2fb7c5c4717..0f6e51ebbd0 100644
--- a/spec/graphql/resolvers/board_lists_resolver_spec.rb
+++ b/spec/graphql/resolvers/board_lists_resolver_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe Resolvers::BoardListsResolver do
let_it_be(:user) { create(:user) }
let_it_be(:guest) { create(:user) }
let_it_be(:unauth_user) { create(:user) }
- let_it_be(:project) { create(:project, creator_id: user.id, namespace: user.namespace ) }
+ let_it_be(:project) { create(:project, creator_id: user.id, namespace: user.namespace) }
let_it_be(:group) { create(:group, :private) }
let_it_be(:project_label) { create(:label, project: project, name: 'Development') }
let_it_be(:group_label) { create(:group_label, group: group, name: 'Development') }
@@ -65,7 +65,7 @@ RSpec.describe Resolvers::BoardListsResolver do
it 'returns empty result if list is not found' do
external_group = create(:group, :private)
- external_board = create(:board, resource_parent: external_group )
+ external_board = create(:board, resource_parent: external_group)
external_label = create(:group_label, group: group)
external_list = create(:list, board: external_board, label: external_label)
diff --git a/spec/graphql/resolvers/board_resolver_spec.rb b/spec/graphql/resolvers/board_resolver_spec.rb
index 51a13850366..e83d2cbfd1f 100644
--- a/spec/graphql/resolvers/board_resolver_spec.rb
+++ b/spec/graphql/resolvers/board_resolver_spec.rb
@@ -54,7 +54,7 @@ RSpec.describe Resolvers::BoardResolver do
end
context 'when project boards' do
- let(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace ) }
+ let(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace) }
it_behaves_like 'group and project boards resolver'
end
diff --git a/spec/graphql/resolvers/boards_resolver_spec.rb b/spec/graphql/resolvers/boards_resolver_spec.rb
index 07d0902d3ba..aa78f0db188 100644
--- a/spec/graphql/resolvers/boards_resolver_spec.rb
+++ b/spec/graphql/resolvers/boards_resolver_spec.rb
@@ -72,7 +72,7 @@ RSpec.describe Resolvers::BoardsResolver do
end
context 'when project boards' do
- let(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace ) }
+ let(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace) }
it_behaves_like 'group and project boards resolver'
end
diff --git a/spec/graphql/resolvers/container_repositories_resolver_spec.rb b/spec/graphql/resolvers/container_repositories_resolver_spec.rb
index 8cbb366f873..df0a98b1536 100644
--- a/spec/graphql/resolvers/container_repositories_resolver_spec.rb
+++ b/spec/graphql/resolvers/container_repositories_resolver_spec.rb
@@ -43,7 +43,7 @@ RSpec.describe Resolvers::ContainerRepositoriesResolver do
end
[:created_desc, :updated_asc, :name_desc].each do |order|
- context "#{order}" do
+ context order.to_s do
let(:args) { { sort: order } }
it { is_expected.to eq([sort_repository2, sort_repository]) }
@@ -51,7 +51,7 @@ RSpec.describe Resolvers::ContainerRepositoriesResolver do
end
[:created_asc, :updated_desc, :name_asc].each do |order|
- context "#{order}" do
+ context order.to_s do
let(:args) { { sort: order } }
it { is_expected.to eq([sort_repository, sort_repository2]) }
diff --git a/spec/graphql/resolvers/group_packages_resolver_spec.rb b/spec/graphql/resolvers/group_packages_resolver_spec.rb
index c600f9c9f9a..639d4d93b79 100644
--- a/spec/graphql/resolvers/group_packages_resolver_spec.rb
+++ b/spec/graphql/resolvers/group_packages_resolver_spec.rb
@@ -21,10 +21,10 @@ RSpec.describe 'Resolvers::GroupPackagesResolver' do
describe 'project_path sorting' do
let_it_be(:project2) { create(:project, :public, group: group, path: 'b') }
- let_it_be(:package) { create(:package, project: project ) }
- let_it_be(:package2) { create(:package, project: project2 ) }
- let_it_be(:package3) { create(:package, project: project ) }
- let_it_be(:package4) { create(:package, project: project2 ) }
+ let_it_be(:package) { create(:package, project: project) }
+ let_it_be(:package2) { create(:package, project: project2) }
+ let_it_be(:package3) { create(:package, project: project) }
+ let_it_be(:package4) { create(:package, project: project2) }
context 'filter by package_name' do
let(:args) { { sort: 'PROJECT_PATH_DESC' } }
diff --git a/spec/graphql/resolvers/incident_management/timeline_event_tags_resolver_spec.rb b/spec/graphql/resolvers/incident_management/timeline_event_tags_resolver_spec.rb
new file mode 100644
index 00000000000..8ab34e05e52
--- /dev/null
+++ b/spec/graphql/resolvers/incident_management/timeline_event_tags_resolver_spec.rb
@@ -0,0 +1,92 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Resolvers::IncidentManagement::TimelineEventTagsResolver do
+ include GraphqlHelpers
+
+ let_it_be(:current_user) { create(:user) }
+ let_it_be(:project) { create(:project) }
+ let_it_be(:incident) { create(:incident, project: project) }
+
+ let_it_be(:timeline_event) do
+ create(:incident_management_timeline_event, project: project, incident: incident)
+ end
+
+ let_it_be(:timeline_event_with_no_tags) do
+ create(:incident_management_timeline_event, project: project, incident: incident)
+ end
+
+ let_it_be(:timeline_event_tag) do
+ create(:incident_management_timeline_event_tag, project: project)
+ end
+
+ let_it_be(:timeline_event_tag2) do
+ create(:incident_management_timeline_event_tag, project: project, name: 'Test tag 2')
+ end
+
+ let_it_be(:timeline_event_tag_link) do
+ create(:incident_management_timeline_event_tag_link,
+ timeline_event: timeline_event,
+ timeline_event_tag: timeline_event_tag)
+ end
+
+ let(:resolver) { described_class }
+
+ subject(:resolved_timeline_event_tags) do
+ sync(resolve_timeline_event_tags(timeline_event, current_user: current_user).to_a)
+ end
+
+ before do
+ project.add_guest(current_user)
+ end
+
+ specify do
+ expect(resolver).to have_nullable_graphql_type(
+ Types::IncidentManagement::TimelineEventTagType.connection_type
+ )
+ end
+
+ it 'returns timeline event tags', :aggregate_failures do
+ expect(resolved_timeline_event_tags.length).to eq(1)
+ expect(resolved_timeline_event_tags.first).to be_a(::IncidentManagement::TimelineEventTag)
+ end
+
+ context 'when timeline event is nil' do
+ subject(:resolved_timeline_event_tags) do
+ sync(resolve_timeline_event_tags(nil, current_user: current_user).to_a)
+ end
+
+ it 'returns no timeline event tags' do
+ expect(resolved_timeline_event_tags).to be_empty
+ end
+ end
+
+ context 'when there is no timeline event tag link' do
+ subject(:resolved_timeline_event_tags) do
+ sync(resolve_timeline_event_tags(timeline_event_with_no_tags, current_user: current_user).to_a)
+ end
+
+ it 'returns no timeline event tags' do
+ expect(resolved_timeline_event_tags).to be_empty
+ end
+ end
+
+ context 'when user does not have permissions' do
+ let(:non_member) { create(:user) }
+
+ subject(:resolved_timeline_event_tags) do
+ sync(resolve_timeline_event_tags(timeline_event, current_user: non_member).to_a)
+ end
+
+ it 'returns no timeline event tags' do
+ expect(resolved_timeline_event_tags).to be_empty
+ end
+ end
+
+ private
+
+ def resolve_timeline_event_tags(obj, context = { current_user: current_user })
+ resolve(resolver, obj: obj, args: {}, ctx: context, arg_style: :internal_prepared)
+ end
+end
diff --git a/spec/graphql/resolvers/issues_resolver_spec.rb b/spec/graphql/resolvers/project_issues_resolver_spec.rb
index a74b2a3f18c..b2796ad9b18 100644
--- a/spec/graphql/resolvers/issues_resolver_spec.rb
+++ b/spec/graphql/resolvers/project_issues_resolver_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Resolvers::IssuesResolver do
+RSpec.describe Resolvers::ProjectIssuesResolver do
include GraphqlHelpers
let_it_be(:current_user) { create(:user) }
@@ -87,7 +87,7 @@ RSpec.describe Resolvers::IssuesResolver do
end
end
- context 'negated filtering' do
+ context 'when using negated filters' do
it 'returns issues matching the searched title after applying a negated filter' do
expect(resolve_issues(milestone_title: ['past milestone'], not: { milestone_wildcard_id: wildcard_upcoming })).to contain_exactly(issue6)
end
@@ -252,7 +252,7 @@ RSpec.describe Resolvers::IssuesResolver do
end
end
- context 'filtering by reaction emoji' do
+ context 'when filtering by reaction emoji' do
let_it_be(:downvoted_issue) { create(:issue, project: project) }
let_it_be(:downvote_award) { create(:award_emoji, :downvote, user: current_user, awardable: downvoted_issue) }
@@ -273,7 +273,7 @@ RSpec.describe Resolvers::IssuesResolver do
end
end
- context 'confidential issues' do
+ context 'when listing confidential issues' do
let_it_be(:confidential_issue1) { create(:issue, project: project, confidential: true) }
let_it_be(:confidential_issue2) { create(:issue, project: other_project, confidential: true) }
@@ -375,13 +375,13 @@ RSpec.describe Resolvers::IssuesResolver do
create(:issue_customer_relations_contact, issue: crm_issue3, contact: contact3)
end
- context 'contact' do
+ context 'when filtering by contact' do
it 'returns only the issues for the contact' do
expect(resolve_issues({ crm_contact_id: contact1.id })).to contain_exactly(crm_issue1)
end
end
- context 'organization' do
+ context 'when filtering by organization' do
it 'returns only the issues for the contact' do
expect(resolve_issues({ crm_organization_id: organization.id })).to contain_exactly(crm_issue1, crm_issue2)
end
diff --git a/spec/graphql/resolvers/projects_resolver_spec.rb b/spec/graphql/resolvers/projects_resolver_spec.rb
index 453fafb9590..77507474170 100644
--- a/spec/graphql/resolvers/projects_resolver_spec.rb
+++ b/spec/graphql/resolvers/projects_resolver_spec.rb
@@ -142,7 +142,7 @@ RSpec.describe Resolvers::ProjectsResolver do
context 'when no sort is provided' do
it 'returns projects in descending order by id' do
- is_expected.to match_array((visible_projecs + named_projects).sort_by { |p| p[:id] }.reverse )
+ is_expected.to match_array((visible_projecs + named_projects).sort_by { |p| p[:id] }.reverse)
end
end
end
diff --git a/spec/graphql/resolvers/recent_boards_resolver_spec.rb b/spec/graphql/resolvers/recent_boards_resolver_spec.rb
index 1afdcd42b4f..059e4a538fe 100644
--- a/spec/graphql/resolvers/recent_boards_resolver_spec.rb
+++ b/spec/graphql/resolvers/recent_boards_resolver_spec.rb
@@ -53,7 +53,7 @@ RSpec.describe Resolvers::RecentBoardsResolver do
end
context 'when project boards' do
- let_it_be(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace ) }
+ let_it_be(:board_parent) { create(:project, :public, creator_id: user.id, namespace: user.namespace) }
it_behaves_like 'group and project recent boards resolver'
end
diff --git a/spec/graphql/resolvers/users_resolver_spec.rb b/spec/graphql/resolvers/users_resolver_spec.rb
index dda15303676..2ae1b53c40f 100644
--- a/spec/graphql/resolvers/users_resolver_spec.rb
+++ b/spec/graphql/resolvers/users_resolver_spec.rb
@@ -23,7 +23,7 @@ RSpec.describe Resolvers::UsersResolver do
context 'when both ids and usernames are passed ' do
it 'generates an error' do
expect_graphql_error_to_be_created(Gitlab::Graphql::Errors::ArgumentError) do
- resolve_users( args: { ids: [user1.to_global_id.to_s], usernames: [user1.username] } )
+ resolve_users(args: { ids: [user1.to_global_id.to_s], usernames: [user1.username] })
end
end
end
@@ -31,7 +31,7 @@ RSpec.describe Resolvers::UsersResolver do
context 'when a set of IDs is passed' do
it 'returns those users' do
expect(
- resolve_users( args: { ids: [user1.to_global_id.to_s, user2.to_global_id.to_s] } )
+ resolve_users(args: { ids: [user1.to_global_id.to_s, user2.to_global_id.to_s] })
).to contain_exactly(user1, user2)
end
end
@@ -39,7 +39,7 @@ RSpec.describe Resolvers::UsersResolver do
context 'when a set of usernames is passed' do
it 'returns those users' do
expect(
- resolve_users( args: { usernames: [user1.username, user2.username] } )
+ resolve_users(args: { usernames: [user1.username, user2.username] })
).to contain_exactly(user1, user2)
end
end
@@ -49,16 +49,16 @@ RSpec.describe Resolvers::UsersResolver do
it 'returns only admins' do
expect(
- resolve_users( args: { admins: true }, ctx: { current_user: admin_user } )
+ resolve_users(args: { admins: true }, ctx: { current_user: admin_user })
).to contain_exactly(admin_user)
end
end
context 'when a search term is passed' do
it 'returns all users who match', :aggregate_failures do
- expect(resolve_users( args: { search: "some" } )).to contain_exactly(user1, user2)
- expect(resolve_users( args: { search: "123784" } )).to contain_exactly(user2)
- expect(resolve_users( args: { search: "someperson" } )).to contain_exactly(user1)
+ expect(resolve_users(args: { search: "some" })).to contain_exactly(user1, user2)
+ expect(resolve_users(args: { search: "123784" })).to contain_exactly(user2)
+ expect(resolve_users(args: { search: "someperson" })).to contain_exactly(user1)
end
end
diff --git a/spec/graphql/resolvers/work_item_resolver_spec.rb b/spec/graphql/resolvers/work_item_resolver_spec.rb
index c44ed395102..dacc6ac11d8 100644
--- a/spec/graphql/resolvers/work_item_resolver_spec.rb
+++ b/spec/graphql/resolvers/work_item_resolver_spec.rb
@@ -27,14 +27,6 @@ RSpec.describe Resolvers::WorkItemResolver do
end
end
end
-
- context 'when the work_items feature flag is disabled' do
- before do
- stub_feature_flags(work_items: false)
- end
-
- it { is_expected.to be_nil }
- end
end
private
diff --git a/spec/graphql/resolvers/work_items/types_resolver_spec.rb b/spec/graphql/resolvers/work_items/types_resolver_spec.rb
index 868f4566ad6..5121a105523 100644
--- a/spec/graphql/resolvers/work_items/types_resolver_spec.rb
+++ b/spec/graphql/resolvers/work_items/types_resolver_spec.rb
@@ -29,16 +29,6 @@ RSpec.describe Resolvers::WorkItems::TypesResolver do
expect(result.to_a).to contain_exactly(WorkItems::Type.default_by_type(:task))
end
end
-
- context 'when work_items feature flag is disabled' do
- before do
- stub_feature_flags(work_items: false)
- end
-
- it 'returns nil' do
- expect(result).to be_nil
- end
- end
end
describe '#resolve' do
@@ -53,15 +43,5 @@ RSpec.describe Resolvers::WorkItems::TypesResolver do
it_behaves_like 'a work item type resolver'
end
-
- context 'when parent is not a group or project' do
- let(:object) { 'not a project/group' }
-
- it 'returns nil because of feature flag check' do
- result = resolve(described_class, obj: object, args: {})
-
- expect(result).to be_nil
- end
- end
end
end