@ledgerhq/device-management-kit 1.11.0 → 1.11.1
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/README.md +13 -4
- package/lib/cjs/package.json +1 -2
- package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
- package/lib/esm/package.json +1 -2
- package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
- package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -6
- package/lib/cjs/src/api/DeviceManagementKit.test.js +0 -2
- package/lib/cjs/src/api/DeviceManagementKit.test.js.map +0 -7
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +0 -2
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +0 -7
- package/lib/cjs/src/api/apdu/model/Apdu.test.js +0 -2
- package/lib/cjs/src/api/apdu/model/Apdu.test.js.map +0 -7
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.test.js +0 -2
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.test.js.map +0 -7
- package/lib/cjs/src/api/apdu/utils/ApduParser.test.js +0 -2
- package/lib/cjs/src/api/apdu/utils/ApduParser.test.js.map +0 -7
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +0 -2
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +0 -7
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +0 -2
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +0 -7
- package/lib/cjs/src/api/command/di/commandModule.test.js +0 -2
- package/lib/cjs/src/api/command/di/commandModule.test.js.map +0 -7
- package/lib/cjs/src/api/command/model/CommandResult.test.js +0 -2
- package/lib/cjs/src/api/command/model/CommandResult.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/CloseAppCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/CloseAppCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/GetBackgroundImageSizeCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/GetBackgroundImageSizeCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/ListAppsCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/ListAppsCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/OpenAppCommand.test.js +0 -2
- package/lib/cjs/src/api/command/os/OpenAppCommand.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +0 -2
- package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +0 -7
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +0 -2
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +0 -7
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +0 -2
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +0 -7
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js +0 -2
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +0 -7
- package/lib/cjs/src/api/command/utils/GlobalCommandError.test.js +0 -2
- package/lib/cjs/src/api/command/utils/GlobalCommandError.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/__test-utils__/data.js +0 -2
- package/lib/cjs/src/api/device-action/__test-utils__/data.js.map +0 -7
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +0 -2
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +0 -7
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +0 -2
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +0 -7
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +0 -2
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +0 -7
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +0 -2
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +0 -2
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +0 -2
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +0 -2
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js +0 -9
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +0 -7
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +0 -2
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +0 -7
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +0 -2
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +0 -7
- package/lib/cjs/src/api/device-session/utils/FramerUtils.test.js +0 -2
- package/lib/cjs/src/api/device-session/utils/FramerUtils.test.js.map +0 -7
- package/lib/cjs/src/api/logger-publisher/utils/noopLoggerFactory.test.js +0 -2
- package/lib/cjs/src/api/logger-publisher/utils/noopLoggerFactory.test.js.map +0 -7
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +0 -2
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +0 -7
- package/lib/cjs/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.js +0 -2
- package/lib/cjs/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.js.map +0 -7
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +0 -2
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +0 -7
- package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +0 -2
- package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +0 -7
- package/lib/cjs/src/api/model/DmkResult.test.js +0 -2
- package/lib/cjs/src/api/model/DmkResult.test.js.map +0 -7
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js +0 -2
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +0 -7
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +0 -2
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +0 -7
- package/lib/cjs/src/api/secure-channel/utils.test.js +0 -2
- package/lib/cjs/src/api/secure-channel/utils.test.js.map +0 -7
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js +0 -2
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +0 -7
- package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +0 -2
- package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +0 -7
- package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +0 -2
- package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +0 -7
- package/lib/cjs/src/api/utils/AppName.test.js +0 -2
- package/lib/cjs/src/api/utils/AppName.test.js.map +0 -7
- package/lib/cjs/src/api/utils/ApplicationChecker.test.js +0 -2
- package/lib/cjs/src/api/utils/ApplicationChecker.test.js.map +0 -7
- package/lib/cjs/src/api/utils/Base64String.test.js +0 -4
- package/lib/cjs/src/api/utils/Base64String.test.js.map +0 -7
- package/lib/cjs/src/api/utils/HexaString.test.js +0 -2
- package/lib/cjs/src/api/utils/HexaString.test.js.map +0 -7
- package/lib/cjs/src/api/utils/apduLogs.test.js +0 -2
- package/lib/cjs/src/api/utils/apduLogs.test.js.map +0 -7
- package/lib/cjs/src/di.test.js +0 -2
- package/lib/cjs/src/di.test.js.map +0 -7
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +0 -2
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +0 -2
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +0 -2
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +0 -7
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +0 -2
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +0 -7
- package/lib/cjs/src/internal/config/di/configModule.test.js +0 -2
- package/lib/cjs/src/internal/config/di/configModule.test.js.map +0 -7
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +0 -2
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +0 -7
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +0 -2
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js +0 -2
- package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +0 -2
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +0 -2
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js +0 -2
- package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/model/DeviceSession.test.js +0 -2
- package/lib/cjs/src/internal/device-session/model/DeviceSession.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +0 -2
- package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +0 -2
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +0 -2
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +0 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +0 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +0 -2
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/service/IntentQueueService.test.js +0 -2
- package/lib/cjs/src/internal/device-session/service/IntentQueueService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +0 -2
- package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +0 -2
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +0 -2
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +0 -2
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +0 -2
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +0 -2
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +0 -7
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +0 -2
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +0 -7
- package/lib/cjs/src/internal/logger-publisher/service/sanitiseData.test.js +0 -2
- package/lib/cjs/src/internal/logger-publisher/service/sanitiseData.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +0 -2
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +0 -2
- package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +0 -7
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +0 -2
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +0 -7
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +0 -2
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +0 -7
- package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +0 -2
- package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/send/di/sendModule.test.js +0 -2
- package/lib/cjs/src/internal/send/di/sendModule.test.js.map +0 -7
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +0 -2
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +0 -7
- package/lib/cjs/src/internal/transport/di/transportModule.test.js +0 -2
- package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +0 -7
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +0 -2
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +0 -7
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +0 -2
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +0 -7
- package/lib/esm/src/api/DeviceManagementKit.test.js +0 -2
- package/lib/esm/src/api/DeviceManagementKit.test.js.map +0 -7
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +0 -2
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +0 -7
- package/lib/esm/src/api/apdu/model/Apdu.test.js +0 -2
- package/lib/esm/src/api/apdu/model/Apdu.test.js.map +0 -7
- package/lib/esm/src/api/apdu/utils/ApduBuilder.test.js +0 -2
- package/lib/esm/src/api/apdu/utils/ApduBuilder.test.js.map +0 -7
- package/lib/esm/src/api/apdu/utils/ApduParser.test.js +0 -2
- package/lib/esm/src/api/apdu/utils/ApduParser.test.js.map +0 -7
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +0 -2
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +0 -7
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +0 -2
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +0 -7
- package/lib/esm/src/api/command/di/commandModule.test.js +0 -2
- package/lib/esm/src/api/command/di/commandModule.test.js.map +0 -7
- package/lib/esm/src/api/command/model/CommandResult.test.js +0 -2
- package/lib/esm/src/api/command/model/CommandResult.test.js.map +0 -7
- package/lib/esm/src/api/command/os/CloseAppCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/CloseAppCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/GetBackgroundImageSizeCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/GetBackgroundImageSizeCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/ListAppsCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/ListAppsCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/OpenAppCommand.test.js +0 -2
- package/lib/esm/src/api/command/os/OpenAppCommand.test.js.map +0 -7
- package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +0 -2
- package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +0 -7
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +0 -2
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +0 -7
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +0 -2
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +0 -7
- package/lib/esm/src/api/command/utils/CommandUtils.test.js +0 -2
- package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +0 -7
- package/lib/esm/src/api/command/utils/GlobalCommandError.test.js +0 -2
- package/lib/esm/src/api/command/utils/GlobalCommandError.test.js.map +0 -7
- package/lib/esm/src/api/device-action/__test-utils__/data.js +0 -2
- package/lib/esm/src/api/device-action/__test-utils__/data.js.map +0 -7
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +0 -2
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +0 -7
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +0 -2
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +0 -7
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +0 -2
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +0 -7
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +0 -2
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +0 -2
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +0 -2
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +0 -7
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +0 -2
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +0 -7
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +0 -2
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +0 -7
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js +0 -9
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +0 -7
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +0 -2
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +0 -7
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +0 -2
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +0 -7
- package/lib/esm/src/api/device-session/utils/FramerUtils.test.js +0 -2
- package/lib/esm/src/api/device-session/utils/FramerUtils.test.js.map +0 -7
- package/lib/esm/src/api/logger-publisher/utils/noopLoggerFactory.test.js +0 -2
- package/lib/esm/src/api/logger-publisher/utils/noopLoggerFactory.test.js.map +0 -7
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +0 -2
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +0 -7
- package/lib/esm/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.js +0 -2
- package/lib/esm/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.js.map +0 -7
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +0 -2
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +0 -7
- package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +0 -2
- package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +0 -7
- package/lib/esm/src/api/model/DmkResult.test.js +0 -2
- package/lib/esm/src/api/model/DmkResult.test.js.map +0 -7
- package/lib/esm/src/api/network/DmkNetworkClient.test.js +0 -2
- package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +0 -7
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +0 -2
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +0 -2
- package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +0 -2
- package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +0 -2
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +0 -2
- package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +0 -2
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +0 -7
- package/lib/esm/src/api/secure-channel/utils.test.js +0 -2
- package/lib/esm/src/api/secure-channel/utils.test.js.map +0 -7
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js +0 -2
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +0 -7
- package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +0 -2
- package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +0 -7
- package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +0 -2
- package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +0 -7
- package/lib/esm/src/api/utils/AppName.test.js +0 -2
- package/lib/esm/src/api/utils/AppName.test.js.map +0 -7
- package/lib/esm/src/api/utils/ApplicationChecker.test.js +0 -2
- package/lib/esm/src/api/utils/ApplicationChecker.test.js.map +0 -7
- package/lib/esm/src/api/utils/Base64String.test.js +0 -4
- package/lib/esm/src/api/utils/Base64String.test.js.map +0 -7
- package/lib/esm/src/api/utils/HexaString.test.js +0 -2
- package/lib/esm/src/api/utils/HexaString.test.js.map +0 -7
- package/lib/esm/src/api/utils/apduLogs.test.js +0 -2
- package/lib/esm/src/api/utils/apduLogs.test.js.map +0 -7
- package/lib/esm/src/di.test.js +0 -2
- package/lib/esm/src/di.test.js.map +0 -7
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +0 -2
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +0 -2
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +0 -2
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +0 -7
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +0 -2
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +0 -7
- package/lib/esm/src/internal/config/di/configModule.test.js +0 -2
- package/lib/esm/src/internal/config/di/configModule.test.js.map +0 -7
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +0 -2
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +0 -7
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +0 -2
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/crypto/NobleCryptoService.test.js +0 -2
- package/lib/esm/src/internal/crypto/NobleCryptoService.test.js.map +0 -7
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +0 -2
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +0 -2
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/model/DevicePinger.test.js +0 -2
- package/lib/esm/src/internal/device-session/model/DevicePinger.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/model/DeviceSession.test.js +0 -2
- package/lib/esm/src/internal/device-session/model/DeviceSession.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +0 -2
- package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +0 -2
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +0 -2
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +0 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +0 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +0 -2
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/service/IntentQueueService.test.js +0 -2
- package/lib/esm/src/internal/device-session/service/IntentQueueService.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/service/RefresherService.test.js +0 -2
- package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +0 -2
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +0 -2
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +0 -2
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +0 -2
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +0 -2
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +0 -7
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +0 -2
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +0 -7
- package/lib/esm/src/internal/logger-publisher/service/sanitiseData.test.js +0 -2
- package/lib/esm/src/internal/logger-publisher/service/sanitiseData.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +0 -2
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +0 -2
- package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +0 -7
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +0 -2
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +0 -2
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js +0 -2
- package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +0 -2
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +0 -2
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +0 -2
- package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +0 -7
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +0 -2
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +0 -7
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +0 -2
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +0 -7
- package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +0 -2
- package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/send/di/sendModule.test.js +0 -2
- package/lib/esm/src/internal/send/di/sendModule.test.js.map +0 -7
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +0 -2
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +0 -7
- package/lib/esm/src/internal/transport/di/transportModule.test.js +0 -2
- package/lib/esm/src/internal/transport/di/transportModule.test.js.map +0 -7
- package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +0 -2
- package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +0 -7
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +0 -2
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +0 -7
- package/lib/types/src/api/DeviceManagementKit.test.d.ts +0 -2
- package/lib/types/src/api/DeviceManagementKit.test.d.ts.map +0 -1
- package/lib/types/src/api/DeviceManagementKitBuilder.test.d.ts +0 -2
- package/lib/types/src/api/DeviceManagementKitBuilder.test.d.ts.map +0 -1
- package/lib/types/src/api/apdu/model/Apdu.test.d.ts +0 -2
- package/lib/types/src/api/apdu/model/Apdu.test.d.ts.map +0 -1
- package/lib/types/src/api/apdu/utils/ApduBuilder.test.d.ts +0 -2
- package/lib/types/src/api/apdu/utils/ApduBuilder.test.d.ts.map +0 -1
- package/lib/types/src/api/apdu/utils/ApduParser.test.d.ts +0 -2
- package/lib/types/src/api/apdu/utils/ApduParser.test.d.ts.map +0 -1
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.test.d.ts +0 -2
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.test.d.ts.map +0 -1
- package/lib/types/src/api/apdu/utils/ByteArrayParser.test.d.ts +0 -2
- package/lib/types/src/api/apdu/utils/ByteArrayParser.test.d.ts.map +0 -1
- package/lib/types/src/api/command/di/commandModule.test.d.ts +0 -2
- package/lib/types/src/api/command/di/commandModule.test.d.ts.map +0 -1
- package/lib/types/src/api/command/model/CommandResult.test.d.ts +0 -2
- package/lib/types/src/api/command/model/CommandResult.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/CloseAppCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/CloseAppCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/GetAppAndVersionCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/GetAppAndVersionCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/GetBackgroundImageSizeCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/GetBackgroundImageSizeCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/GetOsVersionCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/GetOsVersionCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/ListAppsCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/ListAppsCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/OpenAppCommand.test.d.ts +0 -2
- package/lib/types/src/api/command/os/OpenAppCommand.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +0 -2
- package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +0 -1
- package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts +0 -4
- package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +0 -1
- package/lib/types/src/api/command/use-case/SendCommandUseCase.test.d.ts +0 -2
- package/lib/types/src/api/command/use-case/SendCommandUseCase.test.d.ts.map +0 -1
- package/lib/types/src/api/command/utils/CommandUtils.test.d.ts +0 -2
- package/lib/types/src/api/command/utils/CommandUtils.test.d.ts.map +0 -1
- package/lib/types/src/api/command/utils/GlobalCommandError.test.d.ts +0 -2
- package/lib/types/src/api/command/utils/GlobalCommandError.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/__test-utils__/data.d.ts +0 -94
- package/lib/types/src/api/device-action/__test-utils__/data.d.ts.map +0 -1
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +0 -4
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +0 -1
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +0 -23
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +0 -1
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +0 -18
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +0 -1
- package/lib/types/src/api/device-action/di/deviceActionModule.test.d.ts +0 -2
- package/lib/types/src/api/device-action/di/deviceActionModule.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +0 -2
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +0 -2
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +0 -2
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts +0 -2
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts.map +0 -1
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +0 -2
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +0 -1
- package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.test.d.ts +0 -2
- package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +0 -1
- package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +0 -2
- package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +0 -1
- package/lib/types/src/api/device-session/utils/FramerUtils.test.d.ts +0 -2
- package/lib/types/src/api/device-session/utils/FramerUtils.test.d.ts.map +0 -1
- package/lib/types/src/api/logger-publisher/utils/noopLoggerFactory.test.d.ts +0 -2
- package/lib/types/src/api/logger-publisher/utils/noopLoggerFactory.test.d.ts.map +0 -1
- package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.test.d.ts +0 -2
- package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.test.d.ts.map +0 -1
- package/lib/types/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.d.ts +0 -2
- package/lib/types/src/api/logger-subscriber/service/DefaultLogTagFormatter.test.d.ts.map +0 -1
- package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.test.d.ts +0 -2
- package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.test.d.ts.map +0 -1
- package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +0 -4
- package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +0 -1
- package/lib/types/src/api/model/DmkResult.test.d.ts +0 -2
- package/lib/types/src/api/model/DmkResult.test.d.ts.map +0 -1
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts +0 -2
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts.map +0 -1
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts +0 -2
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +0 -1
- package/lib/types/src/api/secure-channel/utils.test.d.ts +0 -2
- package/lib/types/src/api/secure-channel/utils.test.d.ts.map +0 -1
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts +0 -2
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts.map +0 -1
- package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts +0 -2
- package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts.map +0 -1
- package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +0 -12
- package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +0 -1
- package/lib/types/src/api/utils/AppName.test.d.ts +0 -2
- package/lib/types/src/api/utils/AppName.test.d.ts.map +0 -1
- package/lib/types/src/api/utils/ApplicationChecker.test.d.ts +0 -2
- package/lib/types/src/api/utils/ApplicationChecker.test.d.ts.map +0 -1
- package/lib/types/src/api/utils/Base64String.test.d.ts +0 -2
- package/lib/types/src/api/utils/Base64String.test.d.ts.map +0 -1
- package/lib/types/src/api/utils/HexaString.test.d.ts +0 -2
- package/lib/types/src/api/utils/HexaString.test.d.ts.map +0 -1
- package/lib/types/src/api/utils/apduLogs.test.d.ts +0 -2
- package/lib/types/src/api/utils/apduLogs.test.d.ts.map +0 -1
- package/lib/types/src/di.test.d.ts +0 -2
- package/lib/types/src/di.test.d.ts.map +0 -1
- package/lib/types/src/internal/config/data/LocalConfigDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/config/data/LocalConfigDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/config/data/RemoteConfigDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/config/data/RemoteConfigDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +0 -5
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +0 -7
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/config/di/configModule.test.d.ts +0 -2
- package/lib/types/src/internal/config/di/configModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/config/service/DefaultConfigService.test.d.ts +0 -2
- package/lib/types/src/internal/config/service/DefaultConfigService.test.d.ts.map +0 -1
- package/lib/types/src/internal/config/use-case/GetDmkVersionUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/config/use-case/GetDmkVersionUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts +0 -2
- package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-model/di/deviceModelModule.test.d.ts +0 -2
- package/lib/types/src/internal/device-model/di/deviceModelModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/di/deviceSessionModule.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/di/deviceSessionModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/model/DeviceSession.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/service/DefaultApduSenderService.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/service/DefaultApduSenderService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/service/IntentQueueService.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/service/IntentQueueService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/di/discoveryModule.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/di/discoveryModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/ConnectUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/ConnectUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/logger-publisher/di/loggerModule.test.d.ts +0 -2
- package/lib/types/src/internal/logger-publisher/di/loggerModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.d.ts +0 -2
- package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.d.ts.map +0 -1
- package/lib/types/src/internal/logger-publisher/service/sanitiseData.test.d.ts +0 -2
- package/lib/types/src/internal/logger-publisher/service/sanitiseData.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts +0 -17
- package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/di/managerApiModule.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/di/managerApiModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +0 -12
- package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +0 -2
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +0 -2
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +0 -1
- package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/send/di/sendModule.test.d.ts +0 -2
- package/lib/types/src/internal/send/di/sendModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/send/use-case/SendApduUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/send/use-case/SendApduUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/transport/di/transportModule.test.d.ts +0 -2
- package/lib/types/src/internal/transport/di/transportModule.test.d.ts.map +0 -1
- package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts +0 -2
- package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts.map +0 -1
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +0 -20
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +0 -1
package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { lastValueFrom } from \"rxjs\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceStatusMock } 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 DeviceLockedError,\n DeviceNotOnboardedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { getDeviceStatusDAStateStep } from \"@api/device-action/os/GetDeviceStatus/types\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceDisconnectedWhileSendingError } from \"@api/transport/model/Errors\";\n\nimport { OpenAppDeviceAction } from \"./OpenAppDeviceAction\";\nimport {\n type OpenAppDAError,\n type OpenAppDAState,\n openAppDAStateStep,\n} from \"./types\";\n\nvi.mock(\"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\");\n\ndescribe(\"OpenAppDeviceAction\", () => {\n const getAppAndVersionMock = vi.fn();\n const openAppMock = vi.fn();\n const closeAppMock = vi.fn();\n const getDeviceSessionStateMock = vi.fn();\n const setDeviceSessionStateMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getDeviceSessionState: getDeviceSessionStateMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n openApp: openAppMock,\n closeApp: closeAppMock,\n };\n }\n\n const { getDeviceSessionState: apiGetDeviceSessionStateMock } =\n makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"without overriding `extractDependencies`\", () => {\n it(\"should end if the required application is opened\", () =>\n new Promise<void>((resolve, reject) => {\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n installedApps: [],\n deviceModelId: DeviceModelId.NANO_X,\n isSecureConnectionAllowed: false,\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status / list apps / initial step\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status / onboard check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"success cases\", () => {\n it(\"should end in a success if the app is already opened\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\", unlockTimeout: undefined },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status / list apps / initial step\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version / onboard check / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if the dashboard is open and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version /list apps / initial step\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version / onboard check / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n });\n }));\n\n it(\"should end in a success if disconnection occurs while open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockRejectedValue(\n new DeviceDisconnectedWhileSendingError(),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status / list apps / initial step\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status / onboard check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // device status after open\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // final device status check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if another app is open, close app succeeds and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n { currentApp: \"Bitcoin\", currentAppVersion: \"1.0.0\" },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version / list apps / initial step\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status / close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status / close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version (final)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n });\n });\n }));\n });\n\n describe(\"errors cases\", () => {\n it(\"GIVEN a non-onboarded device WHEN opening an app THEN it blocks the app flow\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n installedApps: [],\n deviceModelId: DeviceModelId.NANO_X,\n isSecureConnectionAllowed: false,\n });\n setupGetDeviceStatusMock([new DeviceNotOnboardedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n error: new DeviceNotOnboardedError(),\n status: DeviceActionStatus.Error,\n },\n ];\n\n // WHEN\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n // THEN\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the device is locked\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.LOCKED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new DeviceLockedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new InvalidStatusWordError(\"mocked error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version / list apps / initial\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // device status / onboard check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the dashboard is open and open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // device status / onboard check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if disconnection occurs while open app failed\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockRejectedValue(\n new DeviceDisconnectedWhileSendingError(),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // device status after failure\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // final device status check\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceDisconnectedWhileSendingError() as OpenAppDAError,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, and close app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, close app succeeds but open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new UnknownDAError(\"Unknown error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if openApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app (confirm)\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if closeApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"anApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should emit a stopped state if the action is cancelled\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending, // onboard / device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceStatusDAStateStep.ONBOARD_CHECK,\n },\n },\n {\n status: DeviceActionStatus.Stopped,\n },\n ];\n\n const { cancel } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n cancel();\n }));\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["lastValueFrom", "InvalidStatusWordError", "CommandResultFactory", "DeviceModelId", "DeviceStatus", "makeDeviceActionInternalApiMock", "setupGetDeviceStatusMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "DeviceLockedError", "DeviceNotOnboardedError", "UnknownDAError", "getDeviceStatusDAStateStep", "DeviceSessionStateType", "DeviceDisconnectedWhileSendingError", "OpenAppDeviceAction", "openAppDAStateStep", "getAppAndVersionMock", "openAppMock", "closeAppMock", "getDeviceSessionStateMock", "setDeviceSessionStateMock", "extractDependenciesMock", "apiGetDeviceSessionStateMock", "resolve", "reject", "openAppDeviceAction", "expectedStates", "observable", "cancel"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{makeDeviceActionInternalApiMock as T}from"../../../device-action/__test-utils__/makeInternalApi";import{setupGetDeviceMetadataMock as o,setupInstallOrUpdateAppsMock as m,setupOpenAppMock as I}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as l}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as n}from"../../../device-action/model/UserInteractionRequired";import{UnknownDAError as D,UnsupportedFirmwareDAError as v}from"../../../device-action/os/Errors";import{installOrUpdateAppsDAStateStep as U}from"../../../device-action/os/InstallOrUpdateApps/types";import{OpenAppWithDependenciesDeviceAction as c}from"./OpenAppWithDependenciesDeviceAction";import{openAppWithDependenciesDAStateStep as t}from"./types";vi.mock("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction");vi.mock("@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction");vi.mock("@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction");describe("OpenAppWithDependenciesDeviceAction",()=>{const p=T(),u={firmwareUpdateContext:{}},s={requiredUserInteraction:n.None,step:U.INSTALL_APPLICATION,installPlan:{installPlan:[{versionName:"1inch"}],alreadyInstalled:["Ethereum","Uniswap"],missingApplications:[""],currentIndex:0,currentProgress:.5}},A={successfullyInstalled:[{versionName:"1inch"}],alreadyInstalled:["Ethereum","Uniswap"],missingApplications:[""]};beforeEach(()=>{vi.clearAllMocks()}),describe("success cases",()=>{it("Open app with dependencies",()=>new Promise((i,a)=>{o(u),m(A,s),I();const d=new c({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{...s,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{...s,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{output:{deviceMetadata:u,installResult:A},status:e.Completed}];l(d,r,p,{onDone:i,onError:a})}))}),describe("error cases",()=>{it("Get device metadata error",()=>new Promise((i,a)=>{o(u,!0);const d=new c({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{error:new D("GetDeviceMetadata failed"),status:e.Error}];l(d,r,p,{onDone:i,onError:a})})),it("Unsupported firmware",()=>new Promise((i,a)=>{o({firmwareUpdateContext:{availableUpdate:"mockUpdate"}});const r=new c({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!0}}),E=[{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{error:new v("Firmware is not the latest version"),status:e.Error}];l(r,E,p,{onDone:i,onError:a})})),it("Install apps error",()=>new Promise((i,a)=>{o({firmwareUpdateContext:{availableUpdate:"mockUpdate"}}),m(A,s,!0);const r=new c({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),E=[{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{...s,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{error:new D("InstallOrUpdateApps failed"),status:e.Error}];l(r,E,p,{onDone:i,onError:a})})),it("Open app error",()=>new Promise((i,a)=>{o(u),m(A,s),I(!0);const d=new c({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.None,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{...s,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{...s,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp,installPlan:null,deviceId:void 0,step:t.GET_DEVICE_METADATA},status:e.Pending},{error:new D("OpenApp failed"),status:e.Error}];l(d,r,p,{onDone:i,onError:a})}))})});
|
|
2
|
-
//# sourceMappingURL=OpenAppWithDependenciesDeviceAction.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport {\n setupGetDeviceMetadataMock,\n setupInstallOrUpdateAppsMock,\n setupOpenAppMock,\n} 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 UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { GetDeviceMetadataDAOutput } from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport {\n type InstallOrUpdateAppsDAIntermediateValue,\n installOrUpdateAppsDAStateStep,\n} from \"@api/device-action/os/InstallOrUpdateApps/types\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\n\nimport { OpenAppWithDependenciesDeviceAction } from \"./OpenAppWithDependenciesDeviceAction\";\nimport {\n type OpenAppWithDependenciesDAState,\n openAppWithDependenciesDAStateStep,\n} from \"./types\";\n\nvi.mock(\"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\");\nvi.mock(\n \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\",\n);\nvi.mock(\n \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\",\n);\n\ndescribe(\"OpenAppWithDependenciesDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const DEVICE_METADATA = {\n firmwareUpdateContext: {},\n } as unknown as GetDeviceMetadataDAOutput;\n\n const INSTALL_INTERMEDIATE_VALUE: InstallOrUpdateAppsDAIntermediateValue = {\n requiredUserInteraction: UserInteractionRequired.None,\n step: installOrUpdateAppsDAStateStep.INSTALL_APPLICATION,\n installPlan: {\n installPlan: [{ versionName: \"1inch\" }] as unknown as Application[],\n alreadyInstalled: [\"Ethereum\", \"Uniswap\"],\n missingApplications: [\"\"],\n currentIndex: 0,\n currentProgress: 0.5,\n },\n };\n\n const INSTALL_RESULT = {\n successfullyInstalled: [\n { versionName: \"1inch\" },\n ] as unknown as Application[],\n alreadyInstalled: [\"Ethereum\", \"Uniswap\"],\n missingApplications: [\"\"],\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"success cases\", () => {\n it(\"Open app with dependencies\", () =>\n new Promise<void>((resolve, reject) => {\n setupGetDeviceMetadataMock(DEVICE_METADATA);\n setupInstallOrUpdateAppsMock(\n INSTALL_RESULT,\n INSTALL_INTERMEDIATE_VALUE,\n );\n setupOpenAppMock();\n const deviceAction = new OpenAppWithDependenciesDeviceAction({\n input: {\n application: { name: \"Ethereum\" },\n dependencies: [{ name: \"Uniswap\" }, { name: \"1inch\" }],\n requireLatestFirmware: false,\n },\n });\n\n const expectedStates: Array<OpenAppWithDependenciesDAState> = [\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // InstallOrUpdateApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n ...INSTALL_INTERMEDIATE_VALUE,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // OpenApp\n {\n intermediateValue: {\n ...INSTALL_INTERMEDIATE_VALUE,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n deviceMetadata: DEVICE_METADATA,\n installResult: INSTALL_RESULT,\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(\"Get device metadata error\", () =>\n new Promise<void>((resolve, reject) => {\n setupGetDeviceMetadataMock(DEVICE_METADATA, true);\n const deviceAction = new OpenAppWithDependenciesDeviceAction({\n input: {\n application: { name: \"Ethereum\" },\n dependencies: [{ name: \"Uniswap\" }, { name: \"1inch\" }],\n requireLatestFirmware: false,\n },\n });\n\n const expectedStates: Array<OpenAppWithDependenciesDAState> = [\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"GetDeviceMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"Unsupported firmware\", () =>\n new Promise<void>((resolve, reject) => {\n const metadataWithUpdate = {\n firmwareUpdateContext: {\n availableUpdate: \"mockUpdate\",\n },\n } as unknown as GetDeviceMetadataDAOutput;\n setupGetDeviceMetadataMock(metadataWithUpdate);\n const deviceAction = new OpenAppWithDependenciesDeviceAction({\n input: {\n application: { name: \"Ethereum\" },\n dependencies: [{ name: \"Uniswap\" }, { name: \"1inch\" }],\n requireLatestFirmware: true,\n },\n });\n\n const expectedStates: Array<OpenAppWithDependenciesDAState> = [\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnsupportedFirmwareDAError(\n \"Firmware is not the latest version\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"Install apps error\", () =>\n new Promise<void>((resolve, reject) => {\n const metadataWithUpdate = {\n firmwareUpdateContext: {\n availableUpdate: \"mockUpdate\",\n },\n } as unknown as GetDeviceMetadataDAOutput;\n setupGetDeviceMetadataMock(metadataWithUpdate);\n setupInstallOrUpdateAppsMock(\n INSTALL_RESULT,\n INSTALL_INTERMEDIATE_VALUE,\n true,\n );\n const deviceAction = new OpenAppWithDependenciesDeviceAction({\n input: {\n application: { name: \"Ethereum\" },\n dependencies: [{ name: \"Uniswap\" }, { name: \"1inch\" }],\n requireLatestFirmware: false,\n },\n });\n\n const expectedStates: Array<OpenAppWithDependenciesDAState> = [\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // InstallOrUpdateApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n ...INSTALL_INTERMEDIATE_VALUE,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"InstallOrUpdateApps failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"Open app error\", () =>\n new Promise<void>((resolve, reject) => {\n setupGetDeviceMetadataMock(DEVICE_METADATA);\n setupInstallOrUpdateAppsMock(\n INSTALL_RESULT,\n INSTALL_INTERMEDIATE_VALUE,\n );\n setupOpenAppMock(true);\n const deviceAction = new OpenAppWithDependenciesDeviceAction({\n input: {\n application: { name: \"Ethereum\" },\n dependencies: [{ name: \"Uniswap\" }, { name: \"1inch\" }],\n requireLatestFirmware: false,\n },\n });\n\n const expectedStates: Array<OpenAppWithDependenciesDAState> = [\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // InstallOrUpdateApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n ...INSTALL_INTERMEDIATE_VALUE,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // OpenApp\n {\n intermediateValue: {\n ...INSTALL_INTERMEDIATE_VALUE,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n installPlan: null,\n deviceId: undefined,\n step: openAppWithDependenciesDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"OpenApp failed\"),\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": ["makeDeviceActionInternalApiMock", "setupGetDeviceMetadataMock", "setupInstallOrUpdateAppsMock", "setupOpenAppMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "UnknownDAError", "UnsupportedFirmwareDAError", "installOrUpdateAppsDAStateStep", "OpenAppWithDependenciesDeviceAction", "openAppWithDependenciesDAStateStep", "apiMock", "DEVICE_METADATA", "INSTALL_INTERMEDIATE_VALUE", "INSTALL_RESULT", "resolve", "reject", "deviceAction", "expectedStates"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Left as v,Right as M}from"purify-ts";import{assign as k,createMachine as E}from"xstate";import{ApduBuilder as g}from"../../../apdu/utils/ApduBuilder";import{CommandResultFactory as l}from"../../../command/model/CommandResult";import{makeDeviceActionInternalApiMock as p}from"../../../device-action/__test-utils__/makeInternalApi";import{testDeviceActionStates as C}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as n}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as e}from"../../../device-action/model/UserInteractionRequired";import{UnknownDAError as y}from"../../../device-action/os/Errors";import{OpenAppDeviceAction as w}from"../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction";import{openAppDAStateStep as D}from"../../../device-action/os/OpenAppDeviceAction/types";import{UnknownDeviceExchangeError as I}from"../../../../../src";import{SendCommandInAppDeviceAction as u}from"./SendCommandInAppDeviceAction";import{sendCommandInAppDAStateStep as s}from"./SendCommandInAppDeviceActionTypes";vi.mock("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction",async r=>({...await r(),OpenAppDeviceAction:vi.fn(()=>({makeStateMachine:vi.fn()}))}));const A=r=>{w.mockImplementation(()=>({makeStateMachine:vi.fn().mockImplementation(()=>E({initial:"pending",states:{pending:{entry:k({intermediateValue:{requiredUserInteraction:e.ConfirmOpenApp,step:D.GET_DEVICE_STATUS}}),after:{0:"done"}},done:{type:"final"}},output:()=>r?v(r):M(void 0)}))}))};describe("SendCommandInAppDeviceAction",()=>{const r=vi.fn(),i=()=>({sendCommand:r}),{sendCommand:f}=p(),m={paramString:"aParameter",paramNumber:1234},S={aNumber:5678,aString:"mockedResponseString"};beforeEach(()=>{vi.resetAllMocks()}),describe("without mocking extractDependencies",()=>{it("should call sendCommand on internalApi with the correct parameters",async()=>{A(),f.mockResolvedValue(l({data:void 0}));const o=new u({input:{command:new d(m),appName:"MyApp",requiredUserInteraction:e.VerifyAddress,skipOpenApp:!1}});await new Promise((a,t)=>{o._execute(p()).observable.subscribe({error:()=>t(),complete:()=>a(),next:()=>{}})}),expect(f).toHaveBeenCalledWith(new d(m))})}),describe("error cases",()=>{it("should error and output the error if the open app fails",()=>new Promise((o,a)=>{A(new y("Mocked error"));const t=[{status:n.Pending,intermediateValue:{requiredUserInteraction:e.None,step:s.OPEN_APP}},{status:n.Pending,intermediateValue:{requiredUserInteraction:e.ConfirmOpenApp,step:D.GET_DEVICE_STATUS}},{status:n.Error,error:new y("Mocked error")}];C(new u({input:{command:new d(m),appName:"MyApp",requiredUserInteraction:e.VerifyAddress,skipOpenApp:!1}}),t,p(),{onDone:o,onError:a})})),it("should error and output an error if the send command fails",()=>new Promise((o,a)=>{A(),r.mockResolvedValue(l({error:new I("Mocked error")}));const t=new u({input:{command:new d(m),appName:"MyApp",requiredUserInteraction:e.VerifyAddress,skipOpenApp:!1}});vi.spyOn(t,"extractDependencies").mockImplementation(i);const c=[{status:n.Pending,intermediateValue:{requiredUserInteraction:e.None,step:s.OPEN_APP}},{status:n.Pending,intermediateValue:{requiredUserInteraction:e.ConfirmOpenApp,step:D.GET_DEVICE_STATUS}},{status:n.Pending,intermediateValue:{requiredUserInteraction:e.VerifyAddress,step:s.SEND_COMMAND}},{status:n.Error,error:new I("Mocked error")}];C(t,c,p(),{onDone:o,onError:a})}))}),describe("success cases",()=>{it("should succeed and output the command result if the send command succeeds",()=>new Promise((o,a)=>{A(),r.mockResolvedValue(l({data:S}));const t=new u({input:{command:new d(m),appName:"MyApp",requiredUserInteraction:e.VerifyAddress,skipOpenApp:!1}});vi.spyOn(t,"extractDependencies").mockImplementation(i);const c=[{status:n.Pending,intermediateValue:{requiredUserInteraction:e.None,step:s.OPEN_APP}},{status:n.Pending,intermediateValue:{requiredUserInteraction:e.ConfirmOpenApp,step:D.GET_DEVICE_STATUS}},{status:n.Pending,intermediateValue:{requiredUserInteraction:e.VerifyAddress,step:s.SEND_COMMAND}},{status:n.Completed,output:S}];C(t,c,p(),{onDone:o,onError:a})})),it("should succeed while skipping OpenApp",()=>new Promise((o,a)=>{A(),r.mockResolvedValue(l({data:S}));const t=new u({input:{command:new d(m),appName:"MyApp",requiredUserInteraction:e.VerifyAddress,skipOpenApp:!0}});vi.spyOn(t,"extractDependencies").mockImplementation(i);const c=[{status:n.Pending,intermediateValue:{requiredUserInteraction:e.VerifyAddress,step:s.SEND_COMMAND}},{status:n.Completed,output:S}];C(t,c,p(),{onDone:o,onError:a})}))})});class d{name="testCommand";params;constructor(i){this.params=i}getApdu(){return new g({cla:0,ins:1,p1:2,p2:3}).add32BitUIntToData(this.params.paramNumber).addAsciiStringToData(this.params.paramString).build()}parseResponse(){return l({data:{aNumber:1,aString:"aString"}})}}
|
|
2
|
-
//# sourceMappingURL=SendCommandInAppDeviceAction.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint @typescript-eslint/consistent-type-imports:0 */\n\nimport { Left, Right } from \"purify-ts\";\nimport { type Mock } from \"vitest\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { openAppDAStateStep } from \"@api/device-action/os/OpenAppDeviceAction/types\";\nimport { type Command } from \"@api/types\";\nimport { UnknownDeviceExchangeError } from \"@root/src\";\n\nimport { SendCommandInAppDeviceAction } from \"./SendCommandInAppDeviceAction\";\nimport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAOutput,\n sendCommandInAppDAStateStep,\n} from \"./SendCommandInAppDeviceActionTypes\";\n\nvi.mock(\n \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\",\n async (importOriginal) => {\n const original =\n await importOriginal<\n typeof import(\"../OpenAppDeviceAction/OpenAppDeviceAction\")\n >();\n\n return {\n ...original,\n OpenAppDeviceAction: vi.fn(() => ({\n makeStateMachine: vi.fn(),\n })),\n };\n },\n);\n\nconst setupOpenAppDAMock = (error?: unknown) => {\n (OpenAppDeviceAction as Mock).mockImplementation(() => ({\n makeStateMachine: vi.fn().mockImplementation(() =>\n createMachine({\n initial: \"pending\",\n states: {\n pending: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n }),\n after: {\n 0: \"done\",\n },\n },\n done: {\n type: \"final\",\n },\n },\n output: () => (error ? Left(error) : Right(undefined)),\n }),\n ),\n }));\n};\n\ndescribe(\"SendCommandInAppDeviceAction\", () => {\n const sendMyCommand = vi.fn();\n\n const extractDependenciesMock = () => ({\n sendCommand: sendMyCommand,\n });\n\n const { sendCommand: apiSendCommandMock } = makeDeviceActionInternalApiMock();\n\n const commandParams = {\n paramString: \"aParameter\",\n paramNumber: 1234,\n };\n const mockedCommandResponse = {\n aNumber: 5678,\n aString: \"mockedResponseString\",\n };\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"without mocking extractDependencies\", () => {\n it(\"should call sendCommand on internalApi with the correct parameters\", async () => {\n setupOpenAppDAMock();\n apiSendCommandMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n });\n await new Promise<void>((resolve, reject) => {\n deviceAction\n ._execute(makeDeviceActionInternalApiMock())\n .observable.subscribe({\n error: () => reject(),\n complete: () => resolve(),\n next: () => {},\n });\n });\n\n expect(apiSendCommandMock).toHaveBeenCalledWith(\n new TestCommand(commandParams),\n );\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should error and output the error if the open app fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock(new UnknownDAError(\"Mocked error\"));\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: sendCommandInAppDAStateStep.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n }),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should error and output an error if the send command fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockImplementation(\n extractDependenciesMock,\n );\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: sendCommandInAppDAStateStep.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: sendCommandInAppDAStateStep.SEND_COMMAND,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"success cases\", () => {\n it(\"should succeed and output the command result if the send command succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({ data: mockedCommandResponse }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockImplementation(\n extractDependenciesMock,\n );\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: sendCommandInAppDAStateStep.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: openAppDAStateStep.GET_DEVICE_STATUS,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: sendCommandInAppDAStateStep.SEND_COMMAND,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: mockedCommandResponse,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should succeed while skipping OpenApp\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({ data: mockedCommandResponse }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: true,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockImplementation(\n extractDependenciesMock,\n );\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: sendCommandInAppDAStateStep.SEND_COMMAND,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: mockedCommandResponse,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n\ntype MyCommandResponse = {\n aNumber: number;\n aString: string;\n};\n\ntype MyCommandParams = {\n paramString: string;\n paramNumber: number;\n};\n\nclass TestCommand implements Command<MyCommandResponse, MyCommandParams> {\n readonly name = \"testCommand\";\n\n params: MyCommandParams;\n constructor(params: MyCommandParams) {\n this.params = params;\n }\n getApdu(): Apdu {\n return new ApduBuilder({ cla: 0x00, ins: 0x01, p1: 0x02, p2: 0x03 })\n .add32BitUIntToData(this.params.paramNumber)\n .addAsciiStringToData(this.params.paramString)\n .build();\n }\n parseResponse() {\n return CommandResultFactory({ data: { aNumber: 1, aString: \"aString\" } });\n }\n}\n\ntype MyCommandSendCommandDAState = DeviceActionState<\n SendCommandInAppDAOutput<MyCommandResponse>,\n SendCommandInAppDAError<UnknownDAError>,\n SendCommandInAppDAIntermediateValue<\n UserInteractionRequired.None | UserInteractionRequired.VerifyAddress\n >\n>;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Left", "Right", "assign", "createMachine", "ApduBuilder", "CommandResultFactory", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "UnknownDAError", "OpenAppDeviceAction", "openAppDAStateStep", "UnknownDeviceExchangeError", "SendCommandInAppDeviceAction", "sendCommandInAppDAStateStep", "importOriginal", "setupOpenAppDAMock", "error", "sendMyCommand", "extractDependenciesMock", "apiSendCommandMock", "commandParams", "mockedCommandResponse", "deviceAction", "TestCommand", "resolve", "reject", "expectedStates", "params"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{of as R,throwError as E}from"rxjs";import{CommandResultFactory as A}from"../../../command/model/CommandResult";import{GLOBAL_ERRORS as m,GlobalCommandError as l}from"../../../command/utils/GlobalCommandError";import{makeDeviceActionInternalApiMock as a}from"../../../device-action/__test-utils__/makeInternalApi";import{testDeviceActionStates as d}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as i}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as S}from"../../../device-action/model/UserInteractionRequired";import{DeviceLockedError as v,UnknownDAError as k}from"../../../device-action/os/Errors";import{waitForAppAndVersionDAStateStep as f}from"./types";import{WaitForAppAndVersionDeviceAction as p}from"./WaitForAppAndVersionDeviceAction";const V=(r,u)=>A({data:{name:r,version:u}}),D=()=>A({error:new l({...m[5515],errorCode:"5515"})}),O=()=>A({error:new l({...m["6e00"],errorCode:"6e00"})}),c=()=>({intermediateValue:{requiredUserInteraction:S.None,step:f.GET_APP_AND_VERSION},status:i.Pending}),w=()=>({intermediateValue:{requiredUserInteraction:S.UnlockDevice,step:f.UNLOCK_DEVICE},status:i.Pending});describe("WaitForAppAndVersionDeviceAction",()=>{const r=vi.fn(),u=vi.fn();function s(){return{getAppAndVersion:r,waitForDeviceUnlock:u}}beforeEach(()=>{vi.resetAllMocks()}),it("should succeed on the first call when the device is already unlocked",()=>new Promise((t,n)=>{r.mockResolvedValue(V("BOLOS","1.0.0"));const e=new p({input:{unlockTimeout:500}});vi.spyOn(e,"extractDependencies").mockReturnValue(s());const o=[c(),{status:i.Completed,output:{name:"BOLOS",version:"1.0.0"}}];d(e,o,a(),{onDone:t,onError:n})})),it("should wait for the device to be unlocked then succeed",()=>new Promise((t,n)=>{r.mockResolvedValueOnce(D()).mockResolvedValueOnce(V("Bitcoin","2.1.0")),u.mockReturnValue(R(void 0));const e=new p({input:{unlockTimeout:500}});vi.spyOn(e,"extractDependencies").mockReturnValue(s());const o=[c(),w(),c(),{status:i.Completed,output:{name:"Bitcoin",version:"2.1.0"}}];d(e,o,a(),{onDone:t,onError:n})})),it("should consider the device on the dashboard of an old firmware when CLA is not supported",()=>new Promise((t,n)=>{r.mockResolvedValue(O());const e=new p({input:{unlockTimeout:500}});vi.spyOn(e,"extractDependencies").mockReturnValue(s());const o=[c(),{status:i.Completed,output:{name:"BOLOS",version:"0.0.0"}}];d(e,o,a(),{onDone:t,onError:n})})),it("should end in an error if the device stays locked until the unlock timeout",()=>new Promise((t,n)=>{r.mockResolvedValue(D()),u.mockReturnValue(E(()=>new v));const e=new p({input:{unlockTimeout:500}});vi.spyOn(e,"extractDependencies").mockReturnValue(s());const o=[c(),w(),{status:i.Error,error:new v}];d(e,o,a(),{onDone:t,onError:n})})),it("should end in an error if the GetAppAndVersion command fails with a non-locked error",()=>new Promise((t,n)=>{const e=new l({...m[5501],errorCode:"5501"});r.mockResolvedValue(A({error:e}));const o=new p({input:{unlockTimeout:500}});vi.spyOn(o,"extractDependencies").mockReturnValue(s());const h=[c(),{status:i.Error,error:e}];d(o,h,a(),{onDone:t,onError:n})})),it("should end in an error if the getAppAndVersion actor throws an error",()=>new Promise((t,n)=>{r.mockImplementation(()=>{throw new k("error")});const e=new p({input:{unlockTimeout:500}});vi.spyOn(e,"extractDependencies").mockReturnValue(s());const o=[c(),{status:i.Error,error:new k("error")}];d(e,o,a(),{onDone:t,onError:n})}))});
|
|
2
|
-
//# sourceMappingURL=WaitForAppAndVersionDeviceAction.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n} from \"@api/command/utils/GlobalCommandError\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\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 DeviceLockedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\n\nimport {\n type WaitForAppAndVersionDAState,\n waitForAppAndVersionDAStateStep,\n} from \"./types\";\nimport { WaitForAppAndVersionDeviceAction } from \"./WaitForAppAndVersionDeviceAction\";\n\nconst appAndVersionResult = (name: string, version: string) =>\n CommandResultFactory({\n data: {\n name,\n version,\n },\n });\n\nconst lockedErrorResult = () =>\n CommandResultFactory({\n error: new GlobalCommandError({\n ...GLOBAL_ERRORS[\"5515\"],\n errorCode: \"5515\",\n }),\n });\n\nconst claNotSupportedErrorResult = () =>\n CommandResultFactory({\n error: new GlobalCommandError({\n ...GLOBAL_ERRORS[\"6e00\"],\n errorCode: \"6e00\",\n }),\n });\n\nconst getAppAndVersionPendingState = (): WaitForAppAndVersionDAState => ({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: waitForAppAndVersionDAStateStep.GET_APP_AND_VERSION,\n },\n status: DeviceActionStatus.Pending,\n});\n\nconst unlockRequestedPendingState = (): WaitForAppAndVersionDAState => ({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.UnlockDevice,\n step: waitForAppAndVersionDAStateStep.UNLOCK_DEVICE,\n },\n status: DeviceActionStatus.Pending,\n});\n\ndescribe(\"WaitForAppAndVersionDeviceAction\", () => {\n const getAppAndVersionMock = vi.fn();\n const waitForDeviceUnlockMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getAppAndVersion: getAppAndVersionMock,\n waitForDeviceUnlock: waitForDeviceUnlockMock,\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should succeed on the first call when the device is already unlocked\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(\n appAndVersionResult(\"BOLOS\", \"1.0.0\"),\n );\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"BOLOS\",\n version: \"1.0.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should wait for the device to be unlocked then succeed\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock\n .mockResolvedValueOnce(lockedErrorResult())\n .mockResolvedValueOnce(appAndVersionResult(\"Bitcoin\", \"2.1.0\"));\n\n waitForDeviceUnlockMock.mockReturnValue(of(undefined));\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n unlockRequestedPendingState(),\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"Bitcoin\",\n version: \"2.1.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should consider the device on the dashboard of an old firmware when CLA is not supported\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(claNotSupportedErrorResult());\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the device stays locked until the unlock timeout\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(lockedErrorResult());\n\n waitForDeviceUnlockMock.mockReturnValue(\n throwError(() => new DeviceLockedError()),\n );\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n unlockRequestedPendingState(),\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the GetAppAndVersion command fails with a non-locked error\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new GlobalCommandError({\n ...GLOBAL_ERRORS[\"5501\"],\n errorCode: \"5501\",\n });\n\n getAppAndVersionMock.mockResolvedValue(CommandResultFactory({ error }));\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Error,\n error,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the getAppAndVersion actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockImplementation(() => {\n throw new UnknownDAError(\"error\");\n });\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["of", "throwError", "CommandResultFactory", "GLOBAL_ERRORS", "GlobalCommandError", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "DeviceLockedError", "UnknownDAError", "waitForAppAndVersionDAStateStep", "WaitForAppAndVersionDeviceAction", "appAndVersionResult", "name", "version", "lockedErrorResult", "claNotSupportedErrorResult", "getAppAndVersionPendingState", "unlockRequestedPendingState", "getAppAndVersionMock", "waitForDeviceUnlockMock", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates", "error"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{DeviceModelId as s}from"../../device/DeviceModel";import{DeviceStatus as a}from"../../device/DeviceStatus";import{makeDeviceActionInternalApiMock as c}from"../../device-action/__test-utils__/makeInternalApi";import{UnknownDAError as o,UnsupportedApplicationDAError as r,UnsupportedFirmwareDAError as l}from"../../device-action/os/Errors";import{DeviceSessionStateType as i}from"../../device-session/DeviceSessionState";import{BuildAppsInstallPlanTask as t}from"./BuildAppsInstallPlanTask";describe("BuildAppsInstallPlanTask",()=>{const e=c();beforeEach(()=>{vi.clearAllMocks(),e.getDeviceModel.mockReturnValue({id:s.NANO_X})}),it("Success with no changes needed",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.3.0"}],catalog:{applications:[],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum"},{name:"Bitcoin"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[],alreadyInstalled:["Ethereum","Bitcoin"],missingApplications:[]})}),it("Success with no constraints",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.3.0"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"},{versionName:"MyShitCoin",version:"0.0.1"},{versionName:"Cardano",version:"1.1.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum"},{name:"Solana"},{name:"Cardano"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[{versionName:"Solana",version:"1.2.0"},{versionName:"Cardano",version:"1.1.0"}],alreadyInstalled:["Ethereum"],missingApplications:[]})}),it("Success with applicable constraints",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.2.0"},{versionName:"Solana",version:"1.1.0"},{versionName:"Cardano",version:"1.1.0"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"},{versionName:"MyShitCoin",version:"0.0.1"},{versionName:"Cardano",version:"1.2.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum",constraints:[{minVersion:"1.6.0",applicableModels:[s.NANO_X]}]},{name:"Bitcoin",constraints:[{minVersion:"1.2.1",exemptModels:[s.NANO_S]}]},{name:"Solana",constraints:[{minVersion:"1.2.0"}]}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"}],alreadyInstalled:[],missingApplications:[]})}),it("Success with non-applicable constraints",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.2.0"},{versionName:"Solana",version:"1.1.0"},{versionName:"Cardano",version:"1.1.0"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"},{versionName:"MyShitCoin",version:"0.0.1"},{versionName:"Cardano",version:"1.2.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum",constraints:[{minVersion:"1.6.0",exemptModels:[s.NANO_X]}]},{name:"Bitcoin",constraints:[{minVersion:"1.2.1",applicableModels:[s.NANO_S]}]},{name:"Cardano",constraints:[{minVersion:"1.1.0"}]}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[],alreadyInstalled:["Ethereum","Bitcoin","Cardano"],missingApplications:[]})}),it("Success with applicable constraints latest version",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.1.0"},{versionName:"MyShitCoin",version:"0.0.1"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"},{versionName:"Cardano",version:"1.2.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum",constraints:[{minVersion:"latest"}]},{name:"Bitcoin",constraints:[{minVersion:"latest"}]},{name:"MyShitCoin",constraints:[{minVersion:"latest"}]}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[{versionName:"Ethereum",version:"1.6.0"}],alreadyInstalled:["Bitcoin","MyShitCoin"],missingApplications:[]})}),it("Success with dependencies",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"AlreadyInstalledDep",version:"1.2.0"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0",parentName:void 0},{versionName:"Solana",version:"1.2.0",parentName:void 0},{versionName:"MyEthShitCoin",version:"0.0.1",parentName:"Ethereum"},{versionName:"MySolShitCoin",version:"0.0.1",parentName:"Solana"},{versionName:"MyPumpFunShitCoin",version:"0.0.1",parentName:"Solana"},{versionName:"Cardano",version:"1.2.0",parentName:void 0},{versionName:"AlreadyInstalledDep",version:"1.2.0",parentName:"Cardano"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"MyEthShitCoin"},{name:"MySolShitCoin"},{name:"Solana"},{name:"MyPumpFunShitCoin"},{name:"AlreadyInstalledDep"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({installPlan:[{versionName:"Ethereum",version:"1.6.0",parentName:void 0},{versionName:"Solana",version:"1.2.0",parentName:void 0},{versionName:"MyEthShitCoin",version:"0.0.1",parentName:"Ethereum"},{versionName:"MySolShitCoin",version:"0.0.1",parentName:"Solana"},{versionName:"MyPumpFunShitCoin",version:"0.0.1",parentName:"Solana"}],alreadyInstalled:["AlreadyInstalledDep"],missingApplications:[]})}),it("Success with allowed missing applications",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[{versionName:"Ethereum",version:"1.5.0"},{versionName:"Bitcoin",version:"1.3.0"}],catalog:{applications:[{versionName:"Ethereum",version:"1.6.0"},{versionName:"Bitcoin",version:"1.3.0"},{versionName:"Solana",version:"1.2.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum"},{name:"Solana"},{name:"Cardano"}],allowMissingApplication:!0}).run();expect(n).toStrictEqual({installPlan:[{versionName:"Solana",version:"1.2.0"}],alreadyInstalled:["Ethereum"],missingApplications:["Cardano"]})}),it("Error when device is in incorrect state",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.Connected,deviceStatus:a.CONNECTED});const n=new t(e,{applications:[{name:"Ethereum"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new o("Invalid device state")})}),it("Error when device session was not populated",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[]});const n=new t(e,{applications:[{name:"Ethereum"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new o("Device apps metadata not fetched")})}),describe("Error cases for unsupported applications and firmwares",()=>{describe("when firmware is up to date",()=>{it("should throw `UnsupportedApplicationDAError` when application not found in catalog",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,firmwareUpdateContext:{currentFirmware:{}},installedApps:[],catalog:{applications:[],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new r("Application Ethereum not supported for this device")})}),it("should throw `UnsupportedApplicationDAError` when application version is not supported",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,firmwareUpdateContext:{currentFirmware:{}},installedApps:[],catalog:{applications:[{versionName:"Ethereum",version:"1.5.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum",constraints:[{minVersion:"1.6.0"}]}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new r("Application Ethereum not supported for this device")})})}),describe("when firmware is out of date",()=>{it("should throw `UnsupportedFirmwareDAError` when application not found in catalog",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,firmwareUpdateContext:{currentFirmware:{},availableUpdate:{}},installedApps:[],catalog:{applications:[],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum"}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new l("Application Ethereum needs latest firmware")})}),it("should throw `UnsupportedFirmwareDAError` when application version is not supported",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,installedApps:[],firmwareUpdateContext:{currentFirmware:{},availableUpdate:{}},catalog:{applications:[{versionName:"Ethereum",version:"1.5.0"}],languagePackages:[]}});const n=new t(e,{applications:[{name:"Ethereum",constraints:[{minVersion:"1.6.0"}]}],allowMissingApplication:!1}).run();expect(n).toStrictEqual({error:new l("Application Ethereum needs latest firmware")})})})})});
|
|
2
|
-
//# sourceMappingURL=BuildAppsInstallPlanTask.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/api/device-action/task/BuildAppsInstallPlanTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport {\n UnknownDAError,\n UnsupportedApplicationDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport type {\n DeviceSessionState,\n FirmwareUpdate,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { BuildAppsInstallPlanTask } from \"./BuildAppsInstallPlanTask\";\n\ndescribe(\"BuildAppsInstallPlanTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceModel.mockReturnValue({\n id: DeviceModelId.NANO_X,\n } as unknown as TransportDeviceModel);\n });\n\n it(\"Success with no changes needed\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [{ name: \"Ethereum\" }, { name: \"Bitcoin\" }],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [],\n alreadyInstalled: [\"Ethereum\", \"Bitcoin\"],\n missingApplications: [],\n });\n });\n\n it(\"Success with no constraints\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n { versionName: \"MyShitCoin\", version: \"0.0.1\" },\n { versionName: \"Cardano\", version: \"1.1.0\" },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n { name: \"Ethereum\" },\n { name: \"Solana\" },\n { name: \"Cardano\" },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [\n { versionName: \"Solana\", version: \"1.2.0\" },\n { versionName: \"Cardano\", version: \"1.1.0\" },\n ],\n alreadyInstalled: [\"Ethereum\"],\n missingApplications: [],\n });\n });\n\n it(\"Success with applicable constraints\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.2.0\" },\n { versionName: \"Solana\", version: \"1.1.0\" },\n { versionName: \"Cardano\", version: \"1.1.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n { versionName: \"MyShitCoin\", version: \"0.0.1\" },\n { versionName: \"Cardano\", version: \"1.2.0\" },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n {\n name: \"Ethereum\",\n constraints: [\n { minVersion: \"1.6.0\", applicableModels: [DeviceModelId.NANO_X] },\n ],\n },\n {\n name: \"Bitcoin\",\n constraints: [\n { minVersion: \"1.2.1\", exemptModels: [DeviceModelId.NANO_S] },\n ],\n },\n { name: \"Solana\", constraints: [{ minVersion: \"1.2.0\" }] },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n ],\n alreadyInstalled: [],\n missingApplications: [],\n });\n });\n\n it(\"Success with non-applicable constraints\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.2.0\" },\n { versionName: \"Solana\", version: \"1.1.0\" },\n { versionName: \"Cardano\", version: \"1.1.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n { versionName: \"MyShitCoin\", version: \"0.0.1\" },\n { versionName: \"Cardano\", version: \"1.2.0\" },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n {\n name: \"Ethereum\",\n constraints: [\n { minVersion: \"1.6.0\", exemptModels: [DeviceModelId.NANO_X] },\n ],\n },\n {\n name: \"Bitcoin\",\n constraints: [\n { minVersion: \"1.2.1\", applicableModels: [DeviceModelId.NANO_S] },\n ],\n },\n { name: \"Cardano\", constraints: [{ minVersion: \"1.1.0\" }] },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [],\n alreadyInstalled: [\"Ethereum\", \"Bitcoin\", \"Cardano\"],\n missingApplications: [],\n });\n });\n\n it(\"Success with applicable constraints latest version\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.1.0\" },\n { versionName: \"MyShitCoin\", version: \"0.0.1\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n { versionName: \"Cardano\", version: \"1.2.0\" },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n { name: \"Ethereum\", constraints: [{ minVersion: \"latest\" }] },\n { name: \"Bitcoin\", constraints: [{ minVersion: \"latest\" }] },\n { name: \"MyShitCoin\", constraints: [{ minVersion: \"latest\" }] },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [{ versionName: \"Ethereum\", version: \"1.6.0\" }],\n alreadyInstalled: [\"Bitcoin\", \"MyShitCoin\"],\n missingApplications: [],\n });\n });\n\n it(\"Success with dependencies\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"AlreadyInstalledDep\", version: \"1.2.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\", parentName: undefined },\n { versionName: \"Solana\", version: \"1.2.0\", parentName: undefined },\n {\n versionName: \"MyEthShitCoin\",\n version: \"0.0.1\",\n parentName: \"Ethereum\",\n },\n {\n versionName: \"MySolShitCoin\",\n version: \"0.0.1\",\n parentName: \"Solana\",\n },\n {\n versionName: \"MyPumpFunShitCoin\",\n version: \"0.0.1\",\n parentName: \"Solana\",\n },\n { versionName: \"Cardano\", version: \"1.2.0\", parentName: undefined },\n {\n versionName: \"AlreadyInstalledDep\",\n version: \"1.2.0\",\n parentName: \"Cardano\",\n },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n { name: \"MyEthShitCoin\" },\n { name: \"MySolShitCoin\" },\n { name: \"Solana\" },\n { name: \"MyPumpFunShitCoin\" },\n { name: \"AlreadyInstalledDep\" },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [\n { versionName: \"Ethereum\", version: \"1.6.0\", parentName: undefined },\n { versionName: \"Solana\", version: \"1.2.0\", parentName: undefined },\n {\n versionName: \"MyEthShitCoin\",\n version: \"0.0.1\",\n parentName: \"Ethereum\",\n },\n {\n versionName: \"MySolShitCoin\",\n version: \"0.0.1\",\n parentName: \"Solana\",\n },\n {\n versionName: \"MyPumpFunShitCoin\",\n version: \"0.0.1\",\n parentName: \"Solana\",\n },\n ],\n alreadyInstalled: [\"AlreadyInstalledDep\"],\n missingApplications: [],\n });\n });\n\n it(\"Success with allowed missing applications\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n ] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.6.0\" },\n { versionName: \"Bitcoin\", version: \"1.3.0\" },\n { versionName: \"Solana\", version: \"1.2.0\" },\n ] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n { name: \"Ethereum\" },\n { name: \"Solana\" },\n { name: \"Cardano\" },\n ],\n allowMissingApplication: true,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n installPlan: [{ versionName: \"Solana\", version: \"1.2.0\" }],\n alreadyInstalled: [\"Ethereum\"],\n missingApplications: [\"Cardano\"],\n });\n });\n\n it(\"Error when device is in incorrect state\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [{ name: \"Ethereum\" }],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Invalid device state\"),\n });\n });\n\n it(\"Error when device session was not populated\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [{ name: \"Ethereum\" }],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Device apps metadata not fetched\"),\n });\n });\n\n describe(\"Error cases for unsupported applications and firmwares\", () => {\n describe(\"when firmware is up to date\", () => {\n it(\"should throw `UnsupportedApplicationDAError` when application not found in catalog\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: {} as FinalFirmware,\n },\n installedApps: [] as unknown as Application[],\n catalog: {\n applications: [] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [{ name: \"Ethereum\" }],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnsupportedApplicationDAError(\n \"Application Ethereum not supported for this device\",\n ),\n });\n });\n it(\"should throw `UnsupportedApplicationDAError` when application version is not supported\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: {} as FinalFirmware,\n },\n installedApps: [] as unknown as Application[],\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n ] as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n {\n name: \"Ethereum\",\n constraints: [{ minVersion: \"1.6.0\" }],\n },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnsupportedApplicationDAError(\n \"Application Ethereum not supported for this device\",\n ),\n });\n });\n });\n describe(\"when firmware is out of date\", () => {\n it(\"should throw `UnsupportedFirmwareDAError` when application not found in catalog\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: {} as FinalFirmware,\n availableUpdate: {} as FirmwareUpdate,\n },\n installedApps: [] as unknown as Application[],\n catalog: {\n applications: [] as unknown as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [{ name: \"Ethereum\" }],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnsupportedFirmwareDAError(\n \"Application Ethereum needs latest firmware\",\n ),\n });\n });\n it(\"should throw `UnsupportedFirmwareDAError` when application version is not supported\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [] as unknown as Application[],\n firmwareUpdateContext: {\n currentFirmware: {} as FinalFirmware,\n availableUpdate: {} as FirmwareUpdate,\n },\n catalog: {\n applications: [\n { versionName: \"Ethereum\", version: \"1.5.0\" },\n ] as Application[],\n languagePackages: [],\n },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new BuildAppsInstallPlanTask(apiMock, {\n applications: [\n {\n name: \"Ethereum\",\n constraints: [{ minVersion: \"1.6.0\" }],\n },\n ],\n allowMissingApplication: false,\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnsupportedFirmwareDAError(\n \"Application Ethereum needs latest firmware\",\n ),\n });\n });\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["DeviceModelId", "DeviceStatus", "makeDeviceActionInternalApiMock", "UnknownDAError", "UnsupportedApplicationDAError", "UnsupportedFirmwareDAError", "DeviceSessionStateType", "BuildAppsInstallPlanTask", "apiMock", "result"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{EitherAsync as n}from"purify-ts";import{CommandResultFactory as u}from"../../command/model/CommandResult";import{BTC_APP_METADATA as g,ETH_APP_METADATA as d}from"../../device-action/__test-utils__/data";import{makeDeviceActionInternalApiMock as y}from"../../device-action/__test-utils__/makeInternalApi";import{GetApplicationsMetadataTaskError as m}from"../../device-action/task/Errors";import{DmkResultFactory as i}from"../../model/DmkResult";import{GetApplicationsMetadataTask as r}from"./GetApplicationsMetadataTask";describe("GetApplicationsMetadataTask",()=>{const e=y(),h={id:7},A={id:361,version:"1.6.0",perso:"perso_11"},w={mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:"metadata"},k=[{name:"Ethereum",hash:"hash2",hashCode:"hashCode"},{name:"Language",hash:"hash3",hashCode:"0000000000000000000000000000000000000000000000000000000000000000"}],l=[d],c=[g,d],p=["fr","eng","it"],s={deviceVersion:h,firmware:A,firmwareVersion:w,installedApps:k},t={getAppsByHash:vi.fn(),getAppList:vi.fn(),getLanguagePackages:vi.fn()};beforeEach(()=>{vi.clearAllMocks(),e.sendCommand.mockResolvedValue(u({data:void 0})),e.getManagerApiService.mockReturnValue(t),t.getAppsByHash.mockReturnValue(n(async()=>l)),t.getAppList.mockReturnValue(n(async()=>c)),t.getLanguagePackages.mockReturnValue(n(async()=>p))}),it("Success without updates",async()=>{const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("Success without languages",async()=>{e.sendCommand.mockResolvedValueOnce(u({data:{id:1,size:15}})).mockResolvedValueOnce(u({data:{id:2,size:17}}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[{id:1,size:15},{id:2,size:17}],catalog:{applications:c,languagePackages:p}}}))}),it("Success with an available update",async()=>{const a={...g,version:"1.0.0"};t.getAppsByHash.mockReturnValue(n(async()=>[a]));const o=await new r(e,s).run();expect(o).toStrictEqual(i({data:{applications:[a],applicationsUpdates:[g],installedLanguages:[],catalog:{applications:c,languagePackages:p}}})),expect(t.getAppsByHash).toHaveBeenCalledWith(["hash2"])}),it("Success with app hash not found",async()=>{t.getAppsByHash.mockReturnValue(n(async()=>[null]));const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("should fail when apps hash cannot by retrieved",async()=>{t.getAppsByHash.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the application catalog")}))}),it("should fail when apps list cannot by retrieved",async()=>{t.getAppList.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the application catalog")}))}),it("should fail when languages cannot by retrieved",async()=>{t.getLanguagePackages.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the languages catalog")}))})});
|
|
2
|
-
//# sourceMappingURL=GetApplicationsMetadataTask.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/api/device-action/task/GetApplicationsMetadataTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n BTC_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { GetApplicationsMetadataTaskError } from \"@api/device-action/task/Errors\";\nimport { type FirmwareVersion } from \"@api/device-session/DeviceSessionState\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetApplicationsMetadataTask } from \"./GetApplicationsMetadataTask\";\n\ndescribe(\"GetApplicationsMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const DEVICE_VERSION = {\n id: 7,\n } as DeviceVersion;\n\n const FIRMWARE = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const FIRMWARE_VERSION = {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: \"metadata\",\n } as unknown as FirmwareVersion;\n\n const INSTALLED_APPS = [\n { name: \"Ethereum\", hash: \"hash2\", hashCode: \"hashCode\" },\n {\n name: \"Language\",\n hash: \"hash3\",\n hashCode:\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n },\n ];\n\n const APPS = [ETH_APP_METADATA];\n\n const CATALOG = [BTC_APP_METADATA, ETH_APP_METADATA];\n\n const LANGUAGES = [\"fr\", \"eng\", \"it\"] as unknown as LanguagePackage[];\n\n const ARGS = {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n installedApps: INSTALLED_APPS,\n };\n\n const MANAGER_MOCK = {\n getAppsByHash: vi.fn(),\n getAppList: vi.fn(),\n getLanguagePackages: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => APPS));\n MANAGER_MOCK.getAppList.mockReturnValue(EitherAsync(async () => CATALOG));\n MANAGER_MOCK.getLanguagePackages.mockReturnValue(\n EitherAsync(async () => LANGUAGES),\n );\n });\n\n it(\"Success without updates\", async () => {\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success without languages\", async () => {\n // WHEN\n apiMock.sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 1, size: 15 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 2, size: 17 } }),\n );\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [\n { id: 1, size: 15 },\n { id: 2, size: 17 },\n ],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success with an available update\", async () => {\n // GIVEN\n const app = {\n ...BTC_APP_METADATA,\n version: \"1.0.0\",\n };\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [app]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: [app],\n applicationsUpdates: [BTC_APP_METADATA],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n expect(MANAGER_MOCK.getAppsByHash).toHaveBeenCalledWith([\"hash2\"]);\n });\n\n it(\"Success with app hash not found\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [null]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"should fail when apps hash cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the application catalog\",\n ),\n }),\n );\n });\n\n it(\"should fail when apps list cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppList.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the application catalog\",\n ),\n }),\n );\n });\n\n it(\"should fail when languages cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getLanguagePackages.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the languages catalog\",\n ),\n }),\n );\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["EitherAsync", "CommandResultFactory", "BTC_APP_METADATA", "ETH_APP_METADATA", "makeDeviceActionInternalApiMock", "GetApplicationsMetadataTaskError", "DmkResultFactory", "GetApplicationsMetadataTask", "apiMock", "DEVICE_VERSION", "FIRMWARE", "FIRMWARE_VERSION", "INSTALLED_APPS", "APPS", "CATALOG", "LANGUAGES", "ARGS", "MANAGER_MOCK", "result", "app", "throwE"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{EitherAsync as i,Just as f,Nothing as R}from"purify-ts";import{InvalidStatusWordError as d}from"../../command/Errors";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{makeDeviceActionInternalApiMock as F}from"../../device-action/__test-utils__/makeInternalApi";import{InvalidGetFirmwareMetadataResponseError as V}from"../../device-action/task/Errors";import{DmkResultFactory as m}from"../../model/DmkResult";import{GetFirmwareMetadataTask as u}from"./GetFirmwareMetadataTask";describe("GetFirmwareMetadataTask",()=>{const e=F(),a={mcuSephVersion:"mcu_version",mcuBootloaderVersion:"bl_version",seVersion:"se_version"},w=97,c={id:7},n={id:361,version:"1.6.0",perso:"perso_11"},l={id:362,perso:"perso_11",notes:"notes"},v={id:363,version:"1.7.0",perso:"perso_11",mcuVersions:[1]},p=[{id:3,name:"other_version",fromBootloaderVersion:"1.0"},{id:1,name:"mcu_version",fromBootloaderVersion:"1.0"}],t={getDeviceVersion:vi.fn(),getFirmwareVersion:vi.fn(),getLatestFirmwareVersion:vi.fn(),getNextFirmwareVersion:vi.fn(),getMcuList:vi.fn()};beforeEach(()=>{vi.resetAllMocks(),e.getManagerApiService.mockReturnValue(t),t.getDeviceVersion.mockReturnValue(i(async()=>c)),t.getFirmwareVersion.mockReturnValue(i(async()=>n)),t.getLatestFirmwareVersion.mockReturnValue(i(async()=>f(l))),t.getNextFirmwareVersion.mockReturnValue(i(async()=>v)),t.getMcuList.mockReturnValue(i(async()=>p))}),it("success with no firmware update available",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({data:w})),t.getLatestFirmwareVersion.mockReturnValueOnce(i(async()=>R));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{size:w}}}))}),it("success with no firmware update when latest firmware cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({data:w})),t.getLatestFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{size:w}}}))}),it("success with a firmware update available",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:v,mcuUpdateRequired:!1}},customImage:{}}})),expect(t.getDeviceVersion).toHaveBeenCalledWith(a),expect(t.getFirmwareVersion).toHaveBeenCalledWith(a,c),expect(t.getLatestFirmwareVersion).toHaveBeenCalledWith(n,c),expect(t.getNextFirmwareVersion).toHaveBeenCalledWith(l)}),it("success with a firmware update available and MCU update",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")}));const r={...v,mcuVersions:[3]};t.getNextFirmwareVersion.mockReturnValue(i(async()=>r));const s=await new u(e).run();expect(s).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:r,mcuUpdateRequired:!0}},customImage:{}}}))}),it("success with a firmware update available when current MCU is unknown",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getMcuList.mockReturnValueOnce(i(async()=>[{id:3,name:"other_version",fromBootloaderVersion:"1.0"}]));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:v,mcuUpdateRequired:!0}},customImage:{}}}))}),it("success with no firmware update when next firmware cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getNextFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{}}}))}),it("success with no firmware update when MCU list cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getMcuList.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{}}}))}),it("should fail when OS version cannot be retrieved",async()=>{e.sendCommand.mockResolvedValueOnce(o({error:new d("error")}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new d("error")}))}),it("should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})),t.getDeviceVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new V}))}),it("should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})),t.getFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new V}))})});
|
|
2
|
-
//# sourceMappingURL=GetFirmwareMetadataTask.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/api/device-action/task/GetFirmwareMetadataTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { EitherAsync, Just, Nothing } from \"purify-ts\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetFirmwareMetadataTask } from \"./GetFirmwareMetadataTask\";\n\ndescribe(\"GetFirmwareMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const OS_VERSION = {\n mcuSephVersion: \"mcu_version\",\n mcuBootloaderVersion: \"bl_version\",\n seVersion: \"se_version\",\n } as GetOsVersionResponse;\n\n const CUSTOM_IMAGE_SIZE = 97;\n\n const DEVICE_VERSION = {\n id: 7,\n };\n\n const FIRMWARE_VERSION = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const OSU_VERSION = {\n id: 362,\n perso: \"perso_11\",\n notes: \"notes\",\n } as OsuFirmware;\n\n const NEXT_FIRMWARE_VERSION = {\n id: 363,\n version: \"1.7.0\",\n perso: \"perso_11\",\n mcuVersions: [1],\n } as FinalFirmware;\n\n const MCUS = [\n {\n id: 3,\n name: \"other_version\",\n fromBootloaderVersion: \"1.0\",\n },\n {\n id: 1,\n name: \"mcu_version\",\n fromBootloaderVersion: \"1.0\",\n },\n ] as McuFirmware[];\n\n const MANAGER_MOCK = {\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getMcuList: vi.fn(),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValue(\n EitherAsync(async () => DEVICE_VERSION),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValue(\n EitherAsync(async () => FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValue(\n EitherAsync(async () => Just(OSU_VERSION)),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => NEXT_FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getMcuList.mockReturnValue(EitherAsync(async () => MCUS));\n });\n\n it(\"success with no firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async () => Nothing),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with no firmware update when latest firmware cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with a firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: false,\n },\n },\n customImage: {},\n },\n }),\n );\n expect(MANAGER_MOCK.getDeviceVersion).toHaveBeenCalledWith(OS_VERSION);\n expect(MANAGER_MOCK.getFirmwareVersion).toHaveBeenCalledWith(\n OS_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getLatestFirmwareVersion).toHaveBeenCalledWith(\n FIRMWARE_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getNextFirmwareVersion).toHaveBeenCalledWith(\n OSU_VERSION,\n );\n });\n\n it(\"success with a firmware update available and MCU update\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n const nextFirmware = {\n ...NEXT_FIRMWARE_VERSION,\n mcuVersions: [3],\n };\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => nextFirmware),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: nextFirmware,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with a firmware update available when current MCU is unknown\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getMcuList.mockReturnValueOnce(\n EitherAsync(async () => [\n {\n id: 3,\n name: \"other_version\",\n fromBootloaderVersion: \"1.0\",\n },\n ]),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with no firmware update when next firmware cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with no firmware update when MCU list cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getMcuList.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"should fail when OS version cannot be retrieved\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n });\n\n it(\"should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n\n it(\"should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["EitherAsync", "Just", "Nothing", "InvalidStatusWordError", "CommandResultFactory", "makeDeviceActionInternalApiMock", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "apiMock", "OS_VERSION", "CUSTOM_IMAGE_SIZE", "DEVICE_VERSION", "FIRMWARE_VERSION", "OSU_VERSION", "NEXT_FIRMWARE_VERSION", "MCUS", "MANAGER_MOCK", "result", "throwE", "nextFirmware"]
|
|
7
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{Left as g,Right as o}from"purify-ts";import{lastValueFrom as l,toArray as p}from"rxjs";import{NetworkDAError as y,OutOfMemoryDAError as x,RefusedByUserDAError as d,UnknownDAError as i}from"../../device-action/os/Errors";import{ApduResponse as O}from"../../device-session/ApduResponse";import{InstallLanguagePackageTask as a}from"./InstallLanguagePackageTask";describe("InstallLanguagePackageTask",()=>{let t;const s=vi.fn(),c=new Uint8Array([144,0]),u=new Uint8Array([85,1]),m=new Uint8Array([106,132]),h=new Uint8Array([103,0]);function n(e){return new O({statusCode:e,data:new Uint8Array})}beforeEach(()=>{vi.clearAllMocks(),t={sendApdu:s}}),afterEach(()=>{vi.restoreAllMocks()}),describe("success",()=>{it("should send all APDUs and emit progress events",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
2
|
-
e0c4010000
|
|
3
|
-
e0c4020000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(globalThis.fetch).toHaveBeenCalledWith("https://example.com/install"),expect(s).toHaveBeenCalledTimes(3),expect(r).toEqual([{type:"progress",progress:1/3},{type:"progress",progress:2/3},{type:"progress",progress:1}])}),it("should handle a single APDU",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(1),expect(r).toEqual([{type:"progress",progress:1}])}),it("should skip empty lines in APDU data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
4
|
-
|
|
5
|
-
e0c4010000
|
|
6
|
-
`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(2),expect(r).toEqual([{type:"progress",progress:.5},{type:"progress",progress:1}])}),it("should handle Windows-style line endings",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000\r
|
|
7
|
-
e0c4010000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(2),expect(r).toEqual([{type:"progress",progress:.5},{type:"progress",progress:1}])})}),describe("error",()=>{it("should throw NetworkDAError when fetching APDUs fails",async()=>{vi.spyOn(globalThis,"fetch").mockRejectedValueOnce(new Error("Network timeout"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new y("Failed to fetch APDUs: Network timeout")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError for invalid APDU hex data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("ZZZZ"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Invalid APDU data: ZZZZ")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError for too-short APDU data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Invalid APDU data: e0c4")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError on device communication error (Left)",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(g(new Error("Transport error")));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Device communication error: Error: Transport error"))}),it("should throw RefusedByUserDAError when device refuses",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(u)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new d("Language install refused on device."))}),it("should throw OutOfMemoryDAError when device is out of memory",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(m)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new x("Not enough space for language pack."))}),it("should throw UnknownDAError for unexpected device response status",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(h)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Unexpected device response: 0x6700"))}),it("should error on second APDU after first succeeds",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
8
|
-
e0c4010000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(u)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=[];await expect(new Promise((w,v)=>{e.run().subscribe({next:k=>r.push(k),error:v,complete:w})})).rejects.toEqual(new d("Language install refused on device.")),expect(r).toEqual([{type:"progress",progress:.5}])})})});
|
|
9
|
-
//# sourceMappingURL=InstallLanguagePackageTask.test.js.map
|