Skip to content

Commit ba7afb5

Browse files
committed
Add openapiFirst::Test.registered?
1 parent fd17382 commit ba7afb5

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

lib/openapi_first/test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ def self.configuration
3434
@configuration ||= Configuration.new
3535
end
3636

37+
def self.registered?(oad)
38+
key = oad.key
39+
definitions.any? { |(_name, registered)| registered.key == key }
40+
end
41+
3742
# Sets up OpenAPI test coverage and OAD registration.
3843
# @yieldparam [OpenapiFirst::Test::Configuration] configuration A configuration to setup test integration
3944
def self.setup

spec/test_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,22 @@ def call(_env)
419419
end
420420
end
421421

422+
describe '.registered?' do
423+
it 'returns false for an unknown OAD' do
424+
expect(described_class.registered?(definition)).to be false
425+
end
426+
427+
it 'returns true for a globally registered OAD' do
428+
OpenapiFirst.register(definition)
429+
expect(described_class.registered?(definition)).to be true
430+
end
431+
432+
it 'returns true for an OAD registered in Test' do
433+
OpenapiFirst::Test.register(definition)
434+
expect(described_class.registered?(definition)).to be true
435+
end
436+
end
437+
422438
describe 'handling invalid requests' do
423439
let(:definition) do
424440
OpenapiFirst.parse(

0 commit comments

Comments
 (0)