@ledgerhq/live-common 27.2.0 → 27.3.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/apps/logic.test.js +1 -1
- package/lib/apps/logic.test.js.map +1 -1
- package/lib/apps/polyfill.d.ts +1 -1
- package/lib/apps/polyfill.d.ts.map +1 -1
- package/lib/apps/polyfill.js +6 -3
- package/lib/apps/polyfill.js.map +1 -1
- package/lib/apps/polyfill.test.d.ts +2 -0
- package/lib/apps/polyfill.test.d.ts.map +1 -0
- package/lib/apps/polyfill.test.js +25 -0
- package/lib/apps/polyfill.test.js.map +1 -0
- package/lib/apps/support.d.ts.map +1 -1
- package/lib/apps/support.js +3 -2
- package/lib/apps/support.js.map +1 -1
- package/lib/bot/engine.d.ts.map +1 -1
- package/lib/bot/engine.js +154 -45
- package/lib/bot/engine.js.map +1 -1
- package/lib/bot/formatters.d.ts +1 -1
- package/lib/bot/formatters.d.ts.map +1 -1
- package/lib/bot/formatters.js +9 -3
- package/lib/bot/formatters.js.map +1 -1
- package/lib/bot/index.d.ts.map +1 -1
- package/lib/bot/index.js +29 -11
- package/lib/bot/index.js.map +1 -1
- package/lib/bot/specs.d.ts +12 -1
- package/lib/bot/specs.d.ts.map +1 -1
- package/lib/bot/specs.js +75 -1
- package/lib/bot/specs.js.map +1 -1
- package/lib/bot/types.d.ts +18 -1
- package/lib/bot/types.d.ts.map +1 -1
- package/lib/currencies/sortByMarketcap.d.ts.map +1 -1
- package/lib/currencies/sortByMarketcap.js +5 -1
- package/lib/currencies/sortByMarketcap.js.map +1 -1
- package/lib/currencies/support.d.ts.map +1 -1
- package/lib/currencies/support.js +2 -1
- package/lib/currencies/support.js.map +1 -1
- package/lib/derivation.d.ts.map +1 -1
- package/lib/derivation.js +2 -4
- package/lib/derivation.js.map +1 -1
- package/lib/env.js +1 -1
- package/lib/exchange/swap/getExchangeRates.d.ts.map +1 -1
- package/lib/exchange/swap/getExchangeRates.js +6 -3
- package/lib/exchange/swap/getExchangeRates.js.map +1 -1
- package/lib/exchange/swap/getProviders.d.ts.map +1 -1
- package/lib/exchange/swap/getProviders.js +45 -5
- package/lib/exchange/swap/getProviders.js.map +1 -1
- package/lib/exchange/swap/getProviders.test.d.ts +2 -0
- package/lib/exchange/swap/getProviders.test.d.ts.map +1 -0
- package/lib/exchange/swap/getProviders.test.js +519 -0
- package/lib/exchange/swap/getProviders.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.d.ts +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/useProviderRates.js +19 -4
- package/lib/exchange/swap/hooks/useProviderRates.js.map +1 -1
- package/lib/exchange/swap/hooks/useProviderRates.test.js +42 -0
- package/lib/exchange/swap/hooks/useProviderRates.test.js.map +1 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.d.ts +1 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.js +2 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.js.map +1 -1
- package/lib/exchange/swap/index.d.ts +2 -1
- package/lib/exchange/swap/index.d.ts.map +1 -1
- package/lib/exchange/swap/index.js +11 -1
- package/lib/exchange/swap/index.js.map +1 -1
- package/lib/exchange/swap/index.test.js +22 -0
- package/lib/exchange/swap/index.test.js.map +1 -1
- package/lib/exchange/swap/mock.js +1 -1
- package/lib/exchange/swap/mock.js.map +1 -1
- package/lib/exchange/swap/types.d.ts +14 -0
- package/lib/exchange/swap/types.d.ts.map +1 -1
- package/lib/exchange/swap/utils/index.d.ts +1 -0
- package/lib/exchange/swap/utils/index.d.ts.map +1 -1
- package/lib/exchange/swap/utils/index.js +6 -1
- package/lib/exchange/swap/utils/index.js.map +1 -1
- package/lib/exchange/swap/utils/index.test.js +12 -0
- package/lib/exchange/swap/utils/index.test.js.map +1 -1
- package/lib/families/algorand/specs.d.ts.map +1 -1
- package/lib/families/algorand/specs.js +2 -0
- package/lib/families/algorand/specs.js.map +1 -1
- package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/algorand/speculos-deviceActions.js +2 -29
- package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
- package/lib/families/bitcoin/specs.d.ts +0 -1
- package/lib/families/bitcoin/specs.d.ts.map +1 -1
- package/lib/families/bitcoin/specs.js +65 -48
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/bitcoin/speculos-deviceActions.js +2 -22
- package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
- package/lib/families/cardano/specs.d.ts.map +1 -1
- package/lib/families/cardano/specs.js +9 -4
- package/lib/families/cardano/specs.js.map +1 -1
- package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/cardano/speculos-deviceActions.js +2 -10
- package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
- package/lib/families/celo/specs/createSendMutation.d.ts +1 -0
- package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -1
- package/lib/families/celo/specs/createSendMutation.js +7 -5
- package/lib/families/celo/specs/createSendMutation.js.map +1 -1
- package/lib/families/celo/specs.d.ts.map +1 -1
- package/lib/families/celo/specs.js +1 -0
- package/lib/families/celo/specs.js.map +1 -1
- package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/celo/speculos-deviceActions.js +3 -10
- package/lib/families/celo/speculos-deviceActions.js.map +1 -1
- package/lib/families/cosmos/helpers.d.ts +9 -0
- package/lib/families/cosmos/helpers.d.ts.map +1 -0
- package/lib/families/cosmos/helpers.js +20 -0
- package/lib/families/cosmos/helpers.js.map +1 -0
- package/lib/families/cosmos/helpers.unit.test.d.ts +2 -0
- package/lib/families/cosmos/helpers.unit.test.d.ts.map +1 -0
- package/lib/families/cosmos/helpers.unit.test.js +56 -0
- package/lib/families/cosmos/helpers.unit.test.js.map +1 -0
- package/lib/families/cosmos/js-signOperation.d.ts.map +1 -1
- package/lib/families/cosmos/js-signOperation.js +5 -3
- package/lib/families/cosmos/js-signOperation.js.map +1 -1
- package/lib/families/cosmos/js-synchronisation.d.ts.map +1 -1
- package/lib/families/cosmos/js-synchronisation.js +99 -95
- package/lib/families/cosmos/js-synchronisation.js.map +1 -1
- package/lib/families/cosmos/specs.d.ts.map +1 -1
- package/lib/families/cosmos/specs.js +5 -1
- package/lib/families/cosmos/specs.js.map +1 -1
- package/lib/families/crypto_org/specs.d.ts.map +1 -1
- package/lib/families/crypto_org/specs.js +9 -8
- package/lib/families/crypto_org/specs.js.map +1 -1
- package/lib/families/elrond/specs.d.ts.map +1 -1
- package/lib/families/elrond/specs.js +1 -0
- package/lib/families/elrond/specs.js.map +1 -1
- package/lib/families/elrond/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/elrond/speculos-deviceActions.js +3 -8
- package/lib/families/elrond/speculos-deviceActions.js.map +1 -1
- package/lib/families/ethereum/specs.d.ts.map +1 -1
- package/lib/families/ethereum/specs.js +20 -8
- package/lib/families/ethereum/specs.js.map +1 -1
- package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/ethereum/speculos-deviceActions.js +10 -33
- package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
- package/lib/families/evm/specs.d.ts.map +1 -1
- package/lib/families/evm/specs.js +20 -10
- package/lib/families/evm/specs.js.map +1 -1
- package/lib/families/evm/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/evm/speculos-deviceActions.js +5 -25
- package/lib/families/evm/speculos-deviceActions.js.map +1 -1
- package/lib/families/filecoin/specs.d.ts.map +1 -1
- package/lib/families/filecoin/specs.js +3 -0
- package/lib/families/filecoin/specs.js.map +1 -1
- package/lib/families/filecoin/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/filecoin/speculos-deviceActions.js +6 -7
- package/lib/families/filecoin/speculos-deviceActions.js.map +1 -1
- package/lib/families/hedera/specs.d.ts.map +1 -1
- package/lib/families/hedera/specs.js +2 -0
- package/lib/families/hedera/specs.js.map +1 -1
- package/lib/families/osmosis/specs.d.ts.map +1 -1
- package/lib/families/osmosis/specs.js +3 -0
- package/lib/families/osmosis/specs.js.map +1 -1
- package/lib/families/polkadot/specs.d.ts.map +1 -1
- package/lib/families/polkadot/specs.js +4 -1
- package/lib/families/polkadot/specs.js.map +1 -1
- package/lib/families/polkadot/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/polkadot/speculos-deviceActions.js +3 -10
- package/lib/families/polkadot/speculos-deviceActions.js.map +1 -1
- package/lib/families/ripple/specs.d.ts.map +1 -1
- package/lib/families/ripple/specs.js +2 -0
- package/lib/families/ripple/specs.js.map +1 -1
- package/lib/families/ripple/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/ripple/speculos-deviceActions.js +2 -22
- package/lib/families/ripple/speculos-deviceActions.js.map +1 -1
- package/lib/families/solana/specs.d.ts.map +1 -1
- package/lib/families/solana/specs.js +7 -3
- package/lib/families/solana/specs.js.map +1 -1
- package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/solana/speculos-deviceActions.js +5 -7
- package/lib/families/solana/speculos-deviceActions.js.map +1 -1
- package/lib/families/stellar/specs.d.ts.map +1 -1
- package/lib/families/stellar/specs.js +1 -0
- package/lib/families/stellar/specs.js.map +1 -1
- package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/stellar/speculos-deviceActions.js +4 -8
- package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
- package/lib/families/tezos/specs.d.ts.map +1 -1
- package/lib/families/tezos/specs.js +6 -1
- package/lib/families/tezos/specs.js.map +1 -1
- package/lib/families/tezos/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/tezos/speculos-deviceActions.js +6 -11
- package/lib/families/tezos/speculos-deviceActions.js.map +1 -1
- package/lib/families/tron/specs.d.ts.map +1 -1
- package/lib/families/tron/specs.js +16 -1
- package/lib/families/tron/specs.js.map +1 -1
- package/lib/families/tron/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/tron/speculos-deviceActions.js +2 -14
- package/lib/families/tron/speculos-deviceActions.js.map +1 -1
- package/lib/families/tron/synchronisation.integration.test.d.ts +2 -0
- package/lib/families/tron/synchronisation.integration.test.d.ts.map +1 -0
- package/lib/families/tron/{synchronisation.test.js → synchronisation.integration.test.js} +1 -1
- package/lib/families/tron/synchronisation.integration.test.js.map +1 -0
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +6 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/generated/specs.d.ts +0 -1
- package/lib/generated/specs.d.ts.map +1 -1
- package/lib/hw/actions/installLanguage.js +1 -1
- package/lib/hw/extractOnboardingState.d.ts +5 -1
- package/lib/hw/extractOnboardingState.d.ts.map +1 -1
- package/lib/hw/extractOnboardingState.js +17 -9
- package/lib/hw/extractOnboardingState.js.map +1 -1
- package/lib/hw/extractOnboardingState.test.js +21 -11
- package/lib/hw/extractOnboardingState.test.js.map +1 -1
- package/lib/load/speculos.d.ts.map +1 -1
- package/lib/load/speculos.js +39 -15
- package/lib/load/speculos.js.map +1 -1
- package/lib/manager/hooks.d.ts +4 -1
- package/lib/manager/hooks.d.ts.map +1 -1
- package/lib/manager/hooks.js +4 -3
- package/lib/manager/hooks.js.map +1 -1
- package/lib/manager/localization.js +2 -2
- package/lib/manager/localization.js.map +1 -1
- package/lib/mock/account.d.ts.map +1 -1
- package/lib/mock/account.js +17 -19
- package/lib/mock/account.js.map +1 -1
- package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
- package/lib/notifications/ServiceStatusProvider/index.js +5 -1
- package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
- package/lib/postOnboarding/PostOnboardingProvider.d.ts +20 -0
- package/lib/postOnboarding/PostOnboardingProvider.d.ts.map +1 -0
- package/lib/postOnboarding/PostOnboardingProvider.js +33 -0
- package/lib/postOnboarding/PostOnboardingProvider.js.map +1 -0
- package/lib/postOnboarding/actions.d.ts +20 -0
- package/lib/postOnboarding/actions.d.ts.map +1 -0
- package/lib/postOnboarding/actions.js +37 -0
- package/lib/postOnboarding/actions.js.map +1 -0
- package/lib/postOnboarding/hooks/index.d.ts +6 -0
- package/lib/postOnboarding/hooks/index.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/index.js +22 -0
- package/lib/postOnboarding/hooks/index.js.map +1 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.d.ts +8 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.js +16 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.js.map +1 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.d.ts +2 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.js +75 -0
- package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.js.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingContext.d.ts +3 -0
- package/lib/postOnboarding/hooks/usePostOnboardingContext.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingContext.js +10 -0
- package/lib/postOnboarding/hooks/usePostOnboardingContext.js.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.d.ts +8 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.js +20 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.js.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.d.ts +2 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.js +64 -0
- package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.js.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts +12 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js +65 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.d.ts +2 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.js +129 -0
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.js.map +1 -0
- package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts +13 -0
- package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts.map +1 -0
- package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js +34 -0
- package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js.map +1 -0
- package/lib/postOnboarding/mock.d.ts +8 -0
- package/lib/postOnboarding/mock.d.ts.map +1 -0
- package/lib/postOnboarding/mock.js +46 -0
- package/lib/postOnboarding/mock.js.map +1 -0
- package/lib/postOnboarding/reducer.d.ts +22 -0
- package/lib/postOnboarding/reducer.d.ts.map +1 -0
- package/lib/postOnboarding/reducer.js +71 -0
- package/lib/postOnboarding/reducer.js.map +1 -0
- package/lib/postOnboarding/reducer.test.d.ts +2 -0
- package/lib/postOnboarding/reducer.test.d.ts.map +1 -0
- package/lib/postOnboarding/reducer.test.js +251 -0
- package/lib/postOnboarding/reducer.test.js.map +1 -0
- package/package.json +24 -20
- package/src/__tests__/__snapshots__/portfolio.v2.ts.snap +16 -0
- package/src/apps/__snapshots__/logic.test.ts.snap +18 -11
- package/src/apps/logic.test.ts +1 -2
- package/src/apps/polyfill.test.ts +24 -0
- package/src/apps/polyfill.ts +7 -2
- package/src/apps/support.ts +2 -1
- package/src/bot/engine.ts +178 -35
- package/src/bot/formatters.ts +15 -2
- package/src/bot/index.ts +48 -19
- package/src/bot/specs.ts +95 -1
- package/src/bot/types.ts +23 -1
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +55 -6
- package/src/currencies/sortByMarketcap.ts +6 -1
- package/src/currencies/support.ts +2 -1
- package/src/derivation.ts +2 -4
- package/src/env.ts +1 -1
- package/src/exchange/swap/getExchangeRates.ts +12 -5
- package/src/exchange/swap/getProviders.test.ts +450 -0
- package/src/exchange/swap/getProviders.ts +31 -8
- package/src/exchange/swap/hooks/useProviderRates.test.ts +43 -0
- package/src/exchange/swap/hooks/useProviderRates.ts +22 -3
- package/src/exchange/swap/hooks/useSwapTransaction.ts +3 -1
- package/src/exchange/swap/index.test.ts +36 -1
- package/src/exchange/swap/index.ts +15 -0
- package/src/exchange/swap/mock.ts +2 -2
- package/src/exchange/swap/types.ts +11 -0
- package/src/exchange/swap/utils/index.test.ts +19 -0
- package/src/exchange/swap/utils/index.ts +5 -0
- package/src/families/algorand/specs.ts +3 -1
- package/src/families/algorand/speculos-deviceActions.ts +4 -35
- package/src/families/bitcoin/specs.ts +72 -56
- package/src/families/bitcoin/speculos-deviceActions.ts +3 -26
- package/src/families/cardano/specs.ts +9 -4
- package/src/families/cardano/speculos-deviceActions.ts +3 -14
- package/src/families/celo/specs/createSendMutation.ts +5 -3
- package/src/families/celo/specs.ts +2 -0
- package/src/families/celo/speculos-deviceActions.ts +6 -14
- package/src/families/cosmos/__snapshots__/bridge.integration.test.ts.snap +24 -44
- package/src/families/cosmos/helpers.ts +21 -0
- package/src/families/cosmos/helpers.unit.test.ts +63 -0
- package/src/families/cosmos/js-signOperation.ts +6 -3
- package/src/families/cosmos/js-synchronisation.ts +120 -119
- package/src/families/cosmos/specs.ts +11 -2
- package/src/families/crypto_org/specs.ts +12 -19
- package/src/families/elrond/specs.ts +1 -0
- package/src/families/elrond/speculos-deviceActions.ts +4 -9
- package/src/families/ethereum/specs.ts +34 -38
- package/src/families/ethereum/speculos-deviceActions.ts +16 -46
- package/src/families/evm/specs.ts +18 -8
- package/src/families/evm/speculos-deviceActions.ts +7 -35
- package/src/families/filecoin/specs.ts +4 -1
- package/src/families/filecoin/speculos-deviceActions.ts +7 -8
- package/src/families/hedera/specs.ts +3 -1
- package/src/families/osmosis/specs.ts +4 -1
- package/src/families/polkadot/specs.ts +11 -2
- package/src/families/polkadot/speculos-deviceActions.ts +5 -16
- package/src/families/ripple/specs.ts +3 -1
- package/src/families/ripple/speculos-deviceActions.ts +3 -28
- package/src/families/solana/specs.ts +15 -4
- package/src/families/solana/speculos-deviceActions.ts +6 -8
- package/src/families/stellar/specs.ts +1 -0
- package/src/families/stellar/speculos-deviceActions.ts +5 -11
- package/src/families/tezos/specs.ts +7 -5
- package/src/families/tezos/speculos-deviceActions.ts +9 -16
- package/src/families/tron/specs.ts +31 -3
- package/src/families/tron/speculos-deviceActions.ts +4 -12
- package/src/families/tron/{synchronisation.test.ts → synchronisation.integration.test.ts} +0 -0
- package/src/featureFlags/defaultFeatures.ts +6 -0
- package/src/hw/actions/installLanguage.ts +1 -1
- package/src/hw/extractOnboardingState.test.ts +29 -12
- package/src/hw/extractOnboardingState.ts +17 -9
- package/src/load/speculos.ts +42 -21
- package/src/manager/hooks.ts +6 -6
- package/src/manager/localization.ts +2 -2
- package/src/mock/account.ts +18 -20
- package/src/notifications/ServiceStatusProvider/index.tsx +8 -1
- package/src/postOnboarding/PostOnboardingProvider.tsx +49 -0
- package/src/postOnboarding/actions.ts +40 -0
- package/src/postOnboarding/hooks/index.ts +5 -0
- package/src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.ts +82 -0
- package/src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.ts +12 -0
- package/src/postOnboarding/hooks/usePostOnboardingContext.ts +9 -0
- package/src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.ts +83 -0
- package/src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.ts +22 -0
- package/src/postOnboarding/hooks/usePostOnboardingHubState.test.ts +184 -0
- package/src/postOnboarding/hooks/usePostOnboardingHubState.ts +56 -0
- package/src/postOnboarding/hooks/useStartPostOnboardingCallback.ts +38 -0
- package/src/postOnboarding/mock.ts +53 -0
- package/src/postOnboarding/reducer.test.ts +247 -0
- package/src/postOnboarding/reducer.ts +105 -0
- package/lib/families/tron/synchronisation.test.d.ts +0 -2
- package/lib/families/tron/synchronisation.test.d.ts.map +0 -1
- package/lib/families/tron/synchronisation.test.js.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.hidePostOnboardingWalletEntryPoint = exports.clearPostOnboardingLastActionCompleted = exports.setPostOnboardingActionCompleted = exports.initPostOnboarding = exports.importPostOnboardingState = void 0;
|
|
4
|
+
var importPostOnboardingState = function (_a) {
|
|
5
|
+
var newState = _a.newState;
|
|
6
|
+
return ({
|
|
7
|
+
type: "POST_ONBOARDING_IMPORT_STATE",
|
|
8
|
+
newState: newState
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
exports.importPostOnboardingState = importPostOnboardingState;
|
|
12
|
+
var initPostOnboarding = function (_a) {
|
|
13
|
+
var deviceModelId = _a.deviceModelId, actionsIds = _a.actionsIds;
|
|
14
|
+
return ({
|
|
15
|
+
type: "POST_ONBOARDING_INIT",
|
|
16
|
+
deviceModelId: deviceModelId,
|
|
17
|
+
actionsIds: actionsIds
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.initPostOnboarding = initPostOnboarding;
|
|
21
|
+
var setPostOnboardingActionCompleted = function (_a) {
|
|
22
|
+
var actionId = _a.actionId;
|
|
23
|
+
return ({
|
|
24
|
+
type: "POST_ONBOARDING_SET_ACTION_COMPLETED",
|
|
25
|
+
actionId: actionId
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.setPostOnboardingActionCompleted = setPostOnboardingActionCompleted;
|
|
29
|
+
var clearPostOnboardingLastActionCompleted = function () { return ({
|
|
30
|
+
type: "POST_ONBOARDING_CLEAR_LAST_ACTION_COMPLETED"
|
|
31
|
+
}); };
|
|
32
|
+
exports.clearPostOnboardingLastActionCompleted = clearPostOnboardingLastActionCompleted;
|
|
33
|
+
var hidePostOnboardingWalletEntryPoint = function () { return ({
|
|
34
|
+
type: "POST_ONBOARDING_HIDE_WALLET_ENTRY_POINT"
|
|
35
|
+
}); };
|
|
36
|
+
exports.hidePostOnboardingWalletEntryPoint = hidePostOnboardingWalletEntryPoint;
|
|
37
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/postOnboarding/actions.ts"],"names":[],"mappings":";;;AASO,IAAM,yBAAyB,GAEjC,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,CAAC;QACtB,IAAI,EAAE,8BAA8B;QACpC,QAAQ,UAAA;KACT,CAAC;AAHqB,CAGrB,CAAC;AALU,QAAA,yBAAyB,6BAKnC;AAEI,IAAM,kBAAkB,GAG1B,UAAC,EAA6B;QAA3B,aAAa,mBAAA,EAAE,UAAU,gBAAA;IAAO,OAAA,CAAC;QACvC,IAAI,EAAE,sBAAsB;QAC5B,aAAa,eAAA;QACb,UAAU,YAAA;KACX,CAAC;AAJsC,CAItC,CAAC;AAPU,QAAA,kBAAkB,sBAO5B;AAEI,IAAM,gCAAgC,GAExC,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,CAAC;QACtB,IAAI,EAAE,sCAAsC;QAC5C,QAAQ,UAAA;KACT,CAAC;AAHqB,CAGrB,CAAC;AALU,QAAA,gCAAgC,oCAK1C;AAEI,IAAM,sCAAsC,GACjD,cAAM,OAAA,CAAC;IACL,IAAI,EAAE,6CAA6C;CACpD,CAAC,EAFI,CAEJ,CAAC;AAHQ,QAAA,sCAAsC,0CAG9C;AAEE,IAAM,kCAAkC,GAAuB,cAAM,OAAA,CAAC;IAC3E,IAAI,EAAE,yCAAyC;CAChD,CAAC,EAF0E,CAE1E,CAAC;AAFU,QAAA,kCAAkC,sCAE5C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./useAllPostOnboardingActionsCompleted";
|
|
2
|
+
export * from "./usePostOnboardingContext";
|
|
3
|
+
export * from "./usePostOnboardingEntryPointVisibleOnWallet";
|
|
4
|
+
export * from "./usePostOnboardingHubState";
|
|
5
|
+
export * from "./useStartPostOnboardingCallback";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
__exportStar(require("./useAllPostOnboardingActionsCompleted"), exports);
|
|
18
|
+
__exportStar(require("./usePostOnboardingContext"), exports);
|
|
19
|
+
__exportStar(require("./usePostOnboardingEntryPointVisibleOnWallet"), exports);
|
|
20
|
+
__exportStar(require("./usePostOnboardingHubState"), exports);
|
|
21
|
+
__exportStar(require("./useStartPostOnboardingCallback"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,6DAA2C;AAC3C,+EAA6D;AAC7D,8DAA4C;AAC5C,mEAAiD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @returns a boolean representing whether all the post onboarding actions have
|
|
4
|
+
* been completed.
|
|
5
|
+
* TODO: unit test this
|
|
6
|
+
*/
|
|
7
|
+
export declare function useAllPostOnboardingActionsCompleted(): boolean;
|
|
8
|
+
//# sourceMappingURL=useAllPostOnboardingActionsCompleted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAllPostOnboardingActionsCompleted.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,OAAO,CAG9D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.useAllPostOnboardingActionsCompleted = void 0;
|
|
4
|
+
var usePostOnboardingHubState_1 = require("./usePostOnboardingHubState");
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @returns a boolean representing whether all the post onboarding actions have
|
|
8
|
+
* been completed.
|
|
9
|
+
* TODO: unit test this
|
|
10
|
+
*/
|
|
11
|
+
function useAllPostOnboardingActionsCompleted() {
|
|
12
|
+
var actionsState = (0, usePostOnboardingHubState_1.usePostOnboardingHubState)().actionsState;
|
|
13
|
+
return actionsState.every(function (action) { return action.completed; });
|
|
14
|
+
}
|
|
15
|
+
exports.useAllPostOnboardingActionsCompleted = useAllPostOnboardingActionsCompleted;
|
|
16
|
+
//# sourceMappingURL=useAllPostOnboardingActionsCompleted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAllPostOnboardingActionsCompleted.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAExE;;;;;GAKG;AACH,SAAgB,oCAAoC;IAC1C,IAAA,YAAY,GAAK,IAAA,qDAAyB,GAAE,aAAhC,CAAiC;IACrD,OAAO,YAAY,CAAC,KAAK,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,SAAS,EAAhB,CAAgB,CAAC,CAAC;AAC1D,CAAC;AAHD,oFAGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAllPostOnboardingActionsCompleted.test.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
exports.__esModule = true;
|
|
14
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
15
|
+
var useAllPostOnboardingActionsCompleted_1 = require("./useAllPostOnboardingActionsCompleted");
|
|
16
|
+
var mock_1 = require("../mock");
|
|
17
|
+
var usePostOnboardingHubState_1 = require("./usePostOnboardingHubState");
|
|
18
|
+
jest.mock("./usePostOnboardingHubState");
|
|
19
|
+
jest.mock("react-redux", function () { return ({}); });
|
|
20
|
+
var mockedUsePostOnboardingHubState = jest.mocked(usePostOnboardingHubState_1.usePostOnboardingHubState);
|
|
21
|
+
var mockedStateNoActions = {
|
|
22
|
+
deviceModelId: null,
|
|
23
|
+
lastActionCompleted: null,
|
|
24
|
+
actionsState: []
|
|
25
|
+
};
|
|
26
|
+
var mockedStateAllActionsCompleted = {
|
|
27
|
+
deviceModelId: null,
|
|
28
|
+
lastActionCompleted: null,
|
|
29
|
+
actionsState: [
|
|
30
|
+
__assign(__assign({}, mock_1.claimTestMock), { completed: true }),
|
|
31
|
+
__assign(__assign({}, mock_1.personalizeTestMock), { completed: true }),
|
|
32
|
+
__assign(__assign({}, mock_1.migrateAssetsTestMock), { completed: true }),
|
|
33
|
+
]
|
|
34
|
+
};
|
|
35
|
+
var mockedStateNoActionsCompleted = {
|
|
36
|
+
deviceModelId: null,
|
|
37
|
+
lastActionCompleted: null,
|
|
38
|
+
actionsState: [
|
|
39
|
+
__assign(__assign({}, mock_1.claimTestMock), { completed: false }),
|
|
40
|
+
__assign(__assign({}, mock_1.personalizeTestMock), { completed: false }),
|
|
41
|
+
__assign(__assign({}, mock_1.migrateAssetsTestMock), { completed: false }),
|
|
42
|
+
]
|
|
43
|
+
};
|
|
44
|
+
var mockedStateSomeActionsCompleted = {
|
|
45
|
+
deviceModelId: null,
|
|
46
|
+
lastActionCompleted: null,
|
|
47
|
+
actionsState: [
|
|
48
|
+
__assign(__assign({}, mock_1.claimTestMock), { completed: false }),
|
|
49
|
+
__assign(__assign({}, mock_1.personalizeTestMock), { completed: true }),
|
|
50
|
+
__assign(__assign({}, mock_1.migrateAssetsTestMock), { completed: false }),
|
|
51
|
+
]
|
|
52
|
+
};
|
|
53
|
+
describe("useAllPostOnboardingActionsCompleted", function () {
|
|
54
|
+
it("should return true if no actions are present", function () {
|
|
55
|
+
mockedUsePostOnboardingHubState.mockReturnValue(mockedStateNoActions);
|
|
56
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted)(); }).result;
|
|
57
|
+
expect(result.current).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
it("should return true if all actions are completed", function () {
|
|
60
|
+
mockedUsePostOnboardingHubState.mockReturnValue(mockedStateAllActionsCompleted);
|
|
61
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted)(); }).result;
|
|
62
|
+
expect(result.current).toBe(true);
|
|
63
|
+
});
|
|
64
|
+
it("should return false if some actions are completed", function () {
|
|
65
|
+
mockedUsePostOnboardingHubState.mockReturnValue(mockedStateSomeActionsCompleted);
|
|
66
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted)(); }).result;
|
|
67
|
+
expect(result.current).toBe(false);
|
|
68
|
+
});
|
|
69
|
+
it("should return false if no actions are completed", function () {
|
|
70
|
+
mockedUsePostOnboardingHubState.mockReturnValue(mockedStateNoActionsCompleted);
|
|
71
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted)(); }).result;
|
|
72
|
+
expect(result.current).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=useAllPostOnboardingActionsCompleted.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAllPostOnboardingActionsCompleted.test.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingContext.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingContext.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,wBAAgB,wBAAwB,IAAI,0BAA0B,CAErE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.usePostOnboardingContext = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var PostOnboardingProvider_1 = require("../PostOnboardingProvider");
|
|
6
|
+
function usePostOnboardingContext() {
|
|
7
|
+
return (0, react_1.useContext)(PostOnboardingProvider_1.PostOnboardingContext);
|
|
8
|
+
}
|
|
9
|
+
exports.usePostOnboardingContext = usePostOnboardingContext;
|
|
10
|
+
//# sourceMappingURL=usePostOnboardingContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingContext.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingContext.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AACnC,oEAGmC;AAEnC,SAAgB,wBAAwB;IACtC,OAAO,IAAA,kBAAU,EAAC,8CAAqB,CAAC,CAAC;AAC3C,CAAC;AAFD,4DAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @returns a boolean representing whether the post onboarding entry point
|
|
4
|
+
* should be visible on the wallet page.
|
|
5
|
+
* TODO: unit test this
|
|
6
|
+
*/
|
|
7
|
+
export declare function usePostOnboardingEntryPointVisibleOnWallet(): boolean;
|
|
8
|
+
//# sourceMappingURL=usePostOnboardingEntryPointVisibleOnWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingEntryPointVisibleOnWallet.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,0CAA0C,IAAI,OAAO,CAQpE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.usePostOnboardingEntryPointVisibleOnWallet = void 0;
|
|
4
|
+
var react_redux_1 = require("react-redux");
|
|
5
|
+
var reducer_1 = require("../reducer");
|
|
6
|
+
var useAllPostOnboardingActionsCompleted_1 = require("./useAllPostOnboardingActionsCompleted");
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @returns a boolean representing whether the post onboarding entry point
|
|
10
|
+
* should be visible on the wallet page.
|
|
11
|
+
* TODO: unit test this
|
|
12
|
+
*/
|
|
13
|
+
function usePostOnboardingEntryPointVisibleOnWallet() {
|
|
14
|
+
var deviceModelId = (0, react_redux_1.useSelector)(reducer_1.postOnboardingDeviceModelIdSelector);
|
|
15
|
+
var dismissed = (0, react_redux_1.useSelector)(reducer_1.walletPostOnboardingEntryPointDismissedSelector);
|
|
16
|
+
var allCompleted = (0, useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted)();
|
|
17
|
+
return !!deviceModelId && !(dismissed || allCompleted);
|
|
18
|
+
}
|
|
19
|
+
exports.usePostOnboardingEntryPointVisibleOnWallet = usePostOnboardingEntryPointVisibleOnWallet;
|
|
20
|
+
//# sourceMappingURL=usePostOnboardingEntryPointVisibleOnWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingEntryPointVisibleOnWallet.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,sCAGoB;AACpB,+FAA8F;AAE9F;;;;;GAKG;AACH,SAAgB,0CAA0C;IACxD,IAAM,aAAa,GAAG,IAAA,yBAAW,EAAC,6CAAmC,CAAC,CAAC;IACvE,IAAM,SAAS,GAAG,IAAA,yBAAW,EAC3B,yDAA+C,CAChD,CAAC;IACF,IAAM,YAAY,GAAG,IAAA,2EAAoC,GAAE,CAAC;IAE5D,OAAO,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;AACzD,CAAC;AARD,gGAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingEntryPointVisibleOnWallet.test.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
var reducer_1 = require("../reducer");
|
|
5
|
+
var useAllPostOnboardingActionsCompleted_1 = require("./useAllPostOnboardingActionsCompleted");
|
|
6
|
+
var usePostOnboardingEntryPointVisibleOnWallet_1 = require("./usePostOnboardingEntryPointVisibleOnWallet");
|
|
7
|
+
var types_devices_1 = require("@ledgerhq/types-devices");
|
|
8
|
+
jest.mock("react-redux", function () { return ({
|
|
9
|
+
useSelector: function (fun) { return fun(); }
|
|
10
|
+
}); });
|
|
11
|
+
jest.mock("../reducer");
|
|
12
|
+
jest.mock("./useAllPostOnboardingActionsCompleted");
|
|
13
|
+
var mockedUseAllCompleted = jest.mocked(useAllPostOnboardingActionsCompleted_1.useAllPostOnboardingActionsCompleted);
|
|
14
|
+
var mockedDismissedSelector = jest.mocked(reducer_1.walletPostOnboardingEntryPointDismissedSelector);
|
|
15
|
+
var mockedDeviceModelIdSelector = jest.mocked(reducer_1.postOnboardingDeviceModelIdSelector);
|
|
16
|
+
describe("usePostOnboardingEntryPointVisibleOnWallet", function () {
|
|
17
|
+
beforeEach(function () {
|
|
18
|
+
mockedUseAllCompleted.mockClear();
|
|
19
|
+
mockedDismissedSelector.mockClear();
|
|
20
|
+
mockedDeviceModelIdSelector.mockClear();
|
|
21
|
+
});
|
|
22
|
+
it("should be false if deviceModelId is null", function () {
|
|
23
|
+
mockedUseAllCompleted.mockReturnValue(false);
|
|
24
|
+
mockedDismissedSelector.mockReturnValue(false);
|
|
25
|
+
mockedDeviceModelIdSelector.mockReturnValue(null);
|
|
26
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
27
|
+
return (0, usePostOnboardingEntryPointVisibleOnWallet_1.usePostOnboardingEntryPointVisibleOnWallet)();
|
|
28
|
+
}).result;
|
|
29
|
+
expect(result.current).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
it("should be false if the the entry point HAS been dismissed", function () {
|
|
32
|
+
mockedDismissedSelector.mockReturnValue(true);
|
|
33
|
+
mockedDeviceModelIdSelector.mockReturnValue(types_devices_1.DeviceModelId.nanoX);
|
|
34
|
+
mockedUseAllCompleted.mockReturnValue(false);
|
|
35
|
+
var res1 = (0, react_hooks_1.renderHook)(function () {
|
|
36
|
+
return (0, usePostOnboardingEntryPointVisibleOnWallet_1.usePostOnboardingEntryPointVisibleOnWallet)();
|
|
37
|
+
}).result;
|
|
38
|
+
expect(res1.current).toBe(false);
|
|
39
|
+
mockedUseAllCompleted.mockReturnValue(true);
|
|
40
|
+
var res2 = (0, react_hooks_1.renderHook)(function () {
|
|
41
|
+
return (0, usePostOnboardingEntryPointVisibleOnWallet_1.usePostOnboardingEntryPointVisibleOnWallet)();
|
|
42
|
+
}).result;
|
|
43
|
+
expect(res2.current).toBe(false);
|
|
44
|
+
});
|
|
45
|
+
it("should be false if all actions are completed", function () {
|
|
46
|
+
mockedDismissedSelector.mockReturnValue(false);
|
|
47
|
+
mockedUseAllCompleted.mockReturnValue(true);
|
|
48
|
+
mockedDeviceModelIdSelector.mockReturnValue(types_devices_1.DeviceModelId.nanoX);
|
|
49
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
50
|
+
return (0, usePostOnboardingEntryPointVisibleOnWallet_1.usePostOnboardingEntryPointVisibleOnWallet)();
|
|
51
|
+
}).result;
|
|
52
|
+
expect(result.current).toBe(false);
|
|
53
|
+
});
|
|
54
|
+
it("should be true if the entry point HAS NOT been dismissed and all actions are NOT completed", function () {
|
|
55
|
+
mockedDismissedSelector.mockReturnValue(false);
|
|
56
|
+
mockedUseAllCompleted.mockReturnValue(false);
|
|
57
|
+
mockedDeviceModelIdSelector.mockReturnValue(types_devices_1.DeviceModelId.nanoX);
|
|
58
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
59
|
+
return (0, usePostOnboardingEntryPointVisibleOnWallet_1.usePostOnboardingEntryPointVisibleOnWallet)();
|
|
60
|
+
}).result;
|
|
61
|
+
expect(result.current).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=usePostOnboardingEntryPointVisibleOnWallet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingEntryPointVisibleOnWallet.test.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.ts"],"names":[],"mappings":";;AAAA,4DAA0D;AAC1D,sCAGoB;AACpB,+FAA8F;AAC9F,2GAA0G;AAC1G,yDAAwD;AAExD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAM,OAAA,CAAC;IAC9B,WAAW,EAAE,UAAC,GAAG,IAAK,OAAA,GAAG,EAAE,EAAL,CAAK;CAC5B,CAAC,EAF6B,CAE7B,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxB,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;AAEpD,IAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,2EAAoC,CAAC,CAAC;AAChF,IAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CACzC,yDAA+C,CAChD,CAAC;AACF,IAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAC7C,6CAAmC,CACpC,CAAC;AAEF,QAAQ,CAAC,4CAA4C,EAAE;IACrD,UAAU,CAAC;QACT,qBAAqB,CAAC,SAAS,EAAE,CAAC;QAClC,uBAAuB,CAAC,SAAS,EAAE,CAAC;QACpC,2BAA2B,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE;QAC7C,qBAAqB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7C,uBAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,2BAA2B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAA,MAAM,GAAK,IAAA,wBAAU,EAAC;YAC5B,OAAA,IAAA,uFAA0C,GAAE;QAA5C,CAA4C,CAC7C,OAFa,CAEZ;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE;QAC9D,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,2BAA2B,CAAC,eAAe,CAAC,6BAAa,CAAC,KAAK,CAAC,CAAC;QAEjE,qBAAqB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,IAAQ,IAAI,GAAK,IAAA,wBAAU,EAAC;YAClC,OAAA,IAAA,uFAA0C,GAAE;QAA5C,CAA4C,CAC7C,OAFmB,CAElB;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,IAAQ,IAAI,GAAK,IAAA,wBAAU,EAAC;YAClC,OAAA,IAAA,uFAA0C,GAAE;QAA5C,CAA4C,CAC7C,OAFmB,CAElB;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE;QACjD,uBAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE5C,2BAA2B,CAAC,eAAe,CAAC,6BAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAA,MAAM,GAAK,IAAA,wBAAU,EAAC;YAC5B,OAAA,IAAA,uFAA0C,GAAE;QAA5C,CAA4C,CAC7C,OAFa,CAEZ;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE;QAC/F,uBAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,qBAAqB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7C,2BAA2B,CAAC,eAAe,CAAC,6BAAa,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAA,MAAM,GAAK,IAAA,wBAAU,EAAC;YAC5B,OAAA,IAAA,uFAA0C,GAAE;QAA5C,CAA4C,CAC7C,OAFa,CAEZ;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PostOnboardingHubState } from "@ledgerhq/types-live";
|
|
2
|
+
/**
|
|
3
|
+
* @returns an object representing the state that should be rendered on the post
|
|
4
|
+
* onboarding hub screen.
|
|
5
|
+
*
|
|
6
|
+
* This takes feature flagging into account so the logic is
|
|
7
|
+
* resistant to flags getting enabled/disabled over time (for a given disabled
|
|
8
|
+
* feature flag, the actions pointing to it will be excluded).
|
|
9
|
+
* TODO: unit test this
|
|
10
|
+
* */
|
|
11
|
+
export declare function usePostOnboardingHubState(): PostOnboardingHubState;
|
|
12
|
+
//# sourceMappingURL=usePostOnboardingHubState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;;;;;;;KAQK;AACL,wBAAgB,yBAAyB,IAAI,sBAAsB,CAuClE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
exports.__esModule = true;
|
|
14
|
+
exports.usePostOnboardingHubState = void 0;
|
|
15
|
+
var react_redux_1 = require("react-redux");
|
|
16
|
+
var react_1 = require("react");
|
|
17
|
+
var featureFlags_1 = require("../../featureFlags");
|
|
18
|
+
var reducer_1 = require("../reducer");
|
|
19
|
+
var usePostOnboardingContext_1 = require("./usePostOnboardingContext");
|
|
20
|
+
/**
|
|
21
|
+
* @returns an object representing the state that should be rendered on the post
|
|
22
|
+
* onboarding hub screen.
|
|
23
|
+
*
|
|
24
|
+
* This takes feature flagging into account so the logic is
|
|
25
|
+
* resistant to flags getting enabled/disabled over time (for a given disabled
|
|
26
|
+
* feature flag, the actions pointing to it will be excluded).
|
|
27
|
+
* TODO: unit test this
|
|
28
|
+
* */
|
|
29
|
+
function usePostOnboardingHubState() {
|
|
30
|
+
var hubState = (0, react_redux_1.useSelector)(reducer_1.hubStateSelector);
|
|
31
|
+
var postOnboardingContext = (0, usePostOnboardingContext_1.usePostOnboardingContext)();
|
|
32
|
+
var getPostOnboardingAction = postOnboardingContext.getPostOnboardingAction;
|
|
33
|
+
var getFeature = (0, featureFlags_1.useFeatureFlags)().getFeature;
|
|
34
|
+
return (0, react_1.useMemo)(function () {
|
|
35
|
+
var _a;
|
|
36
|
+
if (!getPostOnboardingAction)
|
|
37
|
+
return {
|
|
38
|
+
deviceModelId: hubState.deviceModelId,
|
|
39
|
+
lastActionCompleted: null,
|
|
40
|
+
actionsState: []
|
|
41
|
+
};
|
|
42
|
+
var actionsState = hubState.actionsToComplete
|
|
43
|
+
.map(function (actionId) { return (__assign(__assign({}, getPostOnboardingAction(actionId)), { completed: !!hubState.actionsCompleted[actionId] })); })
|
|
44
|
+
.filter(function (actionWithState) {
|
|
45
|
+
var _a;
|
|
46
|
+
return !actionWithState.featureFlagId ||
|
|
47
|
+
((_a = getFeature(actionWithState.featureFlagId)) === null || _a === void 0 ? void 0 : _a.enabled);
|
|
48
|
+
});
|
|
49
|
+
var lastActionCompleted = hubState.lastActionCompleted
|
|
50
|
+
? getPostOnboardingAction(hubState.lastActionCompleted)
|
|
51
|
+
: null;
|
|
52
|
+
var isLastActionCompletedEnabled = lastActionCompleted &&
|
|
53
|
+
(!lastActionCompleted.featureFlagId ||
|
|
54
|
+
((_a = getFeature(lastActionCompleted.featureFlagId)) === null || _a === void 0 ? void 0 : _a.enabled));
|
|
55
|
+
return {
|
|
56
|
+
deviceModelId: hubState.deviceModelId,
|
|
57
|
+
lastActionCompleted: isLastActionCompletedEnabled
|
|
58
|
+
? lastActionCompleted
|
|
59
|
+
: null,
|
|
60
|
+
actionsState: actionsState
|
|
61
|
+
};
|
|
62
|
+
}, [getFeature, hubState, getPostOnboardingAction]);
|
|
63
|
+
}
|
|
64
|
+
exports.usePostOnboardingHubState = usePostOnboardingHubState;
|
|
65
|
+
//# sourceMappingURL=usePostOnboardingHubState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,+BAAgC;AAEhC,mDAAqD;AACrD,sCAA8C;AAC9C,uEAAsE;AAEtE;;;;;;;;KAQK;AACL,SAAgB,yBAAyB;IACvC,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,0BAAgB,CAAC,CAAC;IAC/C,IAAM,qBAAqB,GAAG,IAAA,mDAAwB,GAAE,CAAC;IACjD,IAAA,uBAAuB,GAAK,qBAAqB,wBAA1B,CAA2B;IAClD,IAAA,UAAU,GAAK,IAAA,8BAAe,GAAE,WAAtB,CAAuB;IACzC,OAAO,IAAA,eAAO,EAAC;;QACb,IAAI,CAAC,uBAAuB;YAC1B,OAAO;gBACL,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,mBAAmB,EAAE,IAAI;gBACzB,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,IAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB;aAC5C,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,uBACd,uBAAuB,CAAC,QAAQ,CAAC,KACpC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAChD,EAHiB,CAGjB,CAAC;aACF,MAAM,CACL,UAAC,eAAe;;YACd,OAAA,CAAC,eAAe,CAAC,aAAa;iBAC9B,MAAA,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,0CAAE,OAAO,CAAA,CAAA;SAAA,CACrD,CAAC;QACJ,IAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB;YACtD,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,4BAA4B,GAChC,mBAAmB;YACnB,CAAC,CAAC,mBAAmB,CAAC,aAAa;iBACjC,MAAA,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,0CAAE,OAAO,CAAA,CAAC,CAAC;QAE5D,OAAO;YACL,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,mBAAmB,EAAE,4BAA4B;gBAC/C,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,IAAI;YACR,YAAY,cAAA;SACb,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACtD,CAAC;AAvCD,8DAuCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.test.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var featureFlags_1 = require("../../featureFlags");
|
|
5
|
+
var reducer_1 = require("../reducer");
|
|
6
|
+
var usePostOnboardingContext_1 = require("./usePostOnboardingContext");
|
|
7
|
+
var mock_1 = require("../mock");
|
|
8
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
9
|
+
var types_devices_1 = require("@ledgerhq/types-devices");
|
|
10
|
+
var types_live_1 = require("@ledgerhq/types-live");
|
|
11
|
+
var usePostOnboardingHubState_1 = require("./usePostOnboardingHubState");
|
|
12
|
+
jest.mock("react-redux", function () { return ({
|
|
13
|
+
useSelector: function (val) { return val(); }
|
|
14
|
+
}); });
|
|
15
|
+
jest.mock("../../featureFlags");
|
|
16
|
+
jest.mock("./usePostOnboardingContext");
|
|
17
|
+
jest.mock("../reducer");
|
|
18
|
+
var mockedUseFeatureFlags = jest.mocked(featureFlags_1.useFeatureFlags);
|
|
19
|
+
var mockedGetFeatureWithMockFeatureEnabled = function (enabled) { return ({
|
|
20
|
+
getFeature: function (id) {
|
|
21
|
+
if (id === mock_1.mockedFeatureIdToTest)
|
|
22
|
+
return { enabled: enabled };
|
|
23
|
+
return { enabled: true };
|
|
24
|
+
},
|
|
25
|
+
overrideFeature: function () { },
|
|
26
|
+
resetFeature: function () { }
|
|
27
|
+
}); };
|
|
28
|
+
var mockedUsePostOnboardingContext = jest.mocked(usePostOnboardingContext_1.usePostOnboardingContext);
|
|
29
|
+
var mockedHubStateSelector = jest.mocked(reducer_1.hubStateSelector);
|
|
30
|
+
var defaultHubState = {
|
|
31
|
+
deviceModelId: types_devices_1.DeviceModelId.nanoX,
|
|
32
|
+
actionsToComplete: [],
|
|
33
|
+
actionsCompleted: {},
|
|
34
|
+
lastActionCompleted: null
|
|
35
|
+
};
|
|
36
|
+
var stateAllCompleted = {
|
|
37
|
+
deviceModelId: types_devices_1.DeviceModelId.nanoX,
|
|
38
|
+
actionsToComplete: [
|
|
39
|
+
types_live_1.PostOnboardingActionId.claimMock,
|
|
40
|
+
types_live_1.PostOnboardingActionId.personalizeMock,
|
|
41
|
+
types_live_1.PostOnboardingActionId.migrateAssetsMock,
|
|
42
|
+
],
|
|
43
|
+
actionsCompleted: (_a = {},
|
|
44
|
+
_a[types_live_1.PostOnboardingActionId.claimMock] = true,
|
|
45
|
+
_a[types_live_1.PostOnboardingActionId.personalizeMock] = true,
|
|
46
|
+
_a[types_live_1.PostOnboardingActionId.migrateAssetsMock] = true,
|
|
47
|
+
_a),
|
|
48
|
+
lastActionCompleted: types_live_1.PostOnboardingActionId.personalizeMock
|
|
49
|
+
};
|
|
50
|
+
var stateAllNotCompleted = {
|
|
51
|
+
deviceModelId: types_devices_1.DeviceModelId.nanoX,
|
|
52
|
+
actionsToComplete: [
|
|
53
|
+
types_live_1.PostOnboardingActionId.claimMock,
|
|
54
|
+
types_live_1.PostOnboardingActionId.personalizeMock,
|
|
55
|
+
types_live_1.PostOnboardingActionId.migrateAssetsMock,
|
|
56
|
+
],
|
|
57
|
+
actionsCompleted: (_b = {},
|
|
58
|
+
_b[types_live_1.PostOnboardingActionId.claimMock] = false,
|
|
59
|
+
_b[types_live_1.PostOnboardingActionId.personalizeMock] = false,
|
|
60
|
+
_b[types_live_1.PostOnboardingActionId.migrateAssetsMock] = false,
|
|
61
|
+
_b),
|
|
62
|
+
lastActionCompleted: null
|
|
63
|
+
};
|
|
64
|
+
describe("usePostOnboardingHubState", function () {
|
|
65
|
+
beforeEach(function () {
|
|
66
|
+
mockedUseFeatureFlags.mockReturnValue(mockedGetFeatureWithMockFeatureEnabled(true));
|
|
67
|
+
mockedUsePostOnboardingContext.mockReturnValue({
|
|
68
|
+
getPostOnboardingActionsForDevice: function () { return []; },
|
|
69
|
+
navigateToPostOnboardingHub: function () { },
|
|
70
|
+
getPostOnboardingAction: mock_1.getPostOnboardingAction
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
it("should return an empty state if the context isn't properly set (`getPostOnboardingAction` missing)", function () {
|
|
74
|
+
var state = stateAllCompleted;
|
|
75
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
76
|
+
mockedUsePostOnboardingContext.mockReturnValue({
|
|
77
|
+
getPostOnboardingActionsForDevice: function () { return []; },
|
|
78
|
+
navigateToPostOnboardingHub: function () { },
|
|
79
|
+
getPostOnboardingAction: undefined
|
|
80
|
+
});
|
|
81
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result;
|
|
82
|
+
expect(result.current).toEqual({
|
|
83
|
+
deviceModelId: state.deviceModelId,
|
|
84
|
+
lastActionCompleted: null,
|
|
85
|
+
actionsState: []
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
it("should return an empty state if the store is in an empty state", function () {
|
|
89
|
+
var state = defaultHubState;
|
|
90
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
91
|
+
var result = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result;
|
|
92
|
+
expect(result.current).toEqual({
|
|
93
|
+
deviceModelId: state.deviceModelId,
|
|
94
|
+
lastActionCompleted: null,
|
|
95
|
+
actionsState: []
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
it("should not return actions that have a disabled feature flag ", function () {
|
|
99
|
+
var state = stateAllCompleted;
|
|
100
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
101
|
+
mockedUseFeatureFlags.mockReturnValue(mockedGetFeatureWithMockFeatureEnabled(false));
|
|
102
|
+
var _a = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result.current, actionsState = _a.actionsState, lastActionCompleted = _a.lastActionCompleted;
|
|
103
|
+
expect(actionsState.find(function (action) { return action.featureFlagId === mock_1.mockedFeatureIdToTest; })).toBe(undefined);
|
|
104
|
+
expect(lastActionCompleted).toBe(null);
|
|
105
|
+
});
|
|
106
|
+
it("should return actions that have a feature flag enabled", function () {
|
|
107
|
+
var state = stateAllCompleted;
|
|
108
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
109
|
+
mockedUseFeatureFlags.mockReturnValue(mockedGetFeatureWithMockFeatureEnabled(true));
|
|
110
|
+
var _a = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result.current, actionsState = _a.actionsState, lastActionCompleted = _a.lastActionCompleted;
|
|
111
|
+
expect(actionsState.find(function (action) { return action.featureFlagId === mock_1.mockedFeatureIdToTest; })).toBeTruthy();
|
|
112
|
+
expect(lastActionCompleted).toBeTruthy();
|
|
113
|
+
});
|
|
114
|
+
it("should return actions in their correct state (all actions completed)", function () {
|
|
115
|
+
var state = stateAllCompleted;
|
|
116
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
117
|
+
mockedUseFeatureFlags.mockReturnValue(mockedGetFeatureWithMockFeatureEnabled(true));
|
|
118
|
+
var actionsState = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result.current.actionsState;
|
|
119
|
+
expect(actionsState.every(function (action) { return action.completed; })).toBe(true);
|
|
120
|
+
});
|
|
121
|
+
it("should return actions in their correct state (no actions completed)", function () {
|
|
122
|
+
var state = stateAllNotCompleted;
|
|
123
|
+
mockedHubStateSelector.mockReturnValue(state);
|
|
124
|
+
mockedUseFeatureFlags.mockReturnValue(mockedGetFeatureWithMockFeatureEnabled(true));
|
|
125
|
+
var actionsState = (0, react_hooks_1.renderHook)(function () { return (0, usePostOnboardingHubState_1.usePostOnboardingHubState)(); }).result.current.actionsState;
|
|
126
|
+
expect(actionsState.every(function (action) { return action.completed; })).toBe(false);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=usePostOnboardingHubState.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.test.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/types-devices";
|
|
2
|
+
/**
|
|
3
|
+
* Use this to initialize AND navigate to the post onboarding hub for a given
|
|
4
|
+
* device model.
|
|
5
|
+
*
|
|
6
|
+
* @param deviceModelId
|
|
7
|
+
* @returns a function that can be called to initialize the post
|
|
8
|
+
* onboarding for the given device model and navigate to the post onboarding
|
|
9
|
+
* hub.
|
|
10
|
+
* TODO: unit test this
|
|
11
|
+
*/
|
|
12
|
+
export declare function useStartPostOnboardingCallback(deviceModelId: DeviceModelId, mock?: boolean): () => void;
|
|
13
|
+
//# sourceMappingURL=useStartPostOnboardingCallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStartPostOnboardingCallback.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/useStartPostOnboardingCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,IAAI,UAAQ,GACX,MAAM,IAAI,CAkBZ"}
|