Class: Servactory::TestKit::Rspec::Helpers::OutputValidator
- Inherits:
-
Object
- Object
- Servactory::TestKit::Rspec::Helpers::OutputValidator
- Includes:
- Concerns::ErrorMessages
- Defined in:
- lib/servactory/test_kit/rspec/helpers/output_validator.rb
Overview
Validates mock output values against service definitions.
## Purpose
Ensures that mocked output values match the service’s output definitions in terms of names and types. Helps catch configuration errors early in tests.
## Usage
Called automatically when ‘succeeds()` is used on builder:
“‘ruby allow_service(MyService)
.succeeds(user: user)
“‘
Can also be called directly:
“‘ruby OutputValidator.validate!(
service_class: MyService,
outputs: { user: user }
) “‘
## Validations
-
**Output names** - all provided outputs must be defined in service
-
**Output types** - values must match expected types (if defined)
Defined Under Namespace
Classes: ValidationError
Class Method Summary collapse
-
.validate!(service_class:, outputs:) ⇒ void
Validates outputs and raises on failure.
Instance Method Summary collapse
-
#initialize(service_class:, outputs:) ⇒ OutputValidator
constructor
Creates a new validator instance.
-
#validate! ⇒ void
Runs all validations.
Constructor Details
#initialize(service_class:, outputs:) ⇒ OutputValidator
Creates a new validator instance.
60 61 62 63 |
# File 'lib/servactory/test_kit/rspec/helpers/output_validator.rb', line 60 def initialize(service_class:, outputs:) @service_class = service_class @outputs = outputs end |
Class Method Details
.validate!(service_class:, outputs:) ⇒ void
This method returns an undefined value.
Validates outputs and raises on failure.
50 51 52 |
# File 'lib/servactory/test_kit/rspec/helpers/output_validator.rb', line 50 def validate!(service_class:, outputs:) new(service_class:, outputs:).validate! end |
Instance Method Details
#validate! ⇒ void
This method returns an undefined value.
Runs all validations.
69 70 71 72 |
# File 'lib/servactory/test_kit/rspec/helpers/output_validator.rb', line 69 def validate! validate_output_names! validate_output_types! end |