spec/lib/trackerific/event_spec.rb in trackerific-0.5.5 vs spec/lib/trackerific/event_spec.rb in trackerific-0.6.0

- old
+ new

@@ -2,32 +2,47 @@ describe Trackerific::Event do before do @date = Time.now - @description = "description" - @location = "location" - @event = Trackerific::Event.new(@date, @description, @location) + @description = 'description' + @location = 'location' + @required_parameters = { + :date => @date, + :description => @description, + :location => @location + } end - describe :date do - subject { @event.date } - it { should be @date } + context "with all required options" do + before { @event = Trackerific::Event.new(@required_parameters) } + + describe :date do + subject { @event.date } + it { should be @date } + end + + describe :description do + subject { @event.description } + it { should be @description } + end + + describe :location do + subject { @event.location } + it { should be @location } + end + + describe :to_s do + before { @regex = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[1-2][0-9]|3[01]) \d{2}:\d{2} (am|pm).*/ } + subject { @event.to_s } + it("should be in format mmm dd hh:mm am/pm.*") { should =~ @regex } + end end - describe :description do - subject { @event.description } - it { should be @description } + context "missing some options" do + specify { lambda { Trackerific::Event.new(:date => Time.now, :description => '') }.should raise_error(ArgumentError) } end - describe :location do - subject { @event.location } - it { should be @location } + context "with invalid options" do + specify { lambda { Trackerific::Event.new(:hello => "world") }.should raise_error(ArgumentError) } end - - describe :to_s do - before { @regex = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[1-2][0-9]|3[01]) \d{2}:\d{2} (am|pm).*/ } - subject { @event.to_s } - it("should be in format mmm dd hh:mm am/pm.*") { should =~ @regex } - end - end