test/query_test.rb in invokr-0.0.1 vs test/query_test.rb in invokr-0.0.2
- old
+ new
@@ -13,6 +13,43 @@
end
def test_required_dependencies
assert_equal [:album], @method.required_dependencies
end
+
+ def test_invoking_singleton_from_query_object
+ assert_equal ['junta', 'trey'], @method.invoke(album: 'junta')
+ end
+
+ def test_invoking_instance_from_query_object
+ test_klass = define_test_klass
+ method = Invokr.query_method test_klass.instance_method :upcase
+
+ val = method.invoke test_klass.new, dep: 'phIsh'
+ assert_equal "PHISH", val
+ end
+
+ def test_cannot_invoke_instance_not_type_other_than_method_owner
+ test_klass = define_test_klass
+ method = Invokr.query_method test_klass.instance_method :upcase
+
+ error = assert_raises TypeError do
+ method.invoke Array.new, dep: 'phIsh'
+ end
+
+ assert_equal 'no implicit conversion of Array into TestKlass', error.message
+ end
+
+ private
+
+ def define_test_klass
+ Class.new do
+ def self.name
+ 'TestKlass'
+ end
+
+ def upcase dep
+ dep.upcase
+ end
+ end
+ end
end