24 lines
648 B
Ruby
24 lines
648 B
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe UseKeyWorker do
|
||
|
describe "#perform" do
|
||
|
it "updates the key's last_used_at attribute to the current time when it exists" do
|
||
|
worker = described_class.new
|
||
|
key = create(:key)
|
||
|
current_time = Time.zone.now
|
||
|
|
||
|
Timecop.freeze(current_time) do
|
||
|
expect { worker.perform(key.id) }
|
||
|
.to change { key.reload.last_used_at }.from(nil).to be_like_time(current_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
it "returns false and skips the job when the key doesn't exist" do
|
||
|
worker = described_class.new
|
||
|
key = create(:key)
|
||
|
|
||
|
expect(worker.perform(key.id + 1)).to eq false
|
||
|
end
|
||
|
end
|
||
|
end
|