debian-mirror-gitlab/spec/graphql/resolvers/achievements/achievements_resolver_spec.rb
2023-06-20 00:43:36 +05:30

44 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Resolvers::Achievements::AchievementsResolver, feature_category: :user_profile do
include GraphqlHelpers
let_it_be(:group) { create(:group, :public) }
let_it_be(:achievements) { create_list(:achievement, 3, namespace: group) }
let(:args) { {} }
specify do
expect(described_class).to have_nullable_graphql_type(Types::Achievements::AchievementType.connection_type)
end
describe '#resolve' do
it 'returns all achievements' do
expect(resolve_achievements.items).to match_array(achievements)
end
context 'with ids argument' do
let(:args) { { ids: [achievements[0].to_global_id, achievements[1].to_global_id] } }
it 'returns the specified achievement' do
expect(resolve_achievements.items).to contain_exactly(achievements[0], achievements[1])
end
end
context 'when `achievements` feature flag is diabled' do
before do
stub_feature_flags(achievements: false)
end
it 'is empty' do
expect(resolve_achievements).to be_empty
end
end
end
def resolve_achievements
resolve(described_class, args: args, obj: group)
end
end