Display status in admin console, Change the filters to include relevant fields, scopes for device status

This commit is contained in:
leenasn
2015-11-11 14:37:05 +05:30
parent 8116e4e751
commit da6b70c07b
7 changed files with 77 additions and 1 deletions

View File

@@ -22,4 +22,35 @@ RSpec.describe Device, type: :model do
expect(Device.last.next_heartbeat_time).not_to be_nil
end
end
describe "Device status" do
let!(:device){FactoryGirl.create(:device)}
it "Active" do
expect(device.status).to eql Device.statuses.keys[0]
end
it "Missing" do
device.update_attribute(:last_heartbeat_recd_time,Time.now - ACTIVE_TIMEFRAME)
expect(device.status).to eql Device.statuses.keys[1]
end
it "Dead" do
device.update_attribute(:last_heartbeat_recd_time,Time.now - MISSING_TIMEFRAME)
expect(device.status).to eql Device.statuses.keys[2]
end
describe "Scope" do
it "Active" do
expect(Device.active).to eq([device])
end
it "Missing" do
device.update_attribute(:last_heartbeat_recd_time,
(Time.now - 15.hours))
expect(Device.missing).to eq([device])
end
it "Dead" do
device.update_attribute(:last_heartbeat_recd_time,
Time.now - 1.week)
expect(Device.dead).to eq([device])
end
end
end
end