Module: Cuprum::RSpec::Deferred::ParameterValidationExamples

Includes:
Matchers, RSpec::SleepingKingStudios::Deferred::Provider
Defined in:
lib/cuprum/rspec/deferred/parameter_validation_examples.rb

Overview

Deferred examples for testing parameter validation.

Examples:

With A Validation Type

RSpec.describe LaunchRocket do
  include Cuprum::RSpec::Deferred::ParameterValidationExamples

  describe '#call' do
    let(:launch_site) { 'KSC' }

    def call_command
      subject.call(launch_site:)
    end

    describe 'with invalid parameters' do
      let(:launch_site) { nil }

      include_deferred 'should validate the parameter',
        :launch_site,
        'sleeping_king_studios.tools.assertions.presence',
        as: 'launch site'
    end
  end
end

With A Message

RSpec.describe LaunchRocket do
  include Cuprum::RSpec::Deferred::ParameterValidationExamples

  describe '#call' do
    let(:launch_site) { 'KSC' }

    def call_command
      subject.call(launch_site:)
    end

    describe 'with invalid parameters' do
      let(:launch_site) { nil }

      include_deferred 'should validate the parameter',
        :launch_site,
        message: "launch site can't be blank"
    end
  end
end

Method Summary

Methods included from Matchers

#be_a_failing_result, #be_a_passing_result, #be_a_result, #be_callable