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/requests/api/graphql/achievements/user_achievements_query_spec.rb')
-rw-r--r--spec/requests/api/graphql/achievements/user_achievements_query_spec.rb27
1 files changed, 25 insertions, 2 deletions
diff --git a/spec/requests/api/graphql/achievements/user_achievements_query_spec.rb b/spec/requests/api/graphql/achievements/user_achievements_query_spec.rb
index fa47cf4988a..32048ea1432 100644
--- a/spec/requests/api/graphql/achievements/user_achievements_query_spec.rb
+++ b/spec/requests/api/graphql/achievements/user_achievements_query_spec.rb
@@ -39,7 +39,9 @@ RSpec.describe 'UserAchievements', feature_category: :user_profile do
HEREDOC
end
- let_it_be(:query) do
+ let(:current_user) { user }
+
+ let(:query) do
graphql_query_for('namespace', { full_path: group.full_path }, fields)
end
@@ -48,7 +50,7 @@ RSpec.describe 'UserAchievements', feature_category: :user_profile do
end
before do
- post_graphql(query, current_user: user)
+ post_graphql(query, current_user: current_user)
end
it_behaves_like 'a working graphql query'
@@ -65,6 +67,27 @@ RSpec.describe 'UserAchievements', feature_category: :user_profile do
expect(graphql_data_at(:namespace, :achievements, :nodes, :userAchievements, :count)).to contain_exactly(1)
end
+ context 'when user_achievement has priority set' do
+ let_it_be(:achievement_with_priority) do
+ create(:user_achievement, achievement: achievement, user: user, priority: 0)
+ end
+
+ let(:userquery_fields) do
+ "userAchievements { nodes { id } }"
+ end
+
+ let(:query) do
+ graphql_query_for('user', { username: user.username }, userquery_fields)
+ end
+
+ it 'returns achievements in correct order' do
+ expect(graphql_data_at(:user, :userAchievements, :nodes).pluck('id')).to eq([
+ achievement_with_priority.to_global_id.to_s,
+ non_revoked_achievement1.to_global_id.to_s
+ ])
+ end
+ end
+
it 'can lookahead to eliminate N+1 queries', :use_clean_rails_memory_store_caching do
control_count = ActiveRecord::QueryRecorder.new(skip_cached: false) do
post_graphql(query, current_user: user)