@@ -4,6 +4,7 @@ import { Device } from "nativescript-preview-sdk";
44import { assert } from "chai" ;
55import { DeviceDiscoveryEventNames } from "../../lib/common/constants" ;
66import { LoggerStub , ErrorsStub } from "../stubs" ;
7+ import * as sinon from "sinon" ;
78
89let foundDevices : Device [ ] = [ ] ;
910let lostDevices : Device [ ] = [ ] ;
@@ -40,6 +41,7 @@ function resetDevices() {
4041describe ( "PreviewDevicesService" , ( ) => {
4142 describe ( "onDevicesPresence" , ( ) => {
4243 let previewDevicesService : IPreviewDevicesService = null ;
44+ let clock : sinon . SinonFakeTimers = null ;
4345 beforeEach ( ( ) => {
4446 const injector = createTestInjector ( ) ;
4547 previewDevicesService = injector . resolve ( "previewDevicesService" ) ;
@@ -49,11 +51,13 @@ describe("PreviewDevicesService", () => {
4951 previewDevicesService . on ( DeviceDiscoveryEventNames . DEVICE_LOST , device => {
5052 lostDevices . push ( device ) ;
5153 } ) ;
54+ clock = sinon . useFakeTimers ( ) ;
5255 } ) ;
5356
5457 afterEach ( ( ) => {
5558 previewDevicesService . removeAllListeners ( ) ;
5659 resetDevices ( ) ;
60+ clock . restore ( ) ;
5761 } ) ;
5862
5963 it ( "should add new device" , ( ) => {
@@ -101,6 +105,7 @@ describe("PreviewDevicesService", () => {
101105 resetDevices ( ) ;
102106
103107 previewDevicesService . updateConnectedDevices ( [ ] ) ;
108+ clock . tick ( 5000 ) ;
104109
105110 assert . deepEqual ( foundDevices , [ ] ) ;
106111 assert . deepEqual ( lostDevices , [ device1 ] ) ;
@@ -116,6 +121,7 @@ describe("PreviewDevicesService", () => {
116121 resetDevices ( ) ;
117122
118123 previewDevicesService . updateConnectedDevices ( [ device2 ] ) ;
124+ clock . tick ( 5000 ) ;
119125
120126 assert . deepEqual ( previewDevicesService . getConnectedDevices ( ) , [ device2 ] ) ;
121127 assert . deepEqual ( foundDevices , [ device2 ] ) ;
0 commit comments