diff options
Diffstat (limited to 'spec/serializers/import/provider_repo_serializer_spec.rb')
-rw-r--r-- | spec/serializers/import/provider_repo_serializer_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/serializers/import/provider_repo_serializer_spec.rb b/spec/serializers/import/provider_repo_serializer_spec.rb new file mode 100644 index 00000000000..9bf55e6c65d --- /dev/null +++ b/spec/serializers/import/provider_repo_serializer_spec.rb @@ -0,0 +1,29 @@ +# 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 |