diff options
Diffstat (limited to 'spec/support/shared_examples/models/concerns/signature_type_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/models/concerns/signature_type_shared_examples.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/support/shared_examples/models/concerns/signature_type_shared_examples.rb b/spec/support/shared_examples/models/concerns/signature_type_shared_examples.rb new file mode 100644 index 00000000000..728855b74f8 --- /dev/null +++ b/spec/support/shared_examples/models/concerns/signature_type_shared_examples.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +METHODS = %i[ + gpg? + ssh? + x509? +].freeze + +RSpec.shared_examples 'signature with type checking' do |type| + describe 'signature type checkers' do + where(:method, :expected) do + METHODS.map do |method| + [method, method == "#{type}?".to_sym] + end + end + + with_them do + specify { expect(subject.public_send(method)).to eq(expected) } + end + end +end |