@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
1 lines • 13.9 kB
Source Map (JSON)
{"version":3,"file":"iotize-ionic-testing.mjs","sources":["../../../../projects/iotize-ionic/testing/src/lib/testing-scanner.ts","../../../../projects/iotize-ionic/testing/src/lib/ble-scanner-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/protocol-factory-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/iotize-ionic-testing.module.ts","../../../../projects/iotize-ionic/testing/src/lib/wifi-scanner-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/util.ts","../../../../projects/iotize-ionic/testing/src/iotize-ionic-testing.ts"],"sourcesContent":["import { sleep } from '@iotize/common/utility';\nimport { DeviceScanner, DeviceScannerOptions } from '@iotize/tap/scanner/api';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nexport class TestingScanner<T> implements DeviceScanner<T> {\n scanning: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private _results$ = new Subject<T[]>();\n private _results: T[] = [];\n\n get isScanning(): boolean {\n return this.scanning.value;\n }\n\n get results() {\n return this._results$.asObservable();\n }\n\n async start(option?: DeviceScannerOptions): Promise<any> {\n this.clearResults();\n await sleep(100);\n if (!this.isScanning) {\n this.scanning.next(true);\n }\n }\n\n async stop(): Promise<any> {\n await sleep(100);\n this.scanning.next(false);\n }\n\n addResult(result: T) {\n this._results.push(result);\n this._results$.next(this._results);\n }\n\n private clearResults() {\n this._results = [];\n this._results$.next(this._results);\n }\n}\n","import { DiscoveredDeviceType } from '@iotize/ionic';\nimport { TestingScanner } from './testing-scanner';\nimport { Injectable } from '@angular/core';\n\ntype BLEItemType = DiscoveredDeviceType;\n\n@Injectable()\nexport class BLEScannerTestingService extends TestingScanner<BLEItemType> {}\n","import { ComProtocol } from '@iotize/tap/protocol/api';\nimport { ProtocolFactoryService, ProtocolMeta } from '@iotize/ionic';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ProtocolFactoryTestingService implements ProtocolFactoryService {\n constructor() {}\n\n public create(meta: ProtocolMeta): ComProtocol | Promise<ComProtocol> {\n throw new Error(`Unsupported protocol type \"${meta.type}\"`);\n }\n\n public isValid(meta: ProtocolMeta): boolean {\n return false;\n }\n}\n","import { CommonModule, DOCUMENT } from '@angular/common';\nimport { ModuleWithProviders, NgModule, NgZone, Provider } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterTestingModule } from '@angular/router/testing';\nimport { NFC } from '@awesome-cordova-plugins/nfc/ngx';\nimport { Platform } from '@ionic/angular';\nimport {\n ExecuteTapActionServiceInterface,\n LibCommonModule,\n ProtocolFactoryService,\n TAP_BLE_SCANNER,\n TAP_CONNECTION_OPTIONS_PROVIDER,\n TAP_EXECUTE_TAP_ACTION_SERVICE,\n TAP_INFO_RESOLVER_CONFIG,\n TAP_NETWORK_SCANNER,\n TAP_WIFI_SCANNER,\n TapAdministrationService,\n TapConnectionOptions,\n TaskManagerUiModule,\n} from '@iotize/ionic';\nimport { defaultInfoResolverConfig } from '@iotize/ionic/config';\nimport { DeviceScanner, DeviceScannerOptions } from '@iotize/tap/scanner/api';\nimport { never, of } from 'rxjs';\nimport { BLEScannerTestingService } from './ble-scanner-testing.service';\n\nimport { ProtocolFactoryTestingService as ProtocolFactoryTestingServiceClass } from './protocol-factory-testing.service';\nclass ScannerNotAvailable implements DeviceScanner<any> {\n scanning = of(false);\n isScanning = false;\n results = never();\n\n constructor(public message: string) {}\n\n start(option?: DeviceScannerOptions) {\n return Promise.reject(this.message);\n }\n\n stop() {\n return Promise.reject(this.message);\n }\n}\n\nexport const ProtocolFactoryTestingServiceProvider = {\n provide: ProtocolFactoryService,\n useClass: ProtocolFactoryTestingServiceClass,\n};\n\nexport function scannerNotAvailableFactory(name: string) {\n const factory = () => {\n const scanner = new ScannerNotAvailable(\n `${name} scanner is not available for this test`\n );\n return scanner;\n };\n return factory;\n}\n\nclass ExecuteTapActionTestingService\n implements ExecuteTapActionServiceInterface\n{\n async executeTapAction<T>(callable: () => Promise<T>): Promise<T> {\n return await callable();\n }\n}\n\n@NgModule({\n declarations: [],\n providers: [\n BLEScannerTestingService,\n ProtocolFactoryTestingServiceProvider,\n {\n provide: TAP_INFO_RESOLVER_CONFIG,\n useValue: defaultInfoResolverConfig,\n },\n NFC,\n {\n provide: TAP_CONNECTION_OPTIONS_PROVIDER,\n useValue: <TapConnectionOptions>{\n encryption: undefined,\n nfcPairing: false,\n refreshSessionState: true,\n switchProtocol: false,\n },\n },\n {\n provide: TAP_WIFI_SCANNER,\n useFactory: scannerNotAvailableFactory('Wi-Fi'),\n },\n {\n provide: TAP_BLE_SCANNER,\n useClass: BLEScannerTestingService,\n },\n {\n provide: TAP_NETWORK_SCANNER,\n useFactory: scannerNotAvailableFactory('Network'),\n },\n {\n provide: TAP_EXECUTE_TAP_ACTION_SERVICE,\n useClass: ExecuteTapActionTestingService,\n },\n TapAdministrationService,\n ],\n imports: [],\n exports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterTestingModule,\n TaskManagerUiModule,\n LibCommonModule,\n ],\n})\nexport class IotizeIonicTestingModule {\n static forRoot(options?: {\n platform: string;\n }): ModuleWithProviders<IotizeIonicTestingModule> {\n // const providers: Provider[] = [];\n const overwritesProvides: Provider[] = [];\n if (options?.platform) {\n overwritesProvides.push({\n provide: Platform,\n useFactory: (doc: any, ngZone: NgZone) => {\n return new TestingPlatform(doc, ngZone, options?.platform);\n },\n deps: [DOCUMENT, NgZone],\n });\n }\n\n return {\n ngModule: IotizeIonicTestingModule,\n providers: [\n // ...providers,\n ...overwritesProvides,\n ],\n };\n }\n}\n\nclass TestingPlatform extends Platform {\n constructor(doc: any, zone: NgZone, public platformName: string) {\n super(doc, zone);\n }\n\n is(platformName: string): boolean {\n return platformName === this.platformName;\n }\n}\n","import { TestingScanner } from './testing-scanner';\n\ntype BLEItemType = any;\n\nexport class WifiScannerTestingService extends TestingScanner<BLEItemType> {}\n","import { EncoderDecoder } from '@iotize/common/converter/api';\nimport { AbstractVariable } from '@iotize/tap/data';\n\nexport async function sleep(ms: number) {\n return new Promise<number>((resolve) =>\n setTimeout((value) => resolve(value), ms)\n );\n}\n\nexport class VariableInteractionTesting extends AbstractVariable<number> {\n private _rawValue: Uint8Array = Uint8Array.from([0]);\n\n get id() {\n return this.options?.identifier || 'Unamed variable';\n }\n\n converter!: EncoderDecoder<number, Uint8Array>;\n\n constructor(public options?: { identifier?: string }) {\n super();\n }\n\n async readRawInner(): Promise<Uint8Array> {\n return this._rawValue;\n }\n\n async writeRaw(value: Uint8Array): Promise<void> {\n this._rawValue = value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["sleep","ProtocolFactoryTestingServiceClass"],"mappings":";;;;;;;;;;;;;;MAIa,cAAc,CAAA;AAA3B,IAAA,WAAA,GAAA;QACE,IAAA,CAAA,QAAQ,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAEjE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAO,CAAC;AAC/B,QAAA,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;KAgC5B;AA9BC,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC5B;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACtC;AAEK,IAAA,KAAK,CAAC,MAA6B,EAAA;;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,YAAA,MAAMA,OAAK,CAAC,GAAG,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;IAEK,IAAI,GAAA;;AACR,YAAA,MAAMA,OAAK,CAAC,GAAG,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,SAAS,CAAC,MAAS,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;AACF;;ACjCK,MAAO,wBAAyB,SAAQ,cAA2B,CAAA;;yIAA5D,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;6IAAxB,wBAAwB,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;MCDE,6BAA6B,CAAA;AACxC,IAAA,WAAA,GAAA,GAAgB;AAET,IAAA,MAAM,CAAC,IAAkB,EAAA;QAC9B,MAAM,IAAI,KAAK,CAAC,CAAA,2BAAA,EAA8B,IAAI,CAAC,IAAI,CAAG,CAAA,CAAA,CAAC,CAAC;KAC7D;AAEM,IAAA,OAAO,CAAC,IAAkB,EAAA;AAC/B,QAAA,OAAO,KAAK,CAAC;KACd;;8IATU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kJAA7B,6BAA6B,EAAA,CAAA,CAAA;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;;;ACsBX,MAAM,mBAAmB,CAAA;AAKvB,IAAA,WAAA,CAAmB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAJlC,QAAA,IAAA,CAAA,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,EAAE,CAAC;KAEoB;AAEtC,IAAA,KAAK,CAAC,MAA6B,EAAA;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;IAED,IAAI,GAAA;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;AACF,CAAA;AAEY,MAAA,qCAAqC,GAAG;AACnD,IAAA,OAAO,EAAE,sBAAsB;AAC/B,IAAA,QAAQ,EAAEC,6BAAkC;EAC5C;AAEI,SAAU,0BAA0B,CAAC,IAAY,EAAA;IACrD,MAAM,OAAO,GAAG,MAAK;QACnB,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,CAAG,EAAA,IAAI,CAAyC,uCAAA,CAAA,CACjD,CAAC;AACF,QAAA,OAAO,OAAO,CAAC;AACjB,KAAC,CAAC;AACF,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,8BAA8B,CAAA;AAG5B,IAAA,gBAAgB,CAAI,QAA0B,EAAA;;YAClD,OAAO,MAAM,QAAQ,EAAE,CAAC;SACzB,CAAA,CAAA;AAAA,KAAA;AACF,CAAA;MAiDY,wBAAwB,CAAA;IACnC,OAAO,OAAO,CAAC,OAEd,EAAA;;QAEC,MAAM,kBAAkB,GAAe,EAAE,CAAC;AAC1C,QAAA,IAAI,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE;YACrB,kBAAkB,CAAC,IAAI,CAAC;AACtB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,UAAU,EAAE,CAAC,GAAQ,EAAE,MAAc,KAAI;AACvC,oBAAA,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ,CAAC,CAAC;iBAC5D;AACD,gBAAA,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AACzB,aAAA,CAAC,CAAC;AACJ,SAAA;QAED,OAAO;AACL,YAAA,QAAQ,EAAE,wBAAwB;AAClC,YAAA,SAAS,EAAE;;AAET,gBAAA,GAAG,kBAAkB;AACtB,aAAA;SACF,CAAC;KACH;;yIAvBU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YARjC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,mBAAmB;QACnB,mBAAmB;QACnB,eAAe,CAAA,EAAA,CAAA,CAAA;AAGN,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EA7CxB,SAAA,EAAA;QACT,wBAAwB;QACxB,qCAAqC;AACrC,QAAA;AACE,YAAA,OAAO,EAAE,wBAAwB;AACjC,YAAA,QAAQ,EAAE,yBAAyB;AACpC,SAAA;QACD,GAAG;AACH,QAAA;AACE,YAAA,OAAO,EAAE,+BAA+B;AACxC,YAAA,QAAQ,EAAwB;AAC9B,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,mBAAmB,EAAE,IAAI;AACzB,gBAAA,cAAc,EAAE,KAAK;AACtB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,UAAU,EAAE,0BAA0B,CAAC,OAAO,CAAC;AAChD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,QAAQ,EAAE,wBAAwB;AACnC,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC;AAClD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,8BAA8B;AACvC,YAAA,QAAQ,EAAE,8BAA8B;AACzC,SAAA;QACD,wBAAwB;KACzB,EAAA,OAAA,EAAA,CAGC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,mBAAmB;QACnB,mBAAmB;QACnB,eAAe,CAAA,EAAA,CAAA,CAAA;4FAGN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBA/CpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE;wBACT,wBAAwB;wBACxB,qCAAqC;AACrC,wBAAA;AACE,4BAAA,OAAO,EAAE,wBAAwB;AACjC,4BAAA,QAAQ,EAAE,yBAAyB;AACpC,yBAAA;wBACD,GAAG;AACH,wBAAA;AACE,4BAAA,OAAO,EAAE,+BAA+B;AACxC,4BAAA,QAAQ,EAAwB;AAC9B,gCAAA,UAAU,EAAE,SAAS;AACrB,gCAAA,UAAU,EAAE,KAAK;AACjB,gCAAA,mBAAmB,EAAE,IAAI;AACzB,gCAAA,cAAc,EAAE,KAAK;AACtB,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,UAAU,EAAE,0BAA0B,CAAC,OAAO,CAAC;AAChD,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,QAAQ,EAAE,wBAAwB;AACnC,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC;AAClD,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,8BAA8B;AACvC,4BAAA,QAAQ,EAAE,8BAA8B;AACzC,yBAAA;wBACD,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;AAChB,qBAAA;iBACF,CAAA;;AA2BD,MAAM,wBAAwB,QAAQ,CAAA;AACpC,IAAA,WAAA,CAAY,GAAQ,EAAE,IAAY,EAAS,YAAoB,EAAA;AAC7D,QAAA,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AADwB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAQ;KAE9D;AAED,IAAA,EAAE,CAAC,YAAoB,EAAA;AACrB,QAAA,OAAO,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC;KAC3C;AACF;;AC9IK,MAAO,yBAA0B,SAAQ,cAA2B,CAAA;AAAG;;ACDvE,SAAgB,KAAK,CAAC,EAAU,EAAA;;QACpC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,KACjC,UAAU,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;KACH,CAAA,CAAA;AAAA,CAAA;AAEK,MAAO,0BAA2B,SAAQ,gBAAwB,CAAA;AAGtE,IAAA,IAAI,EAAE,GAAA;;QACJ,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,KAAI,iBAAiB,CAAC;KACtD;AAID,IAAA,WAAA,CAAmB,OAAiC,EAAA;AAClD,QAAA,KAAK,EAAE,CAAC;AADS,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;QAR5C,IAAS,CAAA,SAAA,GAAe,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAUpD;IAEK,YAAY,GAAA;;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,QAAQ,CAAC,KAAiB,EAAA;;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB,CAAA,CAAA;AAAA,KAAA;AACF;;AC7BD;;AAEG;;;;"}