spec/karousel_spec.rb in karousel-0.9.14 vs spec/karousel_spec.rb in karousel-0.9.15

- old
+ new

@@ -1,49 +1,64 @@ -require_relative 'spec_helper' +# frozen_string_literal: true -describe "Karousel" do - before(:all) do - @karousel = Karousel.new(ClientJobDummy, 20, 0) - end +describe Karousel do + subject { Karousel.new(ClientJobDummy, 20, 0) } before(:each) do ClientJobDummy.reset end - it 'should have version' do - Karousel.version.should =~ /^[\d]+\.[\d]+\.[\d]+$/ + describe '.version' do + it 'has version' do + expect(Karousel.version).to match(/^[\d]+\.[\d]+\.[\d]+$/) + end end - - it "should initiate" do - k = Karousel.new(ClientJobDummy, 20, 0) - k.class.should == Karousel + + describe '.new' do + it 'initiates' do + expect(subject).to be_kind_of Karousel + end end - it "should have size" do - @karousel.size.should == 20 - @karousel.seats.size.should == 0 - @karousel.time_interval.should == 0 + describe '#size' do + it 'has size' do + expect(subject.size).to eq 20 + end end - - it "should run with block" do - karousel = Karousel.new(ClientJobDummy, 20, 0) - count = 0 - karousel.run do - count += 1 - if count < 10 - karousel.seats[1].class.should == Karousel::Job - karousel.seats[1].client_job.class.should == ClientJobDummy - end + + describe '#time_interval' do + it 'has time_interval accessor' do + expect(subject.time_interval).to eq 0 end end - it "should be able to get loaded with jobs" do - @karousel.seats.size.should == 0 - @karousel.populate - @karousel.seats.size.should == 20 - @karousel.seats[0].class == Karousel::Job - @karousel.seats[0].status.should == Karousel::STATUS[:init] + describe '#seats' do + it 'has seats' do + expect(subject.seats).to be_kind_of Array + expect(subject.seats.size).to eq 0 + end end + describe '#run' do + it 'should run with block' do + count = 0 + subject.run do + count += 1 + if count < 10 + expect(subject.seats[1]).to be_kind_of Karousel::Job + expect(subject.seats[1].client_job) + .to be_kind_of ClientJobDummy + end + end + end + end - + describe '#populate' do + it 'loads jobs on karousel' do + expect(subject.seats.size).to eq 0 + subject.populate + expect(subject.seats.size).to eq 20 + expect(subject.seats[0]).to be_kind_of Karousel::Job + expect(subject.seats[0].status).to eq Karousel::STATUS[:init] + end + end end