summaryrefslogtreecommitdiff
path: root/spec/graphql
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-12-23 18:10:19 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-12-23 18:10:19 +0000
commitb8d021cb606ac86f41a0ef9dacd133a9677f8414 (patch)
treeaee1c216ff06acc7e3587a9a28af95f0392734f4 /spec/graphql
parent9dbca64417abbec779a219b9e0df9d289d945032 (diff)
downloadgitlab-ce-b8d021cb606ac86f41a0ef9dacd133a9677f8414.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/graphql')
-rw-r--r--spec/graphql/mutations/releases/create_spec.rb7
-rw-r--r--spec/graphql/mutations/releases/update_spec.rb7
-rw-r--r--spec/graphql/resolvers/release_milestones_resolver_spec.rb23
3 files changed, 26 insertions, 11 deletions
diff --git a/spec/graphql/mutations/releases/create_spec.rb b/spec/graphql/mutations/releases/create_spec.rb
index d6305691dac..7776f968346 100644
--- a/spec/graphql/mutations/releases/create_spec.rb
+++ b/spec/graphql/mutations/releases/create_spec.rb
@@ -88,12 +88,9 @@ RSpec.describe Mutations::Releases::Create do
it 'creates the release with the correct milestone associations' do
expected_milestone_titles = [milestone_12_3.title, milestone_12_4.title]
- actual_milestone_titles = new_release.milestones.map { |m| m.title }
+ actual_milestone_titles = new_release.milestones.order_by_dates_and_title.map { |m| m.title }
- # Right now the milestones are returned in a non-deterministic order.
- # `match_array` should be updated to `eq` once
- # https://gitlab.com/gitlab-org/gitlab/-/issues/259012 is addressed.
- expect(actual_milestone_titles).to match_array(expected_milestone_titles)
+ expect(actual_milestone_titles).to eq(expected_milestone_titles)
end
describe 'asset links' do
diff --git a/spec/graphql/mutations/releases/update_spec.rb b/spec/graphql/mutations/releases/update_spec.rb
index 0406e9c96f3..c541afd53a1 100644
--- a/spec/graphql/mutations/releases/update_spec.rb
+++ b/spec/graphql/mutations/releases/update_spec.rb
@@ -48,12 +48,7 @@ RSpec.describe Mutations::Releases::Update do
expect(updated_release.name).to eq(name) unless except_for == :name
expect(updated_release.description).to eq(description) unless except_for == :description
expect(updated_release.released_at).to eq(released_at) unless except_for == :released_at
-
- # Right now the milestones are returned in a non-deterministic order.
- # Because of this, we need to allow for milestones to be returned in any order.
- # Once https://gitlab.com/gitlab-org/gitlab/-/issues/259012 has been
- # fixed, this can be updated to expect a specific order.
- expect(updated_release.milestones).to match_array([milestone_12_3, milestone_12_4]) unless except_for == :milestones
+ expect(updated_release.milestones.order_by_dates_and_title).to eq([milestone_12_3, milestone_12_4]) unless except_for == :milestones
end
end
diff --git a/spec/graphql/resolvers/release_milestones_resolver_spec.rb b/spec/graphql/resolvers/release_milestones_resolver_spec.rb
new file mode 100644
index 00000000000..5f66cba859d
--- /dev/null
+++ b/spec/graphql/resolvers/release_milestones_resolver_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Resolvers::ReleaseMilestonesResolver do
+ include GraphqlHelpers
+
+ let_it_be(:release) { create(:release, :with_milestones, milestones_count: 2) }
+
+ let(:resolved) do
+ resolve(described_class, obj: release)
+ end
+
+ describe '#resolve' do
+ it "returns an OffsetActiveRecordRelationConnection" do
+ expect(resolved).to be_a(::Gitlab::Graphql::Pagination::OffsetActiveRecordRelationConnection)
+ end
+
+ it "includes the release's milestones in the returned OffsetActiveRecordRelationConnection" do
+ expect(resolved.items).to eq(release.milestones.order_by_dates_and_title)
+ end
+ end
+end