Sha256: 635da9105aa863877c74820c651131cee7e1b44b815b66975bc4d470191af7fe
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require 'spec_helper' module Maxwell module Agent describe WorkSchedule do before :each do runner = double(:runner) Agent.stub(:runner).and_return(runner) allow(runner).to receive(:[]).with(:work_schedule). and_return(WorkSchedule.new) end Given(:queue) { Agent.runner[:work_schedule] } Given(:work) { WorkTest.new.load(name: 'foo', work_class: 'bar') } describe '.add' do context 'Work is added' do When(:result) { queue.add(work) } Then { expect(queue.count).to be 1 } end context 'The same Work is added 2x' do Given { queue.add(work) } When { queue.add(work) } Then { expect(queue.count).to be 1 } end end describe '.working' do Given { queue.add(work) } When { queue.get } Then { expect(queue.working.count).to be 1 } And { expect(queue.count).to be 0 } end describe '.put_back' do Given { queue.add(work) } Given { queue.get } When { queue.put_back(work) } Then { expect(queue.count).to eq 1 } And { expect(queue.working.count).to eq 0 } end describe '.all' do Given { queue.add(work) } Given { queue.add(WorkTest.new.load(name: 'foo', work_class: 'bar', perform_at: 5.minutes.ago)) } When { queue.get } Then { expect(queue.all.count).to be 2 } And { expect(queue.working.count).to be 1 } And { expect(queue.schedule.count).to be 1 } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
maxwell_agent-0.0.5 | spec/agent/work_schedule_spec.rb |