Release v1.3.0 (#8)

* helper method to login into ewelink if no auth credentials found

* return websocket reponse as JSON

* created function to get raw consumption data

* created function to parse raw consumption data and return daily usage

* renamed property

* created function to get current month power usage

* created function to get raw power usage

* added new test cases

* catch websocket connection errors

* power usage enhancements

* added new test case

* removed unused code

* updated credentials file

* version bump

* updated dependencies

* tests reorganized
This commit is contained in:
Martin M
2019-07-27 14:52:12 -03:00
committed by GitHub
parent d1cf9da212
commit 90f7cde28c
12 changed files with 2015 additions and 406 deletions

View File

@@ -1,5 +1,12 @@
const delay = require('delay');
const ewelink = require('../main');
const { email, password } = require('./_setup/credentials.json');
const {
email,
password,
deviceIdWithoutPower,
} = require('./_setup/credentials.json');
const { loginExpectations } = require('./_setup/expectations');
describe('valid credentials, invalid device', () => {
@@ -28,6 +35,31 @@ describe('valid credentials, invalid device', () => {
expect(powerState.msg).toBe('Device does not exist');
expect(powerState.error).toBe(500);
});
test('raw power usage should fail', async () => {
jest.setTimeout(30000);
const conn = new ewelink({ email, password });
const powerUsage = await conn.getDeviceRawPowerUsage('invalid deviceid');
expect(typeof powerUsage).toBe('object');
expect(powerUsage.error).toBe('No power usage data found.');
});
test('current month power usage should fail', async () => {
jest.setTimeout(30000);
const conn = new ewelink({ email, password });
const powerUsage = await conn.getDevicePowerUsage('invalid deviceid');
expect(typeof powerUsage).toBe('object');
expect(powerUsage.error).toBe('No power usage data found.');
});
test('raw power on device without electricity monitor should fail', async () => {
jest.setTimeout(30000);
await delay(1000);
const conn = new ewelink({ email, password });
const powerUsage = await conn.getDeviceRawPowerUsage(deviceIdWithoutPower);
expect(typeof powerUsage).toBe('object');
expect(powerUsage.error).toBe('No power usage data found.');
});
});
describe('valid credentials, wrong region', () => {