lib/serial_spec.rb in serial-spec-0.1.0 vs lib/serial_spec.rb in serial-spec-0.1.1

- old
+ new

@@ -1,8 +1,42 @@ require "active_support/concern" require "serial_spec/version" require "serial_spec/it_expects" +require "serial_spec/parsed_body" +require "serial_spec/request_response" require "inheritable_accessors" module SerialSpec extend ActiveSupport::Concern + include ItExpects + include RequestResponse + include RequestResponse::Helpers + SERIAL_VALID_VERBS = %w{GET POST PUT PATCH DELETE OPTIONS HEAD} + + module ClassMethods + + def with_request(request_str, params={}, envs={}, &block) + if request_str.split(/\s+/).count == 2 + request_method_string, request_path_str = request_str.split(/\s+/) + end + + context_klass = context "with request: '#{request_str}'" do + if request_str.split(/\s+/).count == 2 + request_method_string, request_path_str = request_str.split(/\s+/) + if SERIAL_VALID_VERBS.include?(request_method_string) + request_method request_method_string + request_path request_path_str + end + end + + instance_exec(&block) if block_given? + + it "should match all examples: #{__inherited_expectations__.keys}" do + perform_request! + end + + end + + end + + end end