Skip to content
Snippets Groups Projects
Commit 2ff41753 authored by Pedro Pombeiro's avatar Pedro Pombeiro Committed by Mayra Cabrera
Browse files

GraphQL: Fix filtering for INVALID runners

Changelog: fixed
EE: true
parent d4b2f2cb
No related branches found
No related tags found
1 merge request!92537GraphQL: Fix filtering for INVALID runners
......@@ -6,9 +6,14 @@ class RunnerUpgradeStatusTypeEnum < BaseEnum
graphql_name 'CiRunnerUpgradeStatusType'
::Ci::RunnerVersion::STATUS_DESCRIPTIONS.each do |status, description|
status = :invalid if status == :invalid_version
status_name_src =
if status == :invalid_version
:invalid
else
status
end
value status.to_s.upcase, description: description, value: status
value status_name_src.to_s.upcase, description: description, value: status
end
end
end
......
......@@ -7,7 +7,7 @@ class RunnerVersion < Ci::ApplicationRecord
enum_with_nil status: {
not_processed: nil,
invalid_version: -1, # Named invalid_version to avoid clash with auto-generated `invalid?` ActiveRecord method
invalid_version: -1,
unknown: 0,
not_available: 1,
available: 2,
......
......@@ -7,8 +7,7 @@ module RunnerType
extend ActiveSupport::Concern
RUNNER_UPGRADE_STATUS_TRANSLATIONS = {
error: :unknown,
invalid_version: :invalid
error: :unknown
}.freeze
prepended do
......
......@@ -3,14 +3,22 @@
require 'spec_helper'
RSpec.describe Types::Ci::RunnerUpgradeStatusTypeEnum do
let(:model_only_enum_values) { %w[not_processed] }
let(:expected_graphql_source_values) do
Ci::RunnerVersion.statuses.keys - model_only_enum_values
end
specify { expect(described_class.graphql_name).to eq('CiRunnerUpgradeStatusType') }
it 'exposes all upgrade status values except not_processed' do
expect(described_class.values.keys).to match_array(
Ci::RunnerVersion.statuses.keys
.reject { |k| k == 'not_processed' }
.map { |k| k.upcase }
expected_graphql_source_values
.map(&:upcase)
.map { |v| v == 'INVALID_VERSION' ? 'INVALID' : v }
)
end
it 'exposes all upgrade status values except enum-only values' do
expect(described_class.values.values.map(&:value).map(&:to_s)).to match_array(expected_graphql_source_values)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment