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