Sha256: 58ac1d3c6bfef4ea0e4080596d959a413887b5057c87c8e38f680af1d2d73307

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'

describe Trackerific::Event do
  
  before do
    @date = Time.now
    @description = 'description'
    @location = 'location'
    @required_parameters = {
      :date         => @date,
      :description  => @description,
      :location     => @location
    }
  end
  
  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
  
  context "missing some options" do
    specify { lambda { Trackerific::Event.new(:date => Time.now, :description => '') }.should raise_error(ArgumentError) }
  end
  
  context "with invalid options" do
    specify { lambda { Trackerific::Event.new(:hello => "world") }.should raise_error(ArgumentError) }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
trackerific-0.6.2 spec/lib/trackerific/event_spec.rb
trackerific-0.6.1 spec/lib/trackerific/event_spec.rb
trackerific-0.6.0 spec/lib/trackerific/event_spec.rb