diff --git a/lib/models/provider.rb b/lib/models/provider.rb index 6b2e94b..0802dba 100644 --- a/lib/models/provider.rb +++ b/lib/models/provider.rb @@ -18,8 +18,7 @@ class Provider }.freeze def initialize(labels) - labels = labels.tr("\n", "").delete_prefix("[").delete_suffix("]").split(",").map(&:strip) - providers = labels.select { |label| PROVIDER_MAP.key?(label) } + providers = JSON.parse(labels).select { |label| PROVIDER_MAP.key?(label) } raise "One provider must be selected" if providers.empty? raise "Only one provider can be selected" unless providers.one? diff --git a/spec/models/provider_spec.rb b/spec/models/provider_spec.rb index edd7572..6d49ee3 100644 --- a/spec/models/provider_spec.rb +++ b/spec/models/provider_spec.rb @@ -20,8 +20,8 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - jenkins, - azure-devops + "jenkins", + "azure-devops" ] LABELS end @@ -33,7 +33,7 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - something-unsupported + "something-unsupported" ] LABELS end @@ -45,7 +45,7 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - jenkins + "jenkins" ] LABELS end @@ -59,7 +59,7 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - gitlab + "gitlab" ] LABELS end @@ -73,7 +73,7 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - travis-ci + "travis-ci" ] LABELS end @@ -87,7 +87,7 @@ RSpec.describe Provider do let(:labels) do <<~LABELS [ - azure-devops + "azure-devops" ] LABELS end