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>2021-04-26 18:10:20 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-26 18:10:20 +0300
commitaad3ac9e5e59d47e389ff387e9fc2ae3a008de33 (patch)
tree42ab9daf2c541be5fe58798d7ea0d86b190c2df8 /spec/graphql
parente5e0589e097991ca671a348de81331240e85719d (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/graphql')
-rw-r--r--spec/graphql/resolvers/group_packages_resolver_spec.rb41
-rw-r--r--spec/graphql/resolvers/project_packages_resolver_spec.rb39
-rw-r--r--spec/graphql/types/query_type_spec.rb13
-rw-r--r--spec/graphql/types/user_type_spec.rb6
4 files changed, 91 insertions, 8 deletions
diff --git a/spec/graphql/resolvers/group_packages_resolver_spec.rb b/spec/graphql/resolvers/group_packages_resolver_spec.rb
index 59438b8d5ad..d2695a3c43a 100644
--- a/spec/graphql/resolvers/group_packages_resolver_spec.rb
+++ b/spec/graphql/resolvers/group_packages_resolver_spec.rb
@@ -8,11 +8,46 @@ RSpec.describe Resolvers::GroupPackagesResolver do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group, :public) }
let_it_be(:project) { create(:project, :public, group: group) }
- let_it_be(:package) { create(:package, project: project) }
+
+ let(:args) do
+ { sort: :created_desc }
+ end
describe '#resolve' do
- subject(:packages) { resolve(described_class, ctx: { current_user: user }, obj: group) }
+ subject { resolve(described_class, ctx: { current_user: user }, obj: group, args: args).to_a }
+
+ context 'without sort' do
+ let_it_be(:package) { create(:package, project: project) }
+
+ it { is_expected.to contain_exactly(package) }
+ end
+
+ context 'with a sort argument' do
+ let_it_be(:project2) { create(:project, :public, group: group) }
+
+ let_it_be(:sort_repository) do
+ create(:conan_package, name: 'bar', project: project, created_at: 1.day.ago, version: "1.0.0")
+ end
+
+ let_it_be(:sort_repository2) do
+ create(:maven_package, name: 'foo', project: project2, created_at: 1.hour.ago, version: "2.0.0")
+ end
+
+ [:created_desc, :name_desc, :version_desc, :type_asc, :project_path_desc].each do |order|
+ context "#{order}" do
+ let(:args) { { sort: order } }
+
+ it { is_expected.to eq([sort_repository2, sort_repository]) }
+ end
+ end
+
+ [:created_asc, :name_asc, :version_asc, :type_desc, :project_path_asc].each do |order|
+ context "#{order}" do
+ let(:args) { { sort: order } }
- it { is_expected.to contain_exactly(package) }
+ it { is_expected.to eq([sort_repository, sort_repository2]) }
+ end
+ end
+ end
end
end
diff --git a/spec/graphql/resolvers/project_packages_resolver_spec.rb b/spec/graphql/resolvers/project_packages_resolver_spec.rb
index c8105ed2a38..695db64743d 100644
--- a/spec/graphql/resolvers/project_packages_resolver_spec.rb
+++ b/spec/graphql/resolvers/project_packages_resolver_spec.rb
@@ -7,11 +7,44 @@ RSpec.describe Resolvers::ProjectPackagesResolver do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :public) }
- let_it_be(:package) { create(:package, project: project) }
+
+ let(:args) do
+ { sort: :created_desc }
+ end
describe '#resolve' do
- subject(:packages) { resolve(described_class, ctx: { current_user: user }, obj: project) }
+ subject { resolve(described_class, ctx: { current_user: user }, obj: project, args: args).to_a }
+
+ context 'without sort' do
+ let_it_be(:package) { create(:package, project: project) }
+
+ it { is_expected.to contain_exactly(package) }
+ end
+
+ context 'with a sort argument' do
+ let_it_be(:sort_repository) do
+ create(:conan_package, name: 'bar', project: project, created_at: 1.day.ago, version: "1.0.0")
+ end
+
+ let_it_be(:sort_repository2) do
+ create(:maven_package, name: 'foo', project: project, created_at: 1.hour.ago, version: "2.0.0")
+ end
+
+ [:created_desc, :name_desc, :version_desc, :type_asc].each do |order|
+ context "#{order}" do
+ let(:args) { { sort: order } }
+
+ it { is_expected.to eq([sort_repository2, sort_repository]) }
+ end
+ end
+
+ [:created_asc, :name_asc, :version_asc, :type_desc].each do |order|
+ context "#{order}" do
+ let(:args) { { sort: order } }
- it { is_expected.to contain_exactly(package) }
+ it { is_expected.to eq([sort_repository, sort_repository2]) }
+ end
+ end
+ end
end
end
diff --git a/spec/graphql/types/query_type_spec.rb b/spec/graphql/types/query_type_spec.rb
index d3dcdd260b0..a877e19c069 100644
--- a/spec/graphql/types/query_type_spec.rb
+++ b/spec/graphql/types/query_type_spec.rb
@@ -21,6 +21,7 @@ RSpec.describe GitlabSchema.types['Query'] do
user
users
issue
+ merge_request
usage_trends_measurements
runner_platforms
]
@@ -60,11 +61,21 @@ RSpec.describe GitlabSchema.types['Query'] do
describe 'issue field' do
subject { described_class.fields['issue'] }
- it 'returns issue' do
+ it "finds an issue by it's gid" do
+ is_expected.to have_graphql_arguments(:id)
is_expected.to have_graphql_type(Types::IssueType)
end
end
+ describe 'merge_request field' do
+ subject { described_class.fields['mergeRequest'] }
+
+ it "finds a merge_request by it's gid" do
+ is_expected.to have_graphql_arguments(:id)
+ is_expected.to have_graphql_type(Types::MergeRequestType)
+ end
+ end
+
describe 'usage_trends_measurements field' do
subject { described_class.fields['usageTrendsMeasurements'] }
diff --git a/spec/graphql/types/user_type_spec.rb b/spec/graphql/types/user_type_spec.rb
index d9e67ff348b..7d73727b041 100644
--- a/spec/graphql/types/user_type_spec.rb
+++ b/spec/graphql/types/user_type_spec.rb
@@ -5,7 +5,11 @@ require 'spec_helper'
RSpec.describe GitlabSchema.types['User'] do
specify { expect(described_class.graphql_name).to eq('User') }
- specify { expect(described_class).to require_graphql_authorizations(:read_user) }
+ specify do
+ runtime_type = described_class.resolve_type(build(:user), {})
+
+ expect(runtime_type).to require_graphql_authorizations(:read_user)
+ end
it 'has the expected fields' do
expected_fields = %w[