spec/models/posting_spec.rb in marty-2.5.2 vs spec/models/posting_spec.rb in marty-2.5.4

- old
+ new

@@ -1,110 +1,110 @@ require 'spec_helper' module Marty describe Posting do - describe "validations" do - it "requires unique names" do - dt = "20130215 0800" + describe 'validations' do + it 'requires unique names' do + dt = '20130215 0800' c = Posting.count - Posting.do_create("BASE", dt, 'a comment') + Posting.do_create('BASE', dt, 'a comment') Posting.count.should == c + 1 - expect { s = Posting.do_create("BASE", dt, 'a comment') }. + expect { s = Posting.do_create('BASE', dt, 'a comment') }. to raise_error(ActiveRecord::RecordInvalid) end - it "creates name based on PDT" do - d, t, tz = "20130215", "0900", "PST8PDT" + it 'creates name based on PDT' do + d, t, tz = '20130215', '0900', 'PST8PDT' dt_tz = [d, t, tz].join(' ') - p = Posting.do_create("BASE", dt_tz, 'a comment') + p = Posting.do_create('BASE', dt_tz, 'a comment') expect(p.name).to match /BASE-#{d}-#{t}/ p.reload expect(p.created_dt).to eq Time.zone.parse(dt_tz) end end - describe "lookups" do - it "are seeded with a NOW posting" do - expect(Posting.lookup_dt("NOW")).to eq Float::INFINITY + describe 'lookups' do + it 'are seeded with a NOW posting' do + expect(Posting.lookup_dt('NOW')).to eq Float::INFINITY end - describe ".get_latest" do - it "provide a list of latest of postings in descending order" do - 4.times { |d| - Posting.do_create("BASE", d.day.from_now, 'a comment') - } + describe '.get_latest' do + it 'provide a list of latest of postings in descending order' do + 4.times do |d| + Posting.do_create('BASE', d.day.from_now, 'a comment') + end dt3 = 3.day.from_now latest = Posting.get_latest(1) expect(latest.count).to eq 1 expect(latest[0].name).to match /BASE-#{dt3.strftime("%Y%m%d-%H%M")}/ end end - describe ".get_latest_by_type" do - context "when invalid parameters are supplied" do + describe '.get_latest_by_type' do + context 'when invalid parameters are supplied' do it "raises 'posting type list missing' error" do expect { Posting.get_latest_by_type(10, nil) }. - to raise_error "missing posting types list" + to raise_error 'missing posting types list' end it "raises 'bad posting types list' error" do expect { Posting.get_latest_by_type(10, 'BASE') }. - to raise_error "bad posting types list" + to raise_error 'bad posting types list' end end - context "when valid parameters are supplied" do + context 'when valid parameters are supplied' do before do - PostingType.create({name: 'SNAPSHOT'}) - PostingType.create({name: 'OTHER'}) - Posting.do_create("BASE", 0.day.from_now, 'base posting') - Posting.do_create("SNAPSHOT", 1.day.from_now, 'snapshot1 posting') - Posting.do_create("SNAPSHOT", 2.day.from_now, 'snapshot2 posting') - Posting.do_create("OTHER" , 3.day.from_now, 'other1 posting') - Posting.do_create("SNAPSHOT", 4.day.from_now, 'snapshot3 posting') - Posting.do_create("OTHER" , 5.day.from_now, 'other2 posting') + PostingType.create(name: 'SNAPSHOT') + PostingType.create(name: 'OTHER') + Posting.do_create('BASE', 0.day.from_now, 'base posting') + Posting.do_create('SNAPSHOT', 1.day.from_now, 'snapshot1 posting') + Posting.do_create('SNAPSHOT', 2.day.from_now, 'snapshot2 posting') + Posting.do_create('OTHER', 3.day.from_now, 'other1 posting') + Posting.do_create('SNAPSHOT', 4.day.from_now, 'snapshot3 posting') + Posting.do_create('OTHER', 5.day.from_now, 'other2 posting') end - it "filters on a single posting type" do + it 'filters on a single posting type' do # First param is just the limit (max) to return res = Posting.get_latest_by_type(10, ['BASE']) expect(res.count).to eq 1 r0 = Posting.find_by_name(res[0]['name']) expect(r0.comment).to eq 'base posting' end - it "filters on multiple posting types" do + it 'filters on multiple posting types' do res = Posting.get_latest_by_type(10, ['BASE', 'SNAPSHOT']) expect(res.count).to eq 4 # snapshot3 is most recent with this filter r0 = Posting.find_by_name(res[0]['name']) r3 = Posting.find_by_name(res[3]['name']) expect(r0.comment).to eq 'snapshot3 posting' expect(r3.comment).to eq 'base posting' end - it "filters on posting types that are single or double quoted" do - res = Posting.get_latest_by_type(10, ['SNAPSHOT', "OTHER"]) + it 'filters on posting types that are single or double quoted' do + res = Posting.get_latest_by_type(10, ['SNAPSHOT', 'OTHER']) expect(res.count).to eq 5 # other2 is most recent with this filter r0 = Posting.find_by_name(res[0]['name']) r4 = Posting.find_by_name(res[4]['name']) expect(r0.comment).to eq 'other2 posting' expect(r4.comment).to eq 'snapshot1 posting' end - it "filters and limits on multiple posting types" do + it 'filters and limits on multiple posting types' do res = Posting.get_latest_by_type(3, ['SNAPSHOT', 'OTHER']) expect(res.count).to eq 3 # other2 is most recent with this filter r0 = Posting.find_by_name(res[0]['name']) r2 = Posting.find_by_name(res[2]['name']) expect(r0.comment).to eq 'other2 posting' expect(r2.comment).to eq 'other1 posting' end - it "returns nothing with an empty posting type list" do + it 'returns nothing with an empty posting type list' do res = Posting.get_latest_by_type(10, []) expect(res.count).to eq 0 end end end