Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions test/integration/onboarding/import-wallet.test.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import React from 'react';
import { waitFor } from '@testing-library/react';
import nock from 'nock';
import mockMetaMaskState from '../data/onboarding-completion-route.json';
Expand All @@ -23,6 +24,33 @@ jest.mock('../../../ui/ducks/bridge/actions', () => ({
...jest.requireActual('../../../ui/ducks/bridge/actions'),
}));

jest.mock(
'../../../ui/pages/onboarding-flow/welcome/fox-appear-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="fox-appear-animation" />,
}),
);

jest.mock(
'../../../ui/pages/onboarding-flow/welcome/metamask-wordmark-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="metamask-wordmark-animation" />,
}),
);

jest.mock(
'../../../ui/pages/onboarding-flow/creation-successful/wallet-ready-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="wallet-ready-animation" />,
}),
);

const mockedBackgroundConnection = jest.mocked(backgroundConnection);

const backgroundConnectionMocked = {
Expand Down
28 changes: 28 additions & 0 deletions test/integration/onboarding/wallet-created.test.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import React from 'react';
import { waitFor } from '@testing-library/react';
import nock from 'nock';
import mockMetaMaskState from '../data/onboarding-completion-route.json';
Expand All @@ -23,6 +24,33 @@ jest.mock('../../../ui/ducks/bridge/actions', () => ({
...jest.requireActual('../../../ui/ducks/bridge/actions'),
}));

jest.mock(
'../../../ui/pages/onboarding-flow/welcome/fox-appear-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="fox-appear-animation" />,
}),
);

jest.mock(
'../../../ui/pages/onboarding-flow/welcome/metamask-wordmark-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="metamask-wordmark-animation" />,
}),
);

jest.mock(
'../../../ui/pages/onboarding-flow/creation-successful/wallet-ready-animation',
() => ({
// eslint-disable-next-line @typescript-eslint/naming-convention
__esModule: true,
default: () => <div data-testid="wallet-ready-animation" />,
}),
);

const mockedBackgroundConnection = jest.mocked(backgroundConnection);

const backgroundConnectionMocked = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ const ShieldIllustrationAnimation = ({
containerClassName?: string;
canvasClassName?: string;
}) => {
const isTestEnvironment = Boolean(process.env.IN_TEST);
const context = useRiveWasmContext();
const { isWasmReady, error: wasmError } = context;
const {
Expand Down Expand Up @@ -80,7 +79,6 @@ const ShieldIllustrationAnimation = ({
bufferLoading ||
!buffer ||
status === 'loading' ||
isTestEnvironment ||
status === 'failed'
) {
return <Box className={containerClassName}></Box>;
Expand Down
5 changes: 2 additions & 3 deletions ui/contexts/rive-wasm/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,16 @@ import { useAsyncResult } from '../../hooks/useAsync';
// WASM file URL - the file is copied to dist/chrome/images/ by the build process
// We don't import it as a module to avoid browserify resolution issues
const RIVE_WASM_URL = './images/riv_animations/rive.wasm';
const isTestEnvironment = Boolean(process.env.IN_TEST);

export const useRiveWasmReady = () => {
const [isWasmReady, setIsWasmReady] = useState(isTestEnvironment);
const [isWasmReady, setIsWasmReady] = useState(false);

const result = useAsyncResult(async () => {
if (isWasmReady) {
return true;
}

if (isTestEnvironment || typeof RuntimeLoader === 'undefined') {
if (typeof RuntimeLoader === 'undefined') {
setIsWasmReady(true);
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ const ShieldIconAnimation = ({
severity?: AlertSeverity;
playAnimation?: boolean;
}) => {
const isTestEnvironment = Boolean(process.env.IN_TEST);
const context = useRiveWasmContext();
const { isWasmReady, error: wasmError } = context;
const {
Expand Down Expand Up @@ -173,7 +172,6 @@ const ShieldIconAnimation = ({
bufferLoading ||
!buffer ||
status === 'loading' ||
isTestEnvironment ||
status === 'failed'
) {
return <Box className="riv-animation__shield-icon-container"></Box>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ export default function CreationSuccessful() {
);
const trackEvent = useContext(MetaMetricsContext);
const firstTimeFlowType = useSelector(getFirstTimeFlowType);
const isTestEnvironment = Boolean(process.env.IN_TEST);
const isSidePanelEnabled = useSidePanelEnabled();

const learnMoreLink =
Expand Down Expand Up @@ -291,9 +290,7 @@ export default function CreationSuccessful() {
{renderSettingsActions}
</Box>
)}
{!isFromSettingsSRPBackup && !isTestEnvironment && (
<WalletReadyAnimation />
)}
{!isFromSettingsSRPBackup && <WalletReadyAnimation />}
{!isFromSettingsSRPBackup && (
<Text className="title">{t('yourWalletIsReady')}</Text>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import {
// eslint-disable-next-line @typescript-eslint/naming-convention
export default function WalletReadyAnimation() {
const theme = useTheme();
const isTestEnvironment = Boolean(process.env.IN_TEST);
const context = useRiveWasmContext();
const { isWasmReady, error: wasmError } = context;
const {
Expand Down Expand Up @@ -84,7 +83,6 @@ export default function WalletReadyAnimation() {
bufferLoading ||
!buffer ||
status === 'loading' ||
isTestEnvironment ||
status === 'failed'
) {
return <Box className="riv-animation__wallet-ready-container"></Box>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ exports[`Welcome Page render matches snapshot 1`] = `
<div
class="mm-box welcome-container mm-box--display-flex mm-box--flex-direction-column mm-box--justify-content-center mm-box--align-items-center mm-box--width-full mm-box--height-full"
>
<div
class="mm-box"
/>
<div
class="mm-box welcome-login"
data-testid="get-started"
style="opacity: 1; transform: translateY(0) scale(1); transition: opacity 0.6s ease-out, transform 0.6s ease-out;"
style="opacity: 0; transform: translateY(80px) scale(0.8); transition: opacity 0.6s ease-out, transform 0.6s ease-out;"
>
<div
class="mm-box mm-box--display-flex mm-box--gap-4 mm-box--flex-direction-column mm-box--width-full"
Expand Down
5 changes: 1 addition & 4 deletions ui/pages/onboarding-flow/welcome/fox-appear-animation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ export default function FoxAppearAnimation({
isLoader = false,
skipTransition = false,
}: FoxAppearAnimationProps) {
const isTestEnvironment = Boolean(process.env.IN_TEST);

const context = useRiveWasmContext();
const { isWasmReady, error: wasmError } = context;
const {
Expand Down Expand Up @@ -108,8 +106,7 @@ export default function FoxAppearAnimation({
bufferLoading ||
!buffer ||
status === 'loading' ||
status === 'failed' ||
isTestEnvironment
status === 'failed'
) {
return (
<Box
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ export default function MetamaskWordMarkAnimation({
}: MetamaskWordMarkAnimationProps) {
const animationTimeoutRef = useRef<NodeJS.Timeout | null>(null);
const theme = useTheme();
const isTestEnvironment = Boolean(process.env.IN_TEST);
const context = useRiveWasmContext();
const { isWasmReady, error: wasmError, setIsAnimationCompleted } = context;
const {
Expand Down Expand Up @@ -140,7 +139,6 @@ export default function MetamaskWordMarkAnimation({
!isWasmReady ||
bufferLoading ||
!buffer ||
isTestEnvironment ||
status === 'loading' ||
status === 'failed'
) {
Expand Down
12 changes: 5 additions & 7 deletions ui/pages/onboarding-flow/welcome/welcome.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,15 @@ export default function OnboardingWelcome() {

const [isLoggingIn, setIsLoggingIn] = useState(false);
const [loginError, setLoginError] = useState(null);
const isTestEnvironment = Boolean(process.env.IN_TEST);

const { animationCompleted } = useRiveWasmContext();
const shouldSkipAnimation = Boolean(
animationCompleted?.MetamaskWordMarkAnimation,
);

// In test environments or when returning from another page, skip animations
const [isAnimationComplete, setIsAnimationComplete] = useState(
isTestEnvironment || shouldSkipAnimation,
);
const [isAnimationComplete, setIsAnimationComplete] =
useState(shouldSkipAnimation);

const isFireFox = getBrowserName() === PLATFORM_FIREFOX;
// Don't allow users to come back to this screen after they
Expand Down Expand Up @@ -424,7 +422,7 @@ export default function OnboardingWelcome() {
width={BlockSize.Full}
className="welcome-container"
>
{!isLoggingIn && !isTestEnvironment && (
{!isLoggingIn && (
<Suspense fallback={<Box />}>
<MetaMaskWordMarkAnimation
setIsAnimationComplete={setIsAnimationComplete}
Expand All @@ -442,7 +440,7 @@ export default function OnboardingWelcome() {
skipTransition={shouldSkipAnimation}
/>

{!isTestEnvironment && isAnimationComplete && (
{isAnimationComplete && (
<Suspense fallback={<Box />}>
<FoxAppearAnimation skipTransition={shouldSkipAnimation} />
</Suspense>
Expand All @@ -457,7 +455,7 @@ export default function OnboardingWelcome() {
</>
)}

{!isTestEnvironment && isLoggingIn && (
{isLoggingIn && (
<Suspense fallback={<Box />}>
<FoxAppearAnimation isLoader />
</Suspense>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ const ShieldSubscriptionIconAnimation = ({
containerClassName?: string;
canvasClassName?: string;
}) => {
const isTestEnvironment = Boolean(process.env.IN_TEST);
const context = useRiveWasmContext();
const { isWasmReady, error: wasmError } = context;
const {
Expand Down Expand Up @@ -91,7 +90,6 @@ const ShieldSubscriptionIconAnimation = ({
bufferLoading ||
!buffer ||
status === 'loading' ||
isTestEnvironment ||
status === 'failed'
) {
return <Box className={containerClassName}></Box>;
Expand Down
3 changes: 3 additions & 0 deletions ui/pages/unlock-page/__snapshots__/unlock-page.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ exports[`Unlock Page should match snapshot 1`] = `
</p>
</div>
</form>
<div
class="mm-box"
/>
</div>
</div>
`;
3 changes: 1 addition & 2 deletions ui/pages/unlock-page/unlock-page.component.js
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,6 @@ class UnlockPage extends Component {

const needHelpText = t('needHelpLinkText');
const isRehydrationFlow = isSocialLoginFlow && !isOnboardingCompleted;
const isTestEnvironment = Boolean(process.env.IN_TEST);

return (
<Box
Expand Down Expand Up @@ -675,7 +674,7 @@ class UnlockPage extends Component {
</Text>
</Box>
</Box>
{!isTestEnvironment && !isRehydrationFlow && (
{!isRehydrationFlow && (
<Suspense fallback={<Box />}>
<FoxAppearAnimation />
</Suspense>
Expand Down
5 changes: 5 additions & 0 deletions ui/pages/unlock-page/unlock-page.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ jest.mock('../../contexts/navigation-state', () => ({
NavigationStateProvider: ({ children }) => children,
}));

jest.mock('../onboarding-flow/welcome/fox-appear-animation', () => ({
__esModule: true,
default: () => <div data-testid="fox-appear-animation" />,
}));

const mockTryUnlockMetamask = jest.fn(() => {
return async () => {
return Promise.resolve();
Expand Down
Loading