File tree 2 files changed +27
-0
lines changed
2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ const logger = require('../../utils/logger');
2
2
const tuyaController = require ( './api/tuya.controller' ) ;
3
3
4
4
const TuyaHandler = require ( './lib' ) ;
5
+ const { STATUS } = require ( './lib/utils/tuya.constants' ) ;
5
6
6
7
module . exports = function TuyaService ( gladys , serviceId ) {
7
8
const tuyaHandler = new TuyaHandler ( gladys , serviceId ) ;
@@ -29,9 +30,21 @@ module.exports = function TuyaService(gladys, serviceId) {
29
30
await tuyaHandler . disconnect ( ) ;
30
31
}
31
32
33
+ /**
34
+ * @public
35
+ * @description Test if Tuya is running.
36
+ * @returns {Promise<boolean> } Returns true if Tuya is used.
37
+ * @example
38
+ * const used = await gladys.services.tuya.isUsed();
39
+ */
40
+ async function isUsed ( ) {
41
+ return tuyaHandler . status === STATUS . CONNECTED && tuyaHandler . connector !== null ;
42
+ }
43
+
32
44
return Object . freeze ( {
33
45
start,
34
46
stop,
47
+ isUsed,
35
48
device : tuyaHandler ,
36
49
controllers : tuyaController ( tuyaHandler ) ,
37
50
} ) ;
Original file line number Diff line number Diff line change 1
1
const sinon = require ( 'sinon' ) ;
2
+ const { expect } = require ( 'chai' ) ;
2
3
const proxyquire = require ( 'proxyquire' ) . noCallThru ( ) ;
4
+ const { STATUS } = require ( '../../../services/tuya/lib/utils/tuya.constants' ) ;
3
5
4
6
const { assert, fake } = sinon ;
5
7
@@ -36,4 +38,16 @@ describe('TuyaService', () => {
36
38
assert . notCalled ( tuyaService . device . init ) ;
37
39
assert . calledOnce ( tuyaService . device . disconnect ) ;
38
40
} ) ;
41
+
42
+ it ( 'isUsed: should return false, service not used' , async ( ) => {
43
+ const used = await tuyaService . isUsed ( ) ;
44
+ expect ( used ) . to . equal ( false ) ;
45
+ } ) ;
46
+
47
+ it ( 'isUsed: should return true, service is used' , async ( ) => {
48
+ tuyaService . device . status = STATUS . CONNECTED ;
49
+ tuyaService . device . connector = { } ;
50
+ const used = await tuyaService . isUsed ( ) ;
51
+ expect ( used ) . to . equal ( true ) ;
52
+ } ) ;
39
53
} ) ;
You can’t perform that action at this time.
0 commit comments