spec/postalmethods_spec.rb in postalmethods-1.1.0 vs spec/postalmethods_spec.rb in postalmethods-1.1.1
- old
+ new
@@ -1,11 +1,33 @@
require File.dirname(__FILE__) + '/spec_helper.rb'
-# Time to add your specs!
-# http://rspec.info/
-describe "Place your specs here" do
+describe "Client" do
- it "find this spec in spec directory" do
- violated "Be sure to write your specs"
+ it "should instantiate a client with a username and password" do
+ c = PostalMethods::Client.new(PM_OPTS)
+ c.class.should == PostalMethods::Client
end
+ it "should fail without a user/pass on instantiation" do
+ lambda {PostalMethods::Client.new()}.should raise_error(PostalMethods::NoCredentialsException)
+ end
+
+ it "should create a driver client thru the factory" do
+ c = PostalMethods::Client.new(PM_OPTS)
+ c.prepare!
+ c.rpc_driver.class.should == SOAP::RPC::Driver
+ end
+
+ it "should raise a connection error exception when the api is unreachable" do
+ c = PostalMethods::Client.new(PM_OPTS)
+ c.stubs(:api_uri).returns("http://invaliduri.tld/api_endpoint.wtf?")
+ lambda {c.prepare!}.should raise_error(PostalMethods::NoConnectionError)
+ end
+
+ it "should be able to set a work mode" do
+ c = PostalMethods::Client.new(PM_OPTS)
+ c.work_mode.should == "Default"
+ c.work_mode = "ProdUCTion"
+ c.work_mode.should == "Production"
+ c.work_mode.should be_a_kind_of(String)
+ end
end