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