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