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