spec/lib/gush/job_spec.rb in gush-0.0.1 vs spec/lib/gush/job_spec.rb in gush-0.1

- old
+ new

@@ -5,26 +5,26 @@ describe "#fail!" do it "sets finished and failed to true and records time" do job = described_class.new(name: "a-job") job.fail! expect(job.failed_at).to eq(Time.now.to_i) - expect(job.failed).to eq(true) - expect(job.finished).to eq(true) - expect(job.running).to eq(false) - expect(job.enqueued).to eq(false) + expect(job.failed?).to eq(true) + expect(job.finished?).to eq(true) + expect(job.running?).to eq(false) + expect(job.enqueued?).to eq(false) end end describe "#finish!" do it "sets finished to false and failed to false and records time" do job = described_class.new(name: "a-job") job.finish! expect(job.finished_at).to eq(Time.now.to_i) - expect(job.failed).to eq(false) - expect(job.running).to eq(false) - expect(job.finished).to eq(true) - expect(job.enqueued).to eq(false) + expect(job.failed?).to eq(false) + expect(job.running?).to eq(false) + expect(job.finished?).to eq(true) + expect(job.enqueued?).to eq(false) end end describe "#enqueue!" do it "resets flags to false and sets enqueued to true" do @@ -33,82 +33,78 @@ job.failed_at = 123 job.enqueue! expect(job.started_at).to eq(nil) expect(job.finished_at).to eq(nil) expect(job.failed_at).to eq(nil) - expect(job.failed).to eq(false) - expect(job.finished).to eq(false) - expect(job.enqueued).to eq(true) - expect(job.running).to eq(false) + expect(job.failed?).to eq(false) + expect(job.finished?).to eq(false) + expect(job.enqueued?).to eq(true) + expect(job.running?).to eq(false) end end describe "#start!" do - it "resets flags to false and sets running to true" do + it "resets flags and marks as running" do job = described_class.new(name: "a-job") - job.enqueue! job.start! expect(job.started_at).to eq(Time.now.to_i) - expect(job.enqueued).to eq(false) - expect(job.running).to eq(true) + expect(job.enqueued?).to eq(false) + expect(job.running?).to eq(true) end end describe "#as_json" do context "finished and enqueued set to true" do it "returns correct hash" do - job = described_class.new(name: "a-job", finished: true, enqueued: true) + job = described_class.new(double('flow'), name: "a-job", finished_at: 123, enqueued_at: 120) expected = { name: "a-job", klass: "Gush::Job", finished: true, enqueued: true, failed: false, incoming: [], outgoing: [], failed_at: nil, started_at: nil, - finished_at: nil, + finished_at: 123, + enqueued_at: 120, running: false } expect(job.as_json).to eq(expected) end end end describe ".from_hash" do it "properly restores state of the job from hash" do - job = described_class.from_hash({ - klass: 'Gush::Job', - name: 'gob', - finished: true, - failed: true, - enqueued: true, - incoming: ['a', 'b'], - outgoing: ['c'], - failed_at: 123, - finished_at: 122, - started_at: 55 - }) + job = described_class.from_hash( + double('flow'), + { + klass: 'Gush::Job', + name: 'gob', + finished: true, + failed: true, + enqueued: true, + incoming: ['a', 'b'], + outgoing: ['c'], + failed_at: 123, + finished_at: 122, + started_at: 55, + enqueued_at: 444 + } + ) expect(job.name).to eq('gob') expect(job.class).to eq(Gush::Job) - expect(job.finished).to eq(true) - expect(job.failed).to eq(true) - expect(job.enqueued).to eq(true) + expect(job.finished?).to eq(true) + expect(job.failed?).to eq(true) + expect(job.enqueued?).to eq(true) expect(job.incoming).to eq(['a', 'b']) expect(job.outgoing).to eq(['c']) expect(job.failed_at).to eq(123) expect(job.finished_at).to eq(122) expect(job.started_at).to eq(55) - end - end - - describe "#logger" do - it "returns a logger for the job" do - job = described_class.new(name: "a-job", finished: true, running: true) - job.logger = TestLoggerBuilder.new(:workflow, job, 1234).build - expect(job.logger).to be_a TestLogger - expect(job.logger.name).to eq(job.name) + expect(job.enqueued_at).to eq(444) end end end