spec/lib/trackerific_spec.rb in trackerific-0.3.5 vs spec/lib/trackerific_spec.rb in trackerific-0.4.0
- old
+ new
@@ -1,26 +1,48 @@
require 'spec_helper'
-describe "Trackerific" do
+describe Trackerific do
include Trackerific
- describe "tracking_service" do
- include Trackerific
+ describe :services do
+ subject { Trackerific.services }
+ it("should be an Array of Symbols") { should each { |m| m.should be_a Symbol } }
+ end
+
+ describe :service_get do
+ context "with a valid service symbol" do
+ subject { Trackerific.service_get(:fedex).superclass }
+ it("should be a descendant of Trackerific::Service "){ should be Trackerific::Service }
+ end
+
+ context "with an invalid service symbol" do
+ subject { Trackerific.service_get :ksjdfklsjdf }
+ it { should be_nil }
+ end
+
+ end
+
+ describe :tracking_service do
+
context "when given a UPS tracking number" do
- specify { tracking_service("1Z12345E0291980793").should eq Trackerific::UPS }
+ subject { tracking_service "1Z12345E0291980793" }
+ it { should be Trackerific::UPS}
end
context "when given a USPS tracking number" do
- specify { tracking_service("EJ958083578US").should eq Trackerific::USPS }
+ subject { tracking_service "EJ958083578US" }
+ it { should be Trackerific::USPS }
end
context "when given a FedEx tracking number" do
- specify { tracking_service("183689015000001").should eq Trackerific::FedEx }
+ subject { tracking_service "183689015000001" }
+ it { should be Trackerific::FedEx }
end
context "when given an invalid tracking number" do
- specify { tracking_service("invalid tracking number").should be_nil }
+ subject { tracking_service "invalid tracking number" }
+ it { should be_nil }
end
end
end