mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-08 05:03:56 -05:00
* INJIMOB-3246 Code coverage for Inji-Wallet repo increase above 5% Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * INJIMOB-3246: added snapshot tests and coverage increased to +4% Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * removed duplicated lines Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * Added updateCredentialInformation tests Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * added code rabbit changes Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * removed platform-specific tests without mocking Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> * standardize mocks in VcItemContainerProfileImage tests Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com> --------- Signed-off-by: Kaushik Gupta <kausgpt97@gmail.com>
84 lines
2.4 KiB
TypeScript
84 lines
2.4 KiB
TypeScript
import React from 'react';
|
|
import {render} from '@testing-library/react-native';
|
|
import {DualMessageOverlay} from './DualMessageOverlay';
|
|
import {Text} from 'react-native';
|
|
|
|
// Mock react-native-elements
|
|
jest.mock('react-native-elements', () => ({
|
|
Overlay: ({children}: {children: React.ReactNode}) => <>{children}</>,
|
|
Button: jest.fn(({title}) => <>{title}</>),
|
|
}));
|
|
|
|
// Mock ui components
|
|
jest.mock('./ui', () => ({
|
|
Button: jest.fn(
|
|
({title, children}: {title?: string; children?: React.ReactNode}) => (
|
|
<>{title || children}</>
|
|
),
|
|
),
|
|
Column: ({children}: {children: React.ReactNode}) => <>{children}</>,
|
|
Row: ({children}: {children: React.ReactNode}) => <>{children}</>,
|
|
Text: ({children}: {children: React.ReactNode}) => <>{children}</>,
|
|
}));
|
|
|
|
describe('DualMessageOverlay Component', () => {
|
|
const defaultProps = {
|
|
isVisible: true,
|
|
title: 'Confirm Action',
|
|
message: 'Are you sure you want to proceed?',
|
|
};
|
|
|
|
it('should match snapshot with title and message', () => {
|
|
const {toJSON} = render(<DualMessageOverlay {...defaultProps} />);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with both buttons', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay
|
|
{...defaultProps}
|
|
onTryAgain={jest.fn()}
|
|
onIgnore={jest.fn()}
|
|
/>,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with only try again button', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay {...defaultProps} onTryAgain={jest.fn()} />,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with only ignore button', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay {...defaultProps} onIgnore={jest.fn()} />,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with hint text', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay {...defaultProps} hint="Additional information" />,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with custom height', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay {...defaultProps} customHeight={300} />,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
|
|
it('should match snapshot with children', () => {
|
|
const {toJSON} = render(
|
|
<DualMessageOverlay {...defaultProps}>
|
|
<Text>Custom content here</Text>
|
|
</DualMessageOverlay>,
|
|
);
|
|
expect(toJSON()).toMatchSnapshot();
|
|
});
|
|
});
|