@ledgerhq/device-management-kit 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/package.json +1 -2
- package/lib/cjs/src/api/Error.js +1 -1
- package/lib/cjs/src/api/Error.js.map +3 -3
- package/lib/cjs/src/api/command/Errors.js +1 -1
- package/lib/cjs/src/api/command/Errors.js.map +3 -3
- package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
- package/lib/cjs/src/api/command/model/CommandResult.js.map +3 -3
- package/lib/cjs/src/api/command/os/BackupStorageCommand.js +2 -0
- package/lib/cjs/src/api/command/os/BackupStorageCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/BackupStorageCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/BackupStorageCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.js +2 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetAppStorageInfoCommand.js +2 -0
- package/lib/cjs/src/api/command/os/GetAppStorageInfoCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetAppStorageInfoCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/GetAppStorageInfoCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +2 -2
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
- package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js +2 -0
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/Errors.js +2 -0
- package/lib/cjs/src/api/device-action/task/Errors.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js +9 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/model/DmkResult.js +2 -0
- package/lib/cjs/src/api/model/DmkResult.js.map +7 -0
- package/lib/cjs/src/api/model/DmkResult.test.js +2 -0
- package/lib/cjs/src/api/model/DmkResult.test.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientError.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientError.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
- package/lib/cjs/src/api/storage/KeyValueStorage.js +2 -0
- package/lib/cjs/src/api/storage/KeyValueStorage.js.map +7 -0
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/esm/package.json +1 -2
- package/lib/esm/src/api/Error.js +1 -1
- package/lib/esm/src/api/Error.js.map +3 -3
- package/lib/esm/src/api/command/Errors.js +1 -1
- package/lib/esm/src/api/command/Errors.js.map +3 -3
- package/lib/esm/src/api/command/model/CommandResult.js +1 -1
- package/lib/esm/src/api/command/model/CommandResult.js.map +3 -3
- package/lib/esm/src/api/command/os/BackupStorageCommand.js +2 -0
- package/lib/esm/src/api/command/os/BackupStorageCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/BackupStorageCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/BackupStorageCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.js +2 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetAppStorageInfoCommand.js +2 -0
- package/lib/esm/src/api/command/os/GetAppStorageInfoCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/GetAppStorageInfoCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/GetAppStorageInfoCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +2 -2
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
- package/lib/esm/src/api/device-action/os/Errors.js +1 -1
- package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/types.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/types.js.map +7 -0
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js +2 -0
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js +2 -0
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/task/Errors.js +2 -0
- package/lib/esm/src/api/device-action/task/Errors.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.js +2 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js +9 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/model/DmkResult.js +2 -0
- package/lib/esm/src/api/model/DmkResult.js.map +7 -0
- package/lib/esm/src/api/model/DmkResult.test.js +2 -0
- package/lib/esm/src/api/model/DmkResult.test.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClient.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClient.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClient.test.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientError.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientError.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
- package/lib/esm/src/api/storage/KeyValueStorage.js +2 -0
- package/lib/esm/src/api/storage/KeyValueStorage.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.js → HttpManagerApiDataSource.js} +2 -2
- package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/types/src/api/Error.d.ts +5 -0
- package/lib/types/src/api/Error.d.ts.map +1 -1
- package/lib/types/src/api/command/Errors.d.ts +0 -20
- package/lib/types/src/api/command/Errors.d.ts.map +1 -1
- package/lib/types/src/api/command/model/CommandResult.d.ts +11 -17
- package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
- package/lib/types/src/api/command/os/BackupStorageCommand.d.ts +23 -0
- package/lib/types/src/api/command/os/BackupStorageCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/BackupStorageCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/BackupStorageCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.d.ts +24 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/GetAppStorageInfoCommand.d.ts +31 -0
- package/lib/types/src/api/command/os/GetAppStorageInfoCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/GetAppStorageInfoCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/GetAppStorageInfoCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +1 -1
- package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +9 -6
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +7 -6
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/Errors.d.ts +20 -0
- package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +3 -2
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.d.ts +23 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/types.d.ts +27 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/types.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts +23 -0
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/Errors.d.ts +12 -0
- package/lib/types/src/api/device-action/task/Errors.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +5 -3
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +7 -3
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.d.ts +19 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +14 -2
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/model/DmkResult.d.ts +24 -0
- package/lib/types/src/api/model/DmkResult.d.ts.map +1 -0
- package/lib/types/src/api/model/DmkResult.test.d.ts +2 -0
- package/lib/types/src/api/model/DmkResult.test.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClient.d.ts +97 -0
- package/lib/types/src/api/network/DmkNetworkClient.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts +2 -0
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts +33 -0
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts +94 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts +2 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts.map +1 -0
- package/lib/types/src/api/storage/KeyValueStorage.d.ts +7 -0
- package/lib/types/src/api/storage/KeyValueStorage.d.ts.map +1 -0
- package/lib/types/src/api/types.d.ts +2 -0
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +3 -3
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts +2 -0
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +2 -2
- package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts.map +1 -0
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +2 -3
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +0 -1
package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var v=require("rxjs"),p=require("../../../command/model/CommandResult"),N=require("../../../device/DeviceStatus"),k=require("../../../device-action/__test-utils__/data"),y=require("../../../device-action/__test-utils__/makeInternalApi"),S=require("../../../device-action/__test-utils__/setupTestMachine"),f=require("../../../device-action/__test-utils__/setupTestMachine"),m=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),G=require("../../../device-action/os/Errors"),_=require("../../../device-action/os/GoToDashboard/types"),C=require("../../../device-action/os/ListApps/types"),q=require("../../../device-session/DeviceSessionState"),R=require("../../../Error"),O=require("../../../secure-channel/task/types"),l=require("./GetDeviceMetadataDeviceAction"),a=require("./types");vi.mock("@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction");vi.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("GetDeviceMetadataDeviceAction",()=>{const u=(0,y.makeDeviceActionInternalApiMock)(),g=vi.fn(),I=vi.fn(),P=vi.fn(),M=vi.fn(),w="device_version",U="firmware",o="firmware_version",d="fm_update",c="image",A="apps",D="apps_update",V="lang",E="catalog";function T(){return{getDeviceMetadata:g,getFirmwareMetadata:I,getApplicationsMetadata:P,listAppsSecureChannel:M}}beforeEach(()=>{vi.clearAllMocks(),u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.Connected,deviceStatus:N.DeviceStatus.CONNECTED})}),describe("success cases",()=>{it("get metadata from device state",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce({firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata without secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with forced update",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{forceUpdate:!0}});I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.of)({type:O.SecureChannelEventType.Exchange},{type:O.SecureChannelEventType.PermissionRequested},{type:O.SecureChannelEventType.PermissionGranted},{type:O.SecureChannelEventType.Result,payload:[{flags:123456,hash:"hash_test",hash_code_data:"hash_code_data_test",name:"Bitcoin"}]})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowSecureConnection,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("get metadata from device state with external dependencies",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:N.DeviceStatus.CONNECTED,firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,installedApps:[A],appsUpdates:D,installedLanguages:V,catalog:E});const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,applications:[A],applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))}),describe("Error cases",()=>{it("error during GoToDashboard",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("GoToDashboard failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetFirmwareMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListApps",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([],!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("ListApps failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetApplicationsMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListAppsSecureChannel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.concat)((0,v.of)({type:O.SecureChannelEventType.Exchange,payload:{data:new Uint8Array([0,1,2,3])}}),(0,v.throwError)(()=>new G.UnknownDAError("Secure channel error")))),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("Secure channel error"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))})});
|
|
1
|
+
"use strict";var v=require("rxjs"),N=require("../../../device/DeviceStatus"),k=require("../../../device-action/__test-utils__/data"),y=require("../../../device-action/__test-utils__/makeInternalApi"),S=require("../../../device-action/__test-utils__/setupTestMachine"),f=require("../../../device-action/__test-utils__/setupTestMachine"),m=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),G=require("../../../device-action/os/Errors"),_=require("../../../device-action/os/GoToDashboard/types"),C=require("../../../device-action/os/ListApps/types"),q=require("../../../device-session/DeviceSessionState"),R=require("../../../Error"),p=require("../../../model/DmkResult"),O=require("../../../secure-channel/task/types"),l=require("./GetDeviceMetadataDeviceAction"),a=require("./types");vi.mock("@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction");vi.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("GetDeviceMetadataDeviceAction",()=>{const u=(0,y.makeDeviceActionInternalApiMock)(),g=vi.fn(),I=vi.fn(),P=vi.fn(),M=vi.fn(),w="device_version",U="firmware",o="firmware_version",d="fm_update",c="image",A="apps",D="apps_update",V="lang",E="catalog";function T(){return{getDeviceMetadata:g,getFirmwareMetadata:I,getApplicationsMetadata:P,listAppsSecureChannel:M}}beforeEach(()=>{vi.clearAllMocks(),u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.Connected,deviceStatus:N.DeviceStatus.CONNECTED})}),describe("success cases",()=>{it("get metadata from device state",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce({firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata without secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with forced update",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{forceUpdate:!0}});I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.of)({type:O.SecureChannelEventType.Exchange},{type:O.SecureChannelEventType.PermissionRequested},{type:O.SecureChannelEventType.PermissionGranted},{type:O.SecureChannelEventType.Result,payload:[{flags:123456,hash:"hash_test",hash_code_data:"hash_code_data_test",name:"Bitcoin"}]})),P.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowSecureConnection,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("get metadata from device state with external dependencies",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:N.DeviceStatus.CONNECTED,firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,installedApps:[A],appsUpdates:D,installedLanguages:V,catalog:E});const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,applications:[A],applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))}),describe("Error cases",()=>{it("error during GoToDashboard",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("GoToDashboard failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetFirmwareMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListApps",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([],!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("ListApps failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetApplicationsMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.DmkResultFactory)({error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListAppsSecureChannel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.DmkResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.concat)((0,v.of)({type:O.SecureChannelEventType.Exchange,payload:{data:new Uint8Array([0,1,2,3])}}),(0,v.throwError)(()=>new G.UnknownDAError("Secure channel error")))),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("Secure channel error"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))})});
|
|
2
2
|
//# sourceMappingURL=GetDeviceMetadataDeviceAction.test.js.map
|
package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { concat, of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { BTC_APP } from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGoToDashboardMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { setupListAppsMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { goToDashboardDAStateStep } from \"@api/device-action/os/GoToDashboard/types\";\nimport { listAppsDAStateStep } from \"@api/device-action/os/ListApps/types\";\nimport {\n type Catalog,\n type CustomImage,\n type DeviceSessionState,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { UnknownDeviceExchangeError } from \"@api/Error\";\nimport {\n type SecureChannelEventPayload,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { GetDeviceMetadataDeviceAction } from \"./GetDeviceMetadataDeviceAction\";\nimport {\n type GetDeviceMetadataDAState,\n getDeviceMetadataDAStateStep,\n} from \"./types\";\n\nvi.mock(\"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\");\nvi.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"GetDeviceMetadataDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const getDeviceMetadataMock = vi.fn();\n const getFirmwareMetadataMock = vi.fn();\n const getApplicationsMetadataMock = vi.fn();\n const listAppsSecureChannelMock = vi.fn();\n\n const DEVICE_VERSION = \"device_version\" as unknown as DeviceVersion;\n const FIRMWARE = \"firmware\" as unknown as FinalFirmware;\n const FIRMWARE_VERSION = \"firmware_version\" as unknown as FirmwareVersion;\n const FIRMWARE_UPDATE = \"fm_update\" as unknown as FirmwareUpdateContext;\n const CUSTOM_IMAGE = \"image\" as unknown as CustomImage;\n const APPS = \"apps\" as unknown as Application[];\n const APPS_UPDATE = \"apps_update\" as unknown as Application[];\n const LANGUAGES = \"lang\" as unknown as InstalledLanguagePackage[];\n const CATALOG = \"catalog\" as unknown as Catalog;\n\n function extractDependenciesMock() {\n return {\n getDeviceMetadata: getDeviceMetadataMock,\n getFirmwareMetadata: getFirmwareMetadataMock,\n getApplicationsMetadata: getApplicationsMetadataMock,\n listAppsSecureChannel: listAppsSecureChannelMock,\n };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n });\n\n describe(\"success cases\", () => {\n it(\"get metadata from device state\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce({\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n });\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata without secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard wrapper\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level step: GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps wrapper (still under GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with forced update\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { forceUpdate: true },\n });\n\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GoToDashboard - Initial step (forced update still starts at GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata - After GoToDashboard, while fetching firmware, high-level step is GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps - While listing apps, high-level step still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Applications metadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n of(\n {\n type: SecureChannelEventType.Exchange,\n },\n {\n type: SecureChannelEventType.PermissionRequested,\n },\n {\n type: SecureChannelEventType.PermissionGranted,\n },\n {\n type: SecureChannelEventType.Result,\n payload: [\n {\n flags: 123456,\n hash: \"hash_test\",\n hash_code_data: \"hash_code_data_test\",\n name: \"Bitcoin\",\n },\n ],\n },\n ),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper around GoToDashboard \u2013 machine still tags it as GET_DEVICE_METADATA\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata \u2013 surfaced as GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper \u2013 still GO_TO_DASHBOARD for the first emissions\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // More secure-channel emissions, still under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // First applications-metadata-like transition (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Permission requested for secure channel \u2013 AllowSecureConnection, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Back to \u201Capplications metadata\u201D stream, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // One more pending under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Final pending before success: tagged as LIST_APPS_SECURE_CHANNEL\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"get metadata from device state with external dependencies\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n installedApps: [APPS] as unknown as Application[],\n appsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n } as DeviceSessionState);\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: [APPS] as unknown as Application[],\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n\n describe(\"Error cases\", () => {\n it(\"error during GoToDashboard\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock(true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper for GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"GoToDashboard failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetFirmwareMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListApps\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([], true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"ListApps failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetApplicationsMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GetApplicationsMetadata (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListAppsSecureChannel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n concat(\n of({\n type: SecureChannelEventType.Exchange,\n payload: {\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n } as SecureChannelEventPayload[\"Exchange\"],\n }),\n throwError(() => new UnknownDAError(\"Secure channel error\")),\n ),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Last pending before error \u2013 back to GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"Secure channel error\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_rxjs", "
|
|
4
|
+
"sourcesContent": ["import { concat, of, throwError } from \"rxjs\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { BTC_APP } from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGoToDashboardMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { setupListAppsMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { goToDashboardDAStateStep } from \"@api/device-action/os/GoToDashboard/types\";\nimport { listAppsDAStateStep } from \"@api/device-action/os/ListApps/types\";\nimport {\n type Catalog,\n type CustomImage,\n type DeviceSessionState,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { UnknownDeviceExchangeError } from \"@api/Error\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport {\n type SecureChannelEventPayload,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { GetDeviceMetadataDeviceAction } from \"./GetDeviceMetadataDeviceAction\";\nimport {\n type GetDeviceMetadataDAState,\n getDeviceMetadataDAStateStep,\n} from \"./types\";\n\nvi.mock(\"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\");\nvi.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"GetDeviceMetadataDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const getDeviceMetadataMock = vi.fn();\n const getFirmwareMetadataMock = vi.fn();\n const getApplicationsMetadataMock = vi.fn();\n const listAppsSecureChannelMock = vi.fn();\n\n const DEVICE_VERSION = \"device_version\" as unknown as DeviceVersion;\n const FIRMWARE = \"firmware\" as unknown as FinalFirmware;\n const FIRMWARE_VERSION = \"firmware_version\" as unknown as FirmwareVersion;\n const FIRMWARE_UPDATE = \"fm_update\" as unknown as FirmwareUpdateContext;\n const CUSTOM_IMAGE = \"image\" as unknown as CustomImage;\n const APPS = \"apps\" as unknown as Application[];\n const APPS_UPDATE = \"apps_update\" as unknown as Application[];\n const LANGUAGES = \"lang\" as unknown as InstalledLanguagePackage[];\n const CATALOG = \"catalog\" as unknown as Catalog;\n\n function extractDependenciesMock() {\n return {\n getDeviceMetadata: getDeviceMetadataMock,\n getFirmwareMetadata: getFirmwareMetadataMock,\n getApplicationsMetadata: getApplicationsMetadataMock,\n listAppsSecureChannel: listAppsSecureChannelMock,\n };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n });\n\n describe(\"success cases\", () => {\n it(\"get metadata from device state\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce({\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n });\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata without secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard wrapper\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level step: GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps wrapper (still under GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with forced update\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { forceUpdate: true },\n });\n\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GoToDashboard - Initial step (forced update still starts at GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata - After GoToDashboard, while fetching firmware, high-level step is GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps - While listing apps, high-level step still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Applications metadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n of(\n {\n type: SecureChannelEventType.Exchange,\n },\n {\n type: SecureChannelEventType.PermissionRequested,\n },\n {\n type: SecureChannelEventType.PermissionGranted,\n },\n {\n type: SecureChannelEventType.Result,\n payload: [\n {\n flags: 123456,\n hash: \"hash_test\",\n hash_code_data: \"hash_code_data_test\",\n name: \"Bitcoin\",\n },\n ],\n },\n ),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper around GoToDashboard \u2013 machine still tags it as GET_DEVICE_METADATA\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata \u2013 surfaced as GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper \u2013 still GO_TO_DASHBOARD for the first emissions\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // More secure-channel emissions, still under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // First applications-metadata-like transition (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Permission requested for secure channel \u2013 AllowSecureConnection, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Back to \u201Capplications metadata\u201D stream, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // One more pending under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Final pending before success: tagged as LIST_APPS_SECURE_CHANNEL\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"get metadata from device state with external dependencies\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n installedApps: [APPS] as unknown as Application[],\n appsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n } as DeviceSessionState);\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: [APPS] as unknown as Application[],\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n\n describe(\"Error cases\", () => {\n it(\"error during GoToDashboard\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock(true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper for GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"GoToDashboard failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetFirmwareMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListApps\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([], true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"ListApps failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetApplicationsMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GetApplicationsMetadata (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListAppsSecureChannel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n concat(\n of({\n type: SecureChannelEventType.Exchange,\n payload: {\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n } as SecureChannelEventPayload[\"Exchange\"],\n }),\n throwError(() => new UnknownDAError(\"Secure channel error\")),\n ),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Last pending before error \u2013 back to GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"Secure channel error\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_rxjs", "import_DeviceStatus", "import_data", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_types", "import_DeviceSessionState", "import_Error", "import_DmkResult", "import_GetDeviceMetadataDeviceAction", "apiMock", "getDeviceMetadataMock", "getFirmwareMetadataMock", "getApplicationsMetadataMock", "listAppsSecureChannelMock", "DEVICE_VERSION", "FIRMWARE", "FIRMWARE_VERSION", "FIRMWARE_UPDATE", "CUSTOM_IMAGE", "APPS", "APPS_UPDATE", "LANGUAGES", "CATALOG", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var A=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var A=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},d=(t,e,r,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of s(e))!D.call(t,a)&&a!==r&&o(t,a,{get:()=>e[a],enumerable:!(p=i(e,a))||p.enumerable});return t};var n=t=>d(o({},"__esModule",{value:!0}),t);var l={};A(l,{getDeviceMetadataDAStateStep:()=>c});module.exports=n(l);const c=Object.freeze({GET_DEVICE_METADATA:"os.getDeviceMetadata.steps.getDeviceMetadata",GO_TO_DASHBOARD:"os.getDeviceMetadata.steps.goToDashboard",GET_FIRMWARE_METADATA:"os.getDeviceMetadata.steps.getFirmwareMetadata",LIST_APPS_SECURE_CHANNEL:"os.getDeviceMetadata.steps.listAppsSecureChannel",LIST_APPS:"os.getDeviceMetadata.steps.listApps",GET_APPLICATIONS_METADATA:"os.getDeviceMetadata.steps.getApplicationsMetadata"});0&&(module.exports={getDeviceMetadataDAStateStep});
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/api/device-action/os/GetDeviceMetadata/types.ts"],
|
|
4
|
-
"sourcesContent": ["import { type
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,
|
|
4
|
+
"sourcesContent": ["import { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type GetDeviceStatusDAStateStep } from \"@api/device-action/os/GetDeviceStatus/types\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n type GoToDashboardDARequiredInteraction,\n type GoToDashboardDAStateStep,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport {\n type ListAppsDAError,\n type ListAppsDARequiredInteraction,\n type ListAppsDAStateStep,\n} from \"@api/device-action/os/ListApps/types\";\nimport { type GetApplicationsMetadataTaskError } from \"@api/device-action/task/Errors\";\nimport { type GetFirmwareMetadataTaskError } from \"@api/device-action/task/GetFirmwareMetadataTask\";\nimport {\n type Catalog,\n type CustomImage,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport {\n type ListInstalledAppsDAError,\n type ListInstalledAppsDARequiredInteraction,\n} from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type SecureChannelDAErrors } from \"@internal/secure-channel/model/Errors\";\n\nexport const getDeviceMetadataDAStateStep = Object.freeze({\n GET_DEVICE_METADATA: \"os.getDeviceMetadata.steps.getDeviceMetadata\",\n GO_TO_DASHBOARD: \"os.getDeviceMetadata.steps.goToDashboard\",\n GET_FIRMWARE_METADATA: \"os.getDeviceMetadata.steps.getFirmwareMetadata\",\n LIST_APPS_SECURE_CHANNEL: \"os.getDeviceMetadata.steps.listAppsSecureChannel\",\n LIST_APPS: \"os.getDeviceMetadata.steps.listApps\",\n GET_APPLICATIONS_METADATA:\n \"os.getDeviceMetadata.steps.getApplicationsMetadata\",\n} as const);\n\nexport type GetDeviceMetadataDAStateStep =\n (typeof getDeviceMetadataDAStateStep)[keyof typeof getDeviceMetadataDAStateStep];\n\nexport type GetDeviceMetadataDAOutput = {\n readonly firmwareVersion: FirmwareVersion;\n readonly firmwareUpdateContext: FirmwareUpdateContext;\n readonly applications: Application[];\n readonly applicationsUpdates: Application[];\n readonly installedLanguages: InstalledLanguagePackage[];\n readonly catalog: Catalog;\n readonly customImage: CustomImage;\n};\n\nexport type GetDeviceMetadataDAInput = GoToDashboardDAInput & {\n readonly useSecureChannel?: boolean;\n readonly forceUpdate?: boolean;\n};\n\nexport type GetDeviceMetadataDAError =\n | GoToDashboardDAError\n | ListAppsDAError\n | ListInstalledAppsDAError\n | SecureChannelDAErrors\n | GetApplicationsMetadataTaskError\n | GetFirmwareMetadataTaskError;\n\nexport type GetDeviceMetadataDARequiredInteraction =\n | GoToDashboardDARequiredInteraction\n | ListAppsDARequiredInteraction\n | ListInstalledAppsDARequiredInteraction;\n\nexport type GetDeviceMetadataDAIntermediateValue = {\n requiredUserInteraction: GetDeviceMetadataDARequiredInteraction;\n deviceId?: Uint8Array;\n step:\n | GetDeviceMetadataDAStateStep\n | GoToDashboardDAStateStep\n | GetDeviceStatusDAStateStep\n | ListAppsDAStateStep;\n};\n\nexport type GetDeviceMetadataDAState = DeviceActionState<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GA6BO,MAAME,EAA+B,OAAO,OAAO,CACxD,oBAAqB,+CACrB,gBAAiB,2CACjB,sBAAuB,iDACvB,yBAA0B,mDAC1B,UAAW,sCACX,0BACE,oDACJ,CAAU",
|
|
6
6
|
"names": ["types_exports", "__export", "getDeviceMetadataDAStateStep", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var L=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var U=(r,a)=>{for(var g in a)L(r,g,{get:a[g],enumerable:!0})},O=(r,a,g,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of G(a))!_.call(r,s)&&s!==g&&L(r,s,{get:()=>a[s],enumerable:!(c=T(a,s))||c.enumerable});return r};var R=r=>O(L({},"__esModule",{value:!0}),r);var b={};U(b,{InstallLanguagePackageDeviceAction:()=>w});module.exports=R(b);var p=require("purify-ts"),t=require("xstate"),I=require("../../../command/model/CommandResult"),m=require("../../../command/os/DeleteLanguagePackCommand"),P=require("../../../device-action/model/UserInteractionRequired"),E=require("../../../device-action/os/Const"),u=require("../../../device-action/os/Errors"),S=require("../../../device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction"),h=require("../../../device-action/os/GetDeviceMetadata/types"),A=require("../../../device-action/task/InstallLanguagePackageTask"),f=require("../../../device-action/xstate-utils/XStateDeviceAction"),y=require("./types");class w extends f.XStateDeviceAction{makeStateMachine(a){const{deleteCurrentLanguagePack:g,installLanguagePack:c}=this.extractDependencies(a),s=this.input.unlockTimeout??E.DEFAULT_UNLOCK_TIMEOUT_MS,d=this.input.language,{None:k}=P.UserInteractionRequired,{DEVICE_READY:v,GET_DEVICE_METADATA:M,DELETE_CURRENT_LANGUAGE_PACK:C,INSTALL_LANGUAGE_PACK:x}=y.installLanguagePackageDAStateStep,V=new S.GetDeviceMetadataDeviceAction({input:{unlockTimeout:s}}).makeStateMachine(a);return(0,t.setup)({types:{input:{unlockTimeout:s,language:d},context:{},output:{}},actors:{getDeviceMetadata:V,deleteCurrentLanguagePack:(0,t.fromPromise)(g),installLanguagePack:(0,t.fromObservable)(({input:e})=>c(e.apduInstallUrl))},guards:{isDefaultLanguage:({context:e})=>e.input.language==="english",hasError:({context:e})=>e._internalState.error!==null,shouldSkipInstall:({context:e})=>e._internalState.shouldSkipInstall},actions:{assignErrorFromEvent:(0,t.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error,shouldSkipInstall:!1})}),assignGetDeviceMetadataSnapshot:(0,t.assign)({intermediateValue:e=>{const n=e.event.snapshot.context.intermediateValue;return n.step===h.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA?{...n,step:M}:n}}),assignGetDeviceMetadataDone:(0,t.assign)({_internalState:e=>e.event.output.caseOf({Right:n=>{const i=n.catalog.languagePackages;if(!i)return{...e.context._internalState,error:new u.MissingLanguagePackagesForOSDAError(`Language packages not found for OS ${n?.firmwareVersion?.os}.`)};const o=i.find(D=>D.language===d);return o?(n.installedLanguages??[]).map(({id:D})=>D).includes(o.languagePackageId)?{...e.context._internalState,shouldSkipInstall:!0}:{...e.context._internalState,languagePackage:o}:{...e.context._internalState,error:new u.MissingLanguagePackageDAError(`Language package not found for ${d}.`)}},Left:n=>({...e.context._internalState,error:n})})}),assignDeleteCurrentLanguagePackSnapshot:(0,t.assign)({intermediateValue:e=>({requiredUserInteraction:k,step:C})}),assignDeleteCurrentLanguagePackDone:(0,t.assign)({_internalState:e=>{const l=e.event.output;return(0,I.isSuccessCommandResult)(l)?e.context._internalState:{...e.context._internalState,error:new u.DeleteLanguagePackDAError("message"in l.error?l.error.message:"Delete language pack failed.")}}}),assignInstallLanguagePackSnapshot:(0,t.assign)({intermediateValue:e=>{const n=e.event.snapshot.context,i=e.context,o="progress"in i.intermediateValue?i.intermediateValue.progress??0:0;return{requiredUserInteraction:k,step:x,progress:n?.type==="progress"?n.progress:o}}})}}).createMachine({id:"InstallLanguagePackageDeviceAction",initial:"CheckRequestedLanguage",context:e=>({input:{unlockTimeout:e.input.unlockTimeout,language:e.input.language},intermediateValue:{requiredUserInteraction:k,step:v,progress:0},_internalState:{error:null,languagePackage:null,shouldSkipInstall:!1}}),states:{CheckRequestedLanguage:{always:[{guard:"isDefaultLanguage",target:"DeleteCurrentLanguagePack"},{target:"GetDeviceMetadata"}]},GetDeviceMetadata:{invoke:{id:"GetDeviceMetadata",src:"getDeviceMetadata",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,forceUpdate:!0,useSecureChannel:!0}),onSnapshot:{actions:"assignGetDeviceMetadataSnapshot"},onDone:{target:"LanguagePackCheck",actions:"assignGetDeviceMetadataDone"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},LanguagePackCheck:{always:[{guard:"hasError",target:"Error"},{guard:"shouldSkipInstall",target:"Success"},{target:"DeleteCurrentLanguagePack"}]},DeleteCurrentLanguagePack:{invoke:{id:"DeleteCurrentLanguagePack",src:"deleteCurrentLanguagePack",onSnapshot:{actions:"assignDeleteCurrentLanguagePackSnapshot"},onDone:{target:"DeleteCurrentLanguagePackResultCheck",actions:"assignDeleteCurrentLanguagePackDone"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},DeleteCurrentLanguagePackResultCheck:{always:[{guard:"hasError",target:"Error"},{guard:"isDefaultLanguage",target:"Success"},{target:"InstallLanguagePack"}]},InstallLanguagePack:{invoke:{id:"InstallLanguagePack",src:"installLanguagePack",input:({context:e})=>({apduInstallUrl:e._internalState.languagePackage.apduInstallUrl}),onSnapshot:{actions:"assignInstallLanguagePackSnapshot"},onDone:{target:"Success"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},Success:{type:"final"},Error:{type:"final"}},output:e=>e.context._internalState.error!==null?(0,p.Left)(e.context._internalState.error):(0,p.Right)(void 0)})}extractDependencies(a){return{deleteCurrentLanguagePack:()=>a.sendCommand(new m.DeleteLanguagePackCommand({languagePackageId:255})),installLanguagePack:g=>new A.InstallLanguagePackageTask(a,{apduInstallUrl:g}).run()}}}0&&(module.exports={InstallLanguagePackageDeviceAction});
|
|
2
|
+
//# sourceMappingURL=InstallLanguagePackageDeviceAction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Either, Left, Right } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandResult,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport {\n DeleteLanguagePackDAError,\n MissingLanguagePackageDAError,\n MissingLanguagePackagesForOSDAError,\n} from \"@api/device-action/os/Errors\";\nimport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n getDeviceMetadataDAStateStep,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport {\n type InstallLanguagePackageEvent,\n InstallLanguagePackageTask,\n} from \"@api/device-action/task/InstallLanguagePackageTask\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\n\nimport {\n type InstallLanguagePackageDAError,\n type InstallLanguagePackageDAInput,\n type InstallLanguagePackageDAIntermediateValue,\n type InstallLanguagePackageDAOutput,\n installLanguagePackageDAStateStep,\n} from \"./types\";\n\ntype InstallLanguagePackageMachineInternalState = {\n readonly error: InstallLanguagePackageDAError | null;\n readonly languagePackage: LanguagePackage | null;\n readonly shouldSkipInstall: boolean;\n};\n\nexport type MachineDependencies = {\n readonly deleteCurrentLanguagePack: () => Promise<DeleteLanguagePackCommandResult>;\n readonly installLanguagePack: (\n apduInstallUrl: string,\n ) => Observable<InstallLanguagePackageEvent>;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\nexport class InstallLanguagePackageDeviceAction extends XStateDeviceAction<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n > {\n type types = StateMachineTypes<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n >;\n\n const { deleteCurrentLanguagePack, installLanguagePack } =\n this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n const language = this.input.language;\n\n const { None } = UserInteractionRequired;\n const {\n DEVICE_READY,\n GET_DEVICE_METADATA,\n DELETE_CURRENT_LANGUAGE_PACK,\n INSTALL_LANGUAGE_PACK,\n } = installLanguagePackageDAStateStep;\n\n const getDeviceMetadataMachine = new GetDeviceMetadataDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {\n unlockTimeout,\n language,\n } as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n getDeviceMetadata: getDeviceMetadataMachine,\n deleteCurrentLanguagePack: fromPromise(deleteCurrentLanguagePack),\n installLanguagePack: fromObservable(\n ({ input }: { input: { apduInstallUrl: string } }) =>\n installLanguagePack(input.apduInstallUrl),\n ),\n },\n guards: {\n // The default language package (English) cannot be installed as a language pack.\n // If the requested language is English, we still delete all installed packs and only skip the install step.\n isDefaultLanguage: ({ context }) =>\n context.input.language === \"english\",\n hasError: ({ context }: { context: types[\"context\"] }) =>\n context._internalState.error !== null,\n shouldSkipInstall: ({ context }) =>\n context._internalState.shouldSkipInstall,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"] as InstallLanguagePackageDAError,\n shouldSkipInstall: false,\n }),\n }),\n assignGetDeviceMetadataSnapshot: assign({\n intermediateValue: (_) => {\n const snapshot = _.event[\"snapshot\"] as {\n context: {\n intermediateValue: GetDeviceMetadataDAIntermediateValue;\n };\n };\n const childIv = snapshot.context.intermediateValue;\n if (\n childIv.step === getDeviceMetadataDAStateStep.GET_DEVICE_METADATA\n ) {\n return {\n ...childIv,\n step: GET_DEVICE_METADATA,\n } satisfies types[\"context\"][\"intermediateValue\"];\n }\n return childIv as types[\"context\"][\"intermediateValue\"];\n },\n }),\n assignGetDeviceMetadataDone: assign({\n _internalState: (_) => {\n const output = _.event[\"output\"] as Either<\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAOutput\n >;\n return output.caseOf({\n Right: (metadata) => {\n const languagePackages = metadata.catalog.languagePackages;\n if (!languagePackages) {\n return {\n ..._.context._internalState,\n error: new MissingLanguagePackagesForOSDAError(\n `Language packages not found for OS ${metadata?.firmwareVersion?.os}.`,\n ) as InstallLanguagePackageDAError,\n };\n }\n\n const languagePackage = languagePackages.find(\n (lp) => lp.language === language,\n );\n if (!languagePackage) {\n return {\n ..._.context._internalState,\n error: new MissingLanguagePackageDAError(\n `Language package not found for ${language}.`,\n ),\n };\n }\n\n const installedLanguageIds = (\n metadata.installedLanguages ?? []\n ).map(({ id }) => id);\n\n const isAlreadyInstalled = installedLanguageIds.includes(\n languagePackage.languagePackageId,\n );\n\n if (isAlreadyInstalled) {\n return {\n ..._.context._internalState,\n shouldSkipInstall: true,\n };\n }\n return {\n ..._.context._internalState,\n languagePackage,\n };\n },\n Left: (error: InstallLanguagePackageDAError) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n assignDeleteCurrentLanguagePackSnapshot: assign({\n intermediateValue: (_) =>\n ({\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignDeleteCurrentLanguagePackDone: assign({\n _internalState: (_) => {\n const result = _.event[\"output\"] as DeleteLanguagePackCommandResult;\n if (isSuccessCommandResult(result)) {\n return _.context._internalState;\n }\n\n return {\n ..._.context._internalState,\n error: new DeleteLanguagePackDAError(\n \"message\" in result.error\n ? result.error.message\n : \"Delete language pack failed.\",\n ),\n };\n },\n }),\n assignInstallLanguagePackSnapshot: assign({\n intermediateValue: (_) => {\n const snapshot = _.event[\"snapshot\"] as {\n context: InstallLanguagePackageEvent | null;\n };\n const event = snapshot.context;\n const ctx = _.context as types[\"context\"];\n const currentProgress =\n \"progress\" in ctx.intermediateValue\n ? (ctx.intermediateValue.progress ?? 0)\n : 0;\n return {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress:\n event?.type === \"progress\" ? event.progress : currentProgress,\n } satisfies types[\"context\"][\"intermediateValue\"];\n },\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgMlqlAK5YwAKWAxgNblgAiYAbgJbVgCC1GbA9qgB0AYQAWYOgCUwARxJwMkQsTIwAxAG0ADAF1EoAA79YbPoIMgAHogBMATltCAjPYCsAZm0AWAOwAObTdfe18AGhAAT0RvRyEPW39nZw9nb20PBIBfLIi0TFwCIlIGKjoGZnZOHnNhcUlaGXlFZWK1MC1nfSQQY1NayxsEBydXTx8AoJDwqMRk+yE-ADY3Vb9fNxSPHLz0bDwVEsoaehhKjm5eAWEAcTAMc84AWXusCCxsdQhBMCE2VBY-FovzuD1YFxe2He2B03SMJjM10GiH8cUc9iWS3cbhWthWEWiw20S0WzkxvhS3g8S38wVsOxA+X2RVUpROFXB1SugiEoMeYEhbw+WHUYAATmL+GKhIYcB8AGZSgC2vPu-MF0KwsMsfURFh6Q1RTnRmOxuPxswQSSEbm0drttPs-l8LoZTMKh3aZVOTE5l1qQk9bLo9ToWj0OoRAwNc2pHiEtlioXSTu8Sw8BLstnjvjxqxdQQ8Gypbr2HrawZ9-Jq10DFeOIYkYc0XUj-SRMYQKXTCaTvhT-jTGctRfj-kSzm0-hp-aWPlLBQO9bA3o5VX9teYOHuYBEJAlYFQGCDDdoXx+fwBQN+W53e4PR5PK5O2p6uujoCGrgSQinbnsdqxEs3jeLYMyElivguDi2a2mB-7aPYC7Mk+q5nH6NY8reSj3mKh7Hsu3rnqgvz-ICwJCNhu77nhj6ES+rZvlGHafnM9g-n+AE+BiIFgZmCBuImQiDum3iDm4zq+JiyHlqyp5rhcmHCFRuH4ahJyihKUoynKGCKmKKoqTRan0XQr7wu2+qsV27FOJxgE8aB4GIB4oEJnmSy2M4EmJr4MlLnJz7lOh65KUI7oBUcQVnt8JGXuRvwRSyUXeuZvTMVZ1h2C6-i-h4AG2sB6TBPxwRQQBnkJFifjpPSuSMmWkVeuyIWKdywhJepYbipK0qygqyrhY1yXNWZEZMZZqDIsMOV5QVxIgVM-Fid4iyePMdpFiBGw5PVqD8BAcCWJ1plVhh7VtnqU2dgAtEs-E3W4Qj2C9r1vW92z1SdgVob6oXtaITaNHICiYK0gWXR+WUIKB-HOEJaQJGB060vDdW7IuI2VgpXIBnyfoasKkMsdDtqrf2r1LCESSrG4-H2Ktth5p4tirB4OLeM4-lY-JrW47WXW0KGtDE5lX7eU9-jswBL0rEExL8UzuX5QkXiIem-afRjKGnTjG5YWA244cZdE-ScovXdZ3l4r+jopLY9qTsOhLs1BCRJNS-75VLXNfcNgt62F30pebE1XdN2bjnNxKZMsrPLQBwlDqzjm5n5fuYwHfP68IADKJDUJwsDwGHUNDF4CPOmJqTAVOIGlVL8RM-YTtebZSEZzrZvBX9bUBgAolpYoW9NFerc4Vc+7Xg7eIrrNNysuabGkwTUrtWRAA */\n id: \"InstallLanguagePackageDeviceAction\",\n initial: \"CheckRequestedLanguage\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n language: _.input.language,\n },\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n _internalState: {\n error: null,\n languagePackage: null,\n shouldSkipInstall: false,\n },\n };\n },\n states: {\n CheckRequestedLanguage: {\n always: [\n {\n guard: \"isDefaultLanguage\",\n target: \"DeleteCurrentLanguagePack\",\n },\n { target: \"GetDeviceMetadata\" },\n ],\n },\n GetDeviceMetadata: {\n invoke: {\n id: \"GetDeviceMetadata\",\n src: \"getDeviceMetadata\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n forceUpdate: true, // ensures the Language pack is fresh and forces user to go to Dashboard\n useSecureChannel: true,\n }),\n onSnapshot: {\n actions: \"assignGetDeviceMetadataSnapshot\",\n },\n onDone: {\n target: \"LanguagePackCheck\",\n actions: \"assignGetDeviceMetadataDone\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n LanguagePackCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"shouldSkipInstall\",\n target: \"Success\",\n },\n { target: \"DeleteCurrentLanguagePack\" },\n ],\n },\n DeleteCurrentLanguagePack: {\n invoke: {\n id: \"DeleteCurrentLanguagePack\",\n src: \"deleteCurrentLanguagePack\",\n onSnapshot: {\n actions: \"assignDeleteCurrentLanguagePackSnapshot\",\n },\n onDone: {\n target: \"DeleteCurrentLanguagePackResultCheck\",\n actions: \"assignDeleteCurrentLanguagePackDone\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n DeleteCurrentLanguagePackResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDefaultLanguage\",\n target: \"Success\",\n },\n { target: \"InstallLanguagePack\" },\n ],\n },\n InstallLanguagePack: {\n invoke: {\n id: \"InstallLanguagePack\",\n src: \"installLanguagePack\",\n input: ({ context }) => ({\n apduInstallUrl:\n context._internalState.languagePackage!.apduInstallUrl,\n }),\n onSnapshot: {\n actions: \"assignInstallLanguagePackSnapshot\",\n },\n onDone: {\n target: \"Success\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error !== null) {\n return Left(_.context._internalState.error);\n }\n return Right(undefined);\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n return {\n deleteCurrentLanguagePack: () =>\n internalApi.sendCommand(\n new DeleteLanguagePackCommand({ languagePackageId: 0xff }),\n ),\n installLanguagePack: (apduInstallUrl: string) =>\n new InstallLanguagePackageTask(internalApi, {\n apduInstallUrl,\n }).run(),\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["InstallLanguagePackageDeviceAction_exports", "__export", "InstallLanguagePackageDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_DeleteLanguagePackCommand", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GetDeviceMetadataDeviceAction", "import_types", "import_InstallLanguagePackageTask", "import_XStateDeviceAction", "internalApi", "deleteCurrentLanguagePack", "installLanguagePack", "unlockTimeout", "language", "None", "DEVICE_READY", "GET_DEVICE_METADATA", "DELETE_CURRENT_LANGUAGE_PACK", "INSTALL_LANGUAGE_PACK", "getDeviceMetadataMachine", "input", "context", "_", "childIv", "metadata", "languagePackages", "languagePackage", "lp", "id", "error", "result", "event", "ctx", "currentProgress", "apduInstallUrl"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var k=require("rxjs"),I=require("../../../command/model/CommandResult"),V=require("../../../command/os/DeleteLanguagePackCommand"),f=require("../../../device-action/__test-utils__/makeInternalApi"),l=require("../../../device-action/__test-utils__/setupTestMachine"),D=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),v=require("../../../device-action/model/UserInteractionRequired"),u=require("../../../device-action/os/Errors"),i=require("./InstallLanguagePackageDeviceAction"),U=require("./types");vi.mock("@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction");describe("InstallLanguagePackageDeviceAction",()=>{const q=(0,f.makeDeviceActionInternalApiMock)(),o=vi.fn(),p=vi.fn(),s={language:"french",languagePackageVersionId:1,version:"1.0.0",languagePackageId:42,apduInstallUrl:"https://example.com/install-french",apduUninstallUrl:"https://example.com/uninstall-french",bytes:1024,dateCreation:"2024-01-01",dateLastModified:"2024-01-01"},{None:t}=v.UserInteractionRequired,{DEVICE_READY:d,GET_DEVICE_METADATA:r,DELETE_CURRENT_LANGUAGE_PACK:c,INSTALL_LANGUAGE_PACK:P}=U.installLanguagePackageDAStateStep,L={deleteCurrentLanguagePack:o,installLanguagePack:p},m=(a={})=>({installedLanguages:[],...a,catalog:{languagePackages:[],...a.catalog??{}}}),g=(a,n,h)=>new Promise((w,A)=>{vi.spyOn(a,"extractDependencies").mockReturnValue(L),(0,D.testDeviceActionStates)(a,n,q,{onDone:()=>{try{h?.(),w()}catch(S){A(S)}},onError:A})});beforeEach(()=>{vi.clearAllMocks()}),describe("success cases",()=>{it("should install a non-default language package",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({data:void 0})),p.mockReturnValueOnce((0,k.of)({type:"progress",progress:.5},{type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:.5},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:1},status:e.DeviceActionStatus.Pending},{output:void 0,status:e.DeviceActionStatus.Completed}];return g(a,n)}),it("should install when a different language pack is already installed",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]},installedLanguages:[{id:999,size:2048}]}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({data:void 0})),p.mockReturnValueOnce((0,k.of)({type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:1},status:e.DeviceActionStatus.Pending},{output:void 0,status:e.DeviceActionStatus.Completed}];return g(a,n,()=>{expect(o).toHaveBeenCalledOnce(),expect(p).toHaveBeenCalledOnce()})}),it("should succeed without delete or install when the language pack is already installed",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]},installedLanguages:[{id:s.languagePackageId,size:s.bytes}]}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{output:void 0,status:e.DeviceActionStatus.Completed}];return g(a,n,()=>{expect(o).not.toHaveBeenCalled(),expect(p).not.toHaveBeenCalled()})}),it("should install when only a matching languagePackageVersionId is reported as installed",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]},installedLanguages:[{id:s.languagePackageVersionId,size:s.bytes}]}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({data:void 0})),p.mockReturnValueOnce((0,k.of)({type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:1},status:e.DeviceActionStatus.Pending},{output:void 0,status:e.DeviceActionStatus.Completed}];return g(a,n,()=>{expect(p).toHaveBeenCalledOnce()})}),it("should delete and skip install for the default language (english)",()=>{const a=new i.InstallLanguagePackageDeviceAction({input:{language:"english"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({data:void 0}));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{output:void 0,status:e.DeviceActionStatus.Completed}];return g(a,n,()=>{expect(o).toHaveBeenCalledOnce(),expect(p).not.toHaveBeenCalled()})})}),describe("error cases",()=>{it("should error when GetDeviceMetadata fails",()=>{(0,l.setupGetDeviceMetadataMock)({},!0);const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{error:new u.UnknownDAError("GetDeviceMetadata failed"),status:e.DeviceActionStatus.Error}];return g(a,n)}),it("should error when language packages are missing from metadata",()=>{(0,l.setupGetDeviceMetadataMock)(m({firmwareVersion:{mcu:"1.0.0",bootloader:"1.0.0",os:"2.4.0"},catalog:{languagePackages:void 0}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{error:new u.MissingLanguagePackagesForOSDAError("Language packages not found for OS 2.4.0."),status:e.DeviceActionStatus.Error}];return g(a,n)}),it("should error when the requested language is not found",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"spanish"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{error:new u.MissingLanguagePackageDAError("Language package not found for spanish."),status:e.DeviceActionStatus.Error}];return g(a,n)}),it("should error when DeleteCurrentLanguagePack returns a command error",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({error:new V.DeleteLanguagePackCommandError({message:"Invalid LANG_ID value.",errorCode:"681a"})}));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{error:new u.DeleteLanguagePackDAError("Invalid LANG_ID value."),status:e.DeviceActionStatus.Error}];return g(a,n)}),it("should error when DeleteCurrentLanguagePack promise rejects",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockRejectedValueOnce(new u.DeleteLanguagePackDAError("Delete failed"));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{error:new u.DeleteLanguagePackDAError("Delete failed"),status:e.DeviceActionStatus.Error}];return g(a,n)}),it("should error when InstallLanguagePack observable errors",()=>{(0,l.setupGetDeviceMetadataMock)(m({catalog:{languagePackages:[s]}}));const a=new i.InstallLanguagePackageDeviceAction({input:{language:"french"}});o.mockResolvedValueOnce((0,I.CommandResultFactory)({data:void 0})),p.mockReturnValueOnce((0,k.throwError)(()=>new u.UnknownDAError("Install failed")));const n=[{intermediateValue:{requiredUserInteraction:t,step:d,progress:0},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:c},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t,step:P,progress:0},status:e.DeviceActionStatus.Pending},{error:new u.UnknownDAError("Install failed"),status:e.DeviceActionStatus.Error}];return g(a,n)})})});
|
|
2
|
+
//# sourceMappingURL=InstallLanguagePackageDeviceAction.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeleteLanguagePackCommandError } from \"@api/command/os/DeleteLanguagePackCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceMetadataMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeleteLanguagePackDAError,\n MissingLanguagePackageDAError,\n MissingLanguagePackagesForOSDAError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { GetDeviceMetadataDAOutput } from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport type { LanguagePackage } from \"@internal/manager-api/model/Language\";\n\nimport { InstallLanguagePackageDeviceAction } from \"./InstallLanguagePackageDeviceAction\";\nimport {\n type InstallLanguagePackageDAState,\n installLanguagePackageDAStateStep,\n} from \"./types\";\n\nvi.mock(\n \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\",\n);\n\ndescribe(\"InstallLanguagePackageDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const deleteCurrentLanguagePackMock = vi.fn();\n const installLanguagePackMock = vi.fn();\n\n const LANGUAGE_PACKAGE: LanguagePackage = {\n language: \"french\",\n languagePackageVersionId: 1,\n version: \"1.0.0\",\n languagePackageId: 42,\n apduInstallUrl: \"https://example.com/install-french\",\n apduUninstallUrl: \"https://example.com/uninstall-french\",\n bytes: 1024,\n dateCreation: \"2024-01-01\",\n dateLastModified: \"2024-01-01\",\n };\n\n const { None } = UserInteractionRequired;\n const {\n DEVICE_READY,\n GET_DEVICE_METADATA,\n DELETE_CURRENT_LANGUAGE_PACK,\n INSTALL_LANGUAGE_PACK,\n } = installLanguagePackageDAStateStep;\n\n const extractDependenciesMock = {\n deleteCurrentLanguagePack: deleteCurrentLanguagePackMock,\n installLanguagePack: installLanguagePackMock,\n };\n\n const buildMetadata = (\n partial: {\n installedLanguages?: Array<{ id: number; size: number }>;\n catalog?: { languagePackages?: LanguagePackage[] | undefined };\n firmwareVersion?: GetDeviceMetadataDAOutput[\"firmwareVersion\"];\n } = {},\n ): GetDeviceMetadataDAOutput =>\n ({\n installedLanguages: [],\n ...partial,\n catalog: {\n languagePackages: [],\n ...(partial.catalog ?? {}),\n },\n }) as unknown as GetDeviceMetadataDAOutput;\n\n const runTest = (\n deviceAction: InstallLanguagePackageDeviceAction,\n expectedStates: Array<InstallLanguagePackageDAState>,\n onDoneExtra?: () => void,\n ) =>\n new Promise<void>((resolve, reject) => {\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock,\n );\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: () => {\n try {\n onDoneExtra?.();\n resolve();\n } catch (e) {\n reject(e as Error);\n }\n },\n onError: reject,\n });\n });\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"success cases\", () => {\n it(\"should install a non-default language package\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of(\n { type: \"progress\", progress: 0.5 },\n { type: \"progress\", progress: 1 },\n ),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n // Initial\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // DeleteCurrentLanguagePack\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n // InstallLanguagePack\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0.5,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should install when a different language pack is already installed\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [{ id: 999, size: 2048 }],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of({ type: \"progress\", progress: 1 }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).toHaveBeenCalledOnce();\n expect(installLanguagePackMock).toHaveBeenCalledOnce();\n });\n });\n\n it(\"should succeed without delete or install when the language pack is already installed\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [\n {\n id: LANGUAGE_PACKAGE.languagePackageId,\n size: LANGUAGE_PACKAGE.bytes,\n },\n ],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).not.toHaveBeenCalled();\n expect(installLanguagePackMock).not.toHaveBeenCalled();\n });\n });\n\n it(\"should install when only a matching languagePackageVersionId is reported as installed\", () => {\n // Guards against a regression where the implementation compares against\n // languagePackageVersionId instead of languagePackageId.\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [\n {\n id: LANGUAGE_PACKAGE.languagePackageVersionId,\n size: LANGUAGE_PACKAGE.bytes,\n },\n ],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of({ type: \"progress\", progress: 1 }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(installLanguagePackMock).toHaveBeenCalledOnce();\n });\n });\n\n it(\"should delete and skip install for the default language (english)\", () => {\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"english\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).toHaveBeenCalledOnce();\n expect(installLanguagePackMock).not.toHaveBeenCalled();\n });\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should error when GetDeviceMetadata fails\", () => {\n setupGetDeviceMetadataMock(\n {} as unknown as GetDeviceMetadataDAOutput,\n true,\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new UnknownDAError(\"GetDeviceMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when language packages are missing from metadata\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n firmwareVersion: {\n mcu: \"1.0.0\",\n bootloader: \"1.0.0\",\n os: \"2.4.0\",\n } as GetDeviceMetadataDAOutput[\"firmwareVersion\"],\n catalog: { languagePackages: undefined },\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new MissingLanguagePackagesForOSDAError(\n \"Language packages not found for OS 2.4.0.\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when the requested language is not found\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"spanish\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new MissingLanguagePackageDAError(\n \"Language package not found for spanish.\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when DeleteCurrentLanguagePack returns a command error\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new DeleteLanguagePackCommandError({\n message: \"Invalid LANG_ID value.\",\n errorCode: \"681a\",\n }),\n }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new DeleteLanguagePackDAError(\"Invalid LANG_ID value.\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when DeleteCurrentLanguagePack promise rejects\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockRejectedValueOnce(\n new DeleteLanguagePackDAError(\"Delete failed\"),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new DeleteLanguagePackDAError(\"Delete failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when InstallLanguagePack observable errors\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n throwError(() => new UnknownDAError(\"Install failed\")),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new UnknownDAError(\"Install failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAA+B,gBAE/BC,EAAqC,4CACrCC,EAA+C,qDAC/CC,EAAgD,6DAChDC,EAA2C,8DAC3CC,EAAuC,oEACvCC,EAAmC,sDACnCC,EAAwC,4DACxCC,EAKO,wCAIPC,EAAmD,gDACnDC,EAGO,mBAEP,GAAG,KACD,uEACF,EAEA,SAAS,qCAAsC,IAAM,CACnD,MAAMC,KAAU,mCAAgC,EAC1CC,EAAgC,GAAG,GAAG,EACtCC,EAA0B,GAAG,GAAG,EAEhCC,EAAoC,CACxC,SAAU,SACV,yBAA0B,EAC1B,QAAS,QACT,kBAAmB,GACnB,eAAgB,qCAChB,iBAAkB,uCAClB,MAAO,KACP,aAAc,aACd,iBAAkB,YACpB,EAEM,CAAE,KAAAC,CAAK,EAAI,0BACX,CACJ,aAAAC,EACA,oBAAAC,EACA,6BAAAC,EACA,sBAAAC,CACF,EAAI,oCAEEC,EAA0B,CAC9B,0BAA2BR,EAC3B,oBAAqBC,CACvB,EAEMQ,EAAgB,CACpBC,EAII,CAAC,KAEJ,CACC,mBAAoB,CAAC,EACrB,GAAGA,EACH,QAAS,CACP,iBAAkB,CAAC,EACnB,GAAIA,EAAQ,SAAW,CAAC,CAC1B,CACF,GAEIC,EAAU,CACdC,EACAC,EACAC,IAEA,IAAI,QAAc,CAACC,EAASC,IAAW,CACrC,GAAG,MAAMJ,EAAc,qBAAqB,EAAE,gBAC5CJ,CACF,KACA,0BAAuBI,EAAcC,EAAgBd,EAAS,CAC5D,OAAQ,IAAM,CACZ,GAAI,CACFe,IAAc,EACdC,EAAQ,CACV,OAASE,EAAG,CACVD,EAAOC,CAAU,CACnB,CACF,EACA,QAASD,CACX,CAAC,CACH,CAAC,EAEH,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gDAAiD,IAAM,IACxD,8BACEP,EAAc,CAAE,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,CAAE,CAAC,CACrE,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACAC,EAAwB,uBACtB,MACE,CAAE,KAAM,WAAY,SAAU,EAAI,EAClC,CAAE,KAAM,WAAY,SAAU,CAAE,CAClC,CACF,EAEA,MAAMY,EAAuD,CAE3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EAEA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EAEA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EAEA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBJ,EACzB,KAAMI,EACN,SAAU,EACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBJ,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EAEA,CACE,OAAQ,OACR,OAAQ,qBAAmB,SAC7B,CACF,EAEA,OAAOI,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,qEAAsE,IAAM,IAC7E,8BACEJ,EAAc,CACZ,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,EAChD,mBAAoB,CAAC,CAAE,GAAI,IAAK,KAAM,IAAK,CAAC,CAC9C,CAAC,CACH,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACAC,EAAwB,uBACtB,MAAG,CAAE,KAAM,WAAY,SAAU,CAAE,CAAC,CACtC,EAEA,MAAMY,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBJ,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,OAAQ,OACR,OAAQ,qBAAmB,SAC7B,CACF,EAEA,OAAOI,EAAQC,EAAcC,EAAgB,IAAM,CACjD,OAAOb,CAA6B,EAAE,qBAAqB,EAC3D,OAAOC,CAAuB,EAAE,qBAAqB,CACvD,CAAC,CACH,CAAC,EAED,GAAG,uFAAwF,IAAM,IAC/F,8BACEQ,EAAc,CACZ,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,EAChD,mBAAoB,CAClB,CACE,GAAIA,EAAiB,kBACrB,KAAMA,EAAiB,KACzB,CACF,CACF,CAAC,CACH,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEKC,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,OAAQ,OACR,OAAQ,qBAAmB,SAC7B,CACF,EAEA,OAAOM,EAAQC,EAAcC,EAAgB,IAAM,CACjD,OAAOb,CAA6B,EAAE,IAAI,iBAAiB,EAC3D,OAAOC,CAAuB,EAAE,IAAI,iBAAiB,CACvD,CAAC,CACH,CAAC,EAED,GAAG,wFAAyF,IAAM,IAGhG,8BACEQ,EAAc,CACZ,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,EAChD,mBAAoB,CAClB,CACE,GAAIA,EAAiB,yBACrB,KAAMA,EAAiB,KACzB,CACF,CACF,CAAC,CACH,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACAC,EAAwB,uBACtB,MAAG,CAAE,KAAM,WAAY,SAAU,CAAE,CAAC,CACtC,EAEA,MAAMY,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBJ,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,OAAQ,OACR,OAAQ,qBAAmB,SAC7B,CACF,EAEA,OAAOI,EAAQC,EAAcC,EAAgB,IAAM,CACjD,OAAOZ,CAAuB,EAAE,qBAAqB,CACvD,CAAC,CACH,CAAC,EAED,GAAG,oEAAqE,IAAM,CAC5E,MAAMW,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,SAAU,CAC/B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EAEA,MAAMa,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,OAAQ,OACR,OAAQ,qBAAmB,SAC7B,CACF,EAEA,OAAOK,EAAQC,EAAcC,EAAgB,IAAM,CACjD,OAAOb,CAA6B,EAAE,qBAAqB,EAC3D,OAAOC,CAAuB,EAAE,IAAI,iBAAiB,CACvD,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,4CAA6C,IAAM,IACpD,8BACE,CAAC,EACD,EACF,EAEA,MAAMW,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEKC,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,iBAAe,0BAA0B,EACpD,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOM,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,gEAAiE,IAAM,IACxE,8BACEJ,EAAc,CACZ,gBAAiB,CACf,IAAK,QACL,WAAY,QACZ,GAAI,OACN,EACA,QAAS,CAAE,iBAAkB,MAAU,CACzC,CAAC,CACH,EAEA,MAAMG,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEKC,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,sCACT,2CACF,EACA,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOM,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,wDAAyD,IAAM,IAChE,8BACEJ,EAAc,CAAE,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,CAAE,CAAC,CACrE,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,SAAU,CAC/B,CAAC,EAEKC,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,gCACT,yCACF,EACA,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOM,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,sEAAuE,IAAM,IAC9E,8BACEJ,EAAc,CAAE,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,CAAE,CAAC,CACrE,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CACnB,MAAO,IAAI,iCAA+B,CACxC,QAAS,yBACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,EAEA,MAAMa,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,4BAA0B,wBAAwB,EAC7D,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOK,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,8DAA+D,IAAM,IACtE,8BACEJ,EAAc,CAAE,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,CAAE,CAAC,CACrE,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,sBAC5B,IAAI,4BAA0B,eAAe,CAC/C,EAEA,MAAMa,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,4BAA0B,eAAe,EACpD,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOK,EAAQC,EAAcC,CAAc,CAC7C,CAAC,EAED,GAAG,0DAA2D,IAAM,IAClE,8BACEJ,EAAc,CAAE,QAAS,CAAE,iBAAkB,CAACP,CAAgB,CAAE,CAAE,CAAC,CACrE,EAEA,MAAMU,EAAe,IAAI,qCAAmC,CAC1D,MAAO,CAAE,SAAU,QAAS,CAC9B,CAAC,EAEDZ,EAA8B,yBAC5B,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACAC,EAAwB,uBACtB,cAAW,IAAM,IAAI,iBAAe,gBAAgB,CAAC,CACvD,EAEA,MAAMY,EAAuD,CAC3D,CACE,kBAAmB,CACjB,wBAAyBV,EACzB,KAAMC,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBD,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAME,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBF,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMG,CACR,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBH,EACzB,KAAMI,EACN,SAAU,CACZ,EACA,OAAQ,qBAAmB,OAC7B,EACA,CACE,MAAO,IAAI,iBAAe,gBAAgB,EAC1C,OAAQ,qBAAmB,KAC7B,CACF,EAEA,OAAOI,EAAQC,EAAcC,CAAc,CAC7C,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_rxjs", "import_CommandResult", "import_DeleteLanguagePackCommand", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_InstallLanguagePackageDeviceAction", "import_types", "apiMock", "deleteCurrentLanguagePackMock", "installLanguagePackMock", "LANGUAGE_PACKAGE", "None", "DEVICE_READY", "GET_DEVICE_METADATA", "DELETE_CURRENT_LANGUAGE_PACK", "INSTALL_LANGUAGE_PACK", "extractDependenciesMock", "buildMetadata", "partial", "runTest", "deviceAction", "expectedStates", "onDoneExtra", "resolve", "reject", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var i=(a,e)=>{for(var r in e)n(a,r,{get:e[r],enumerable:!0})},u=(a,e,r,g)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!l.call(a,t)&&t!==r&&n(a,t,{get:()=>e[t],enumerable:!(g=o(e,t))||g.enumerable});return a};var D=a=>u(n({},"__esModule",{value:!0}),a);var A={};i(A,{installLanguagePackageDAStateStep:()=>p});module.exports=D(A);const p=Object.freeze({DEVICE_READY:"os.installLanguagePackage.steps.deviceReady",GET_DEVICE_METADATA:"os.installLanguagePackage.steps.getDeviceMetadata",DELETE_CURRENT_LANGUAGE_PACK:"os.installLanguagePackage.steps.deleteCurrentLanguagePack",INSTALL_LANGUAGE_PACK:"os.installLanguagePackage.steps.installLanguagePack"});0&&(module.exports={installLanguagePackageDAStateStep});
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/types.ts"],
|
|
4
|
+
"sourcesContent": ["import { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeleteLanguagePackDAError,\n type MissingLanguagePackageDAError,\n type MissingLanguagePackagesForOSDAError,\n type OutOfMemoryDAError,\n type RefusedByUserDAError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAIntermediateValue,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport { type GoToDashboardDAInput } from \"@api/device-action/os/GoToDashboard/types\";\n\nexport type Language =\n | \"french\"\n | \"english\"\n | \"spanish\"\n | \"brazilian\"\n | \"german\"\n | \"russian\"\n | \"turkish\"\n | \"thai\";\n\nexport const installLanguagePackageDAStateStep = Object.freeze({\n DEVICE_READY: \"os.installLanguagePackage.steps.deviceReady\",\n GET_DEVICE_METADATA: \"os.installLanguagePackage.steps.getDeviceMetadata\",\n DELETE_CURRENT_LANGUAGE_PACK:\n \"os.installLanguagePackage.steps.deleteCurrentLanguagePack\",\n INSTALL_LANGUAGE_PACK: \"os.installLanguagePackage.steps.installLanguagePack\",\n} as const);\n\nexport type InstallLanguagePackageDAInput = GoToDashboardDAInput & {\n readonly language: Language;\n};\n\nexport type InstallLanguagePackageDAOutput = undefined;\n\nexport type InstallLanguagePackageDAGetDeviceMetadataIntermediateValue = Omit<\n GetDeviceMetadataDAIntermediateValue,\n \"step\"\n> & {\n readonly step: typeof installLanguagePackageDAStateStep.GET_DEVICE_METADATA;\n};\n\nexport type InstallLanguagePackageDAIntermediateValue =\n | GetDeviceMetadataDAIntermediateValue\n | InstallLanguagePackageDAGetDeviceMetadataIntermediateValue\n | {\n readonly requiredUserInteraction: UserInteractionRequired.None;\n readonly step: Exclude<\n (typeof installLanguagePackageDAStateStep)[keyof typeof installLanguagePackageDAStateStep],\n typeof installLanguagePackageDAStateStep.GET_DEVICE_METADATA\n >;\n readonly progress?: number;\n };\n\nexport type InstallLanguagePackageDAError =\n | GetDeviceMetadataDAError\n | MissingLanguagePackagesForOSDAError\n | MissingLanguagePackageDAError\n | DeleteLanguagePackDAError\n | RefusedByUserDAError // from InstallLanguagePackageTask\n | OutOfMemoryDAError // from InstallLanguagePackageTask\n | UnknownDAError; // from InstallLanguagePackageTask (network error, invalid APDU, etc.)\n\nexport type InstallLanguagePackageDAState = DeviceActionState<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uCAAAE,IAAA,eAAAC,EAAAH,GA0BO,MAAME,EAAoC,OAAO,OAAO,CAC7D,aAAc,8CACd,oBAAqB,oDACrB,6BACE,4DACF,sBAAuB,qDACzB,CAAU",
|
|
6
|
+
"names": ["types_exports", "__export", "installLanguagePackageDAStateStep", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var g=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(e,r)=>{for(var a in r)g(e,a,{get:r[a],enumerable:!0})},y=(e,r,a,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of f(r))!A.call(e,o)&&o!==a&&g(e,o,{get:()=>r[o],enumerable:!(t=l(r,o))||t.enumerable});return e};var B=e=>y(g({},"__esModule",{value:!0}),e);var E={};C(E,{BackupAppStorageTask:()=>h});module.exports=B(E);var m=require("../../command/model/CommandResult"),u=require("../../command/os/BackupStorageCommand"),d=require("../../command/os/GetAppStorageInfoCommand"),s=require("../../model/DmkResult"),c=require("../../utils/HexaString");class h{constructor(r,a,t){this.args=r;this.api=a;this.logger=t}async run(){this.logger.debug("[run] Starting BackupAppStorageTask",{data:{appName:this.args.appName}});const{appName:r}=this.args,a=await this.api.sendCommand(new d.GetAppStorageInfoCommand({appName:r}));if(!(0,m.isSuccessCommandResult)(a))return this.logger.debug("[run] Failed to get app storage info",{data:{error:a.error}}),(0,s.DmkResultFactory)({error:a.error});const{storageSize:t}=a.data;let o=0,n=new Uint8Array(0);for(;o<t;){const p=await this.api.sendCommand(new u.BackupStorageCommand);if(!(0,m.isSuccessCommandResult)(p))return this.logger.debug("[run] Failed to backup app storage",{data:{error:p.error}}),(0,s.DmkResultFactory)({error:p.error});const{chunkData:S,chunkSize:k}=p.data;n=Uint8Array.from([...n,...S]),o+=k}const i=(0,c.bufferToHexaString)(n);return this.logger.debug("[run] App storage data backed up successfully",{data:{appStorageData:i}}),(0,s.DmkResultFactory)({data:{appStorageData:i}})}}0&&(module.exports={BackupAppStorageTask});
|
|
2
|
+
//# sourceMappingURL=BackupAppStorageTask.js.map
|