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