spec/rapidash/clientable_spec.rb in rapidash-0.0.1 vs spec/rapidash/clientable_spec.rb in rapidash-0.0.2
- old
+ new
@@ -1,61 +1,33 @@
require "spec_helper"
-class Rapidash::Users
- def initialize(*args)
- end
-end
-
-class Users
- def initialize(*args)
- end
-end
-
-class Rapidash::ClientTester
- include Rapidash::Clientable
- resource :users
-end
-
-class ClientTester
- include Rapidash::Clientable
- resource :users
-end
-
class OAuthClientTester
include Rapidash::Clientable
method :oauth
end
class HTTPClientTester
include Rapidash::Clientable
method :http
end
+class TestClientTester
+ include Rapidash::Clientable
+ method :test
+end
+
+
describe Rapidash::Clientable do
describe "#included" do
- it "should include the resource method" do
- Rapidash::ClientTester.methods.should include(:resource)
- end
-
it "should include the method method" do
- Rapidash::ClientTester.methods.should include(:method)
+ HTTPClientTester.methods.map { |m| m.to_sym }.should include(:method)
end
end
- describe "#resource" do
- it "should add a method with the name of the argument" do
- Rapidash::ClientTester.new.methods.should include(:users)
- end
-
- it "should add a bang method with the name of the argument" do
- Rapidash::ClientTester.new.methods.should include(:users!)
- end
- end
-
describe "#method" do
it "should include the HTTPClient" do
client = HTTPClientTester.new
client.class.ancestors.should include(Rapidash::HTTPClient)
@@ -64,36 +36,22 @@
it "should include the OAuthClient" do
client = OAuthClientTester.new({:uid => "foo", :secret => "bar", :site => "baz"})
client.class.ancestors.should include(Rapidash::OAuthClient)
end
+ it "should include the OAuthClient" do
+ client = TestClientTester.new
+ client.class.ancestors.should include(Rapidash::TestClient)
+ end
+
it "should raise an error on anything else" do
expect {
class InvalidClientTester
include Rapidash::Clientable
method :invalid
end
}.to raise_error(Rapidash::ConfigurationError)
end
- end
-
- describe ".users" do
- it "should return an instance of the resource" do
- Rapidash::ClientTester.new.users.class.should eql(Rapidash::Users)
- end
-
- it "should not use a namespace if not in a module" do
- ClientTester.new.users.class.should eql(Users)
- end
- end
-
- describe ".tickets!" do
- it "should return an instance of the resource and call it" do
- users = mock
- Rapidash::Users.should_receive(:new).and_return(users)
- users.should_receive(:call!)
- Rapidash::ClientTester.new.users!
- end
end
end