cse47122
4 years ago
1 changed files with 0 additions and 81 deletions
@ -1,81 +0,0 @@ |
|||||
/* globals describe it */ |
|
||||
|
|
||||
const expect = require('chai').expect |
|
||||
|
|
||||
const FakeDevice = require('../src/fake-device') |
|
||||
const measurements = { |
|
||||
usage: {type: 'integer', min: 0, max: 100}, |
|
||||
voltage: {type: 'integer', min: 0, max: 15}, |
|
||||
temperature: {type: 'integer', min: -20, max: 60} |
|
||||
} |
|
||||
|
|
||||
// create fake influx connection
|
|
||||
let connectionWriteData = false |
|
||||
const connection = { |
|
||||
send: (deviceId, data) => { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
connectionWriteData = {deviceId, data} |
|
||||
resolve() |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
describe('FakeDevice', function () { |
|
||||
let fakeDevice = null |
|
||||
|
|
||||
it('should throw error if no params are passed', function () { |
|
||||
expect(FakeDevice).to.throw(Error) |
|
||||
}) |
|
||||
|
|
||||
it('shold throw missing deviceId param', function () { |
|
||||
expect(() => FakeDevice({})).to.throw('Missing deviceId param') |
|
||||
}) |
|
||||
|
|
||||
it('shold throw missing connection param', function () { |
|
||||
expect(() => FakeDevice({ |
|
||||
deviceId: 1 |
|
||||
})).to.throw('Missing connection param') |
|
||||
}) |
|
||||
|
|
||||
it('shold throw missing measurements param', function () { |
|
||||
expect(() => FakeDevice({ |
|
||||
deviceId: 1, |
|
||||
connection |
|
||||
})).to.throw('Missing measurements param') |
|
||||
}) |
|
||||
|
|
||||
it('should create instance', function () { |
|
||||
fakeDevice = FakeDevice({ |
|
||||
deviceId: 1, |
|
||||
connection, |
|
||||
sendInterval: 1000, |
|
||||
measurements |
|
||||
}) |
|
||||
expect(fakeDevice).to.have.property('start') |
|
||||
}) |
|
||||
|
|
||||
it('should generate data', function (done) { |
|
||||
fakeDevice.start() |
|
||||
setTimeout(() => { |
|
||||
let data = fakeDevice.getData() |
|
||||
done(!data.length) |
|
||||
}, 500) |
|
||||
}) |
|
||||
|
|
||||
it('should send data to influx', function (done) { |
|
||||
setTimeout(() => { |
|
||||
if (!connectionWriteData) return done('No data') |
|
||||
if (!connectionWriteData.deviceId) return done('Invalid write data - missing deviceId') |
|
||||
if ( |
|
||||
connectionWriteData.data[0].usage && |
|
||||
connectionWriteData.data[0].voltage && |
|
||||
connectionWriteData.data[0].temperature && |
|
||||
connectionWriteData.data[0].timestamp |
|
||||
) { |
|
||||
done() |
|
||||
} else { |
|
||||
done('Invalid write data format') |
|
||||
} |
|
||||
}, 1000) |
|
||||
}) |
|
||||
}) |
|
Loading…
Reference in new issue