# frozen_string_literal: true require 'spec_helper' describe Import::ProviderRepoSerializer do using RSpec::Parameterized::TableSyntax describe '#represent' do where(:provider, :class_name) do :github | 'Import::GithubishProviderRepoEntity' :gitea | 'Import::GithubishProviderRepoEntity' :bitbucket | 'Import::BitbucketProviderRepoEntity' :bitbucket_server | 'Import::BitbucketServerProviderRepoEntity' :fogbugz | 'Import::FogbugzProviderRepoEntity' end with_them do it 'uses correct entity class' do opts = { provider: provider } expect(class_name.constantize).to receive(:represent) described_class.new.represent({}, opts) end end it 'raises an error if invalid provider supplied' do expect { described_class.new.represent({}, { provider: :invalid })}.to raise_error { NotImplementedError } end end end