Sha256: e2dd90bb0e86d99f123c731e8b3c8dc07ae34da4c766e8b7cdd341bcd10ce6b6

Contents?: true

Size: 1.56 KB

Versions: 3

Compression:

Stored size: 1.56 KB

Contents

module Soaspec
  # Has basic methods common for methods defining RSpec tests in YAML
  class Tester

    # Retrieve the name of the template file to be used in the API request
    attr_reader :template_name

    # Set instance variable name
    # @param [String, Symbol] name Name used when describing API test
    # @param [Hash] options Parameters defining
    def initialize(name, options)
      @name = name
    end

    # Sets api handler variable globally. This is used in 'Exchange' class
    # @return [String] Name set upon initialisation
    def to_s
      Soaspec::Environment.api_handler = self
      @name
    end

    # Set the request option type and the template name
    # @param [String] name Name of file inside 'template' folder excluding extension
    def template_name=(name)
      @request_option = :template
      @template_name = name
    end

    # Will be used in 'success_scenarios' shared examples.
    # Set though 'mandatory_elements' method
    # @return [Array] Array of symbols specifying element names
    def expected_mandatory_elements
      []
    end

    # Use this to set 'expected_mandatory_elements' see 'accessors'
    def mandatory_elements
      []
    end

    # Override this to specify xpath results that must be present in the response
    # Will be used in 'success_scenarios' shared examples
    # @return [Hash] Hash of 'xpath' => 'expected value' pairs
    def expected_mandatory_xpath_values
      {}
    end

    # Use this to set 'expected_mandatory_xpath_values' see 'accessors'
    def mandatory_xpath_values
      []
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
soaspec-0.0.28 lib/soaspec/tester.rb
soaspec-0.0.27 lib/soaspec/tester.rb
soaspec-0.0.26 lib/soaspec/tester.rb