Skip to content

Commit e5a13b5

Browse files
committed
chore: test update
1 parent ec2cb3e commit e5a13b5

1 file changed

Lines changed: 72 additions & 12 deletions

File tree

app/components/Views/WhatsHappeningDetailView/components/WhatsHappeningExpandedCard.test.tsx

Lines changed: 72 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@ import Routes from '../../../../constants/navigation/Routes';
88
const mockNavigate = jest.fn();
99
const mockGoToBuy = jest.fn();
1010

11+
jest.mock('../../../hooks/useAnalytics/useAnalytics', () => ({
12+
useAnalytics: () => ({
13+
trackEvent: jest.fn(),
14+
createEventBuilder: jest.fn((eventName: string) => ({
15+
addProperties: jest.fn(() => ({
16+
build: jest.fn(() => ({ category: eventName })),
17+
})),
18+
build: jest.fn(() => ({ category: eventName })),
19+
})),
20+
}),
21+
}));
22+
1123
jest.mock('@react-navigation/native', () => {
1224
const actual = jest.requireActual('@react-navigation/native');
1325
return {
@@ -78,31 +90,47 @@ describe('WhatsHappeningExpandedCard', () => {
7890

7991
it('renders the title and description', () => {
8092
renderWithProvider(
81-
<WhatsHappeningExpandedCard item={baseItem} cardWidth={CARD_WIDTH} />,
93+
<WhatsHappeningExpandedCard
94+
item={baseItem}
95+
cardIndex={0}
96+
cardWidth={CARD_WIDTH}
97+
/>,
8298
);
8399
expect(screen.getByText(baseItem.title)).toBeOnTheScreen();
84100
expect(screen.getByText(baseItem.description)).toBeOnTheScreen();
85101
});
86102

87103
it('renders the impact badge for positive impact', () => {
88104
renderWithProvider(
89-
<WhatsHappeningExpandedCard item={baseItem} cardWidth={CARD_WIDTH} />,
105+
<WhatsHappeningExpandedCard
106+
item={baseItem}
107+
cardIndex={0}
108+
cardWidth={CARD_WIDTH}
109+
/>,
90110
);
91111
expect(screen.getByText('Bullish')).toBeOnTheScreen();
92112
});
93113

94114
it('renders Neutral badge when impact is explicitly neutral', () => {
95115
const item = { ...baseItem, impact: 'neutral' as const };
96116
renderWithProvider(
97-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
117+
<WhatsHappeningExpandedCard
118+
item={item}
119+
cardIndex={0}
120+
cardWidth={CARD_WIDTH}
121+
/>,
98122
);
99123
expect(screen.getByText('Neutral')).toBeOnTheScreen();
100124
});
101125

102126
it('does not render an impact badge when impact is undefined', () => {
103127
const item = { ...baseItem, impact: undefined };
104128
renderWithProvider(
105-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
129+
<WhatsHappeningExpandedCard
130+
item={item}
131+
cardIndex={0}
132+
cardWidth={CARD_WIDTH}
133+
/>,
106134
);
107135
expect(screen.queryByText('Neutral')).toBeNull();
108136
expect(screen.queryByText('Bullish')).toBeNull();
@@ -112,7 +140,11 @@ describe('WhatsHappeningExpandedCard', () => {
112140
it('renders Tokens section when assets have caip19', () => {
113141
const item = { ...baseItem, relatedAssets: [tokenAsset] };
114142
renderWithProvider(
115-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
143+
<WhatsHappeningExpandedCard
144+
item={item}
145+
cardIndex={0}
146+
cardWidth={CARD_WIDTH}
147+
/>,
116148
);
117149
expect(screen.getByText('Tokens')).toBeOnTheScreen();
118150
expect(screen.getByText('BTC')).toBeOnTheScreen();
@@ -122,7 +154,11 @@ describe('WhatsHappeningExpandedCard', () => {
122154
it('does not render Tokens section when no assets have caip19', () => {
123155
const item = { ...baseItem, relatedAssets: [perpsOnlyAsset] };
124156
renderWithProvider(
125-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
157+
<WhatsHappeningExpandedCard
158+
item={item}
159+
cardIndex={0}
160+
cardWidth={CARD_WIDTH}
161+
/>,
126162
);
127163
expect(screen.queryByText('Tokens')).toBeNull();
128164
expect(screen.queryByText('Buy')).toBeNull();
@@ -131,7 +167,11 @@ describe('WhatsHappeningExpandedCard', () => {
131167
it('renders Perps section when assets have hlPerpsMarket', () => {
132168
const item = { ...baseItem, relatedAssets: [perpsOnlyAsset] };
133169
renderWithProvider(
134-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
170+
<WhatsHappeningExpandedCard
171+
item={item}
172+
cardIndex={0}
173+
cardWidth={CARD_WIDTH}
174+
/>,
135175
);
136176
expect(screen.getByText('Perps')).toBeOnTheScreen();
137177
expect(screen.getByText('TSLA')).toBeOnTheScreen();
@@ -141,7 +181,11 @@ describe('WhatsHappeningExpandedCard', () => {
141181
it('does not render Perps section when no assets have hlPerpsMarket', () => {
142182
const item = { ...baseItem, relatedAssets: [tokenAsset] };
143183
renderWithProvider(
144-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
184+
<WhatsHappeningExpandedCard
185+
item={item}
186+
cardIndex={0}
187+
cardWidth={CARD_WIDTH}
188+
/>,
145189
);
146190
expect(screen.queryByText('Perps')).toBeNull();
147191
expect(screen.queryByText('Trade')).toBeNull();
@@ -150,7 +194,11 @@ describe('WhatsHappeningExpandedCard', () => {
150194
it('renders both Tokens and Perps sections when there are separate token and perps-only assets', () => {
151195
const item = { ...baseItem, relatedAssets: [tokenAsset, perpsOnlyAsset] };
152196
renderWithProvider(
153-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
197+
<WhatsHappeningExpandedCard
198+
item={item}
199+
cardIndex={0}
200+
cardWidth={CARD_WIDTH}
201+
/>,
154202
);
155203
expect(screen.getByText('Tokens')).toBeOnTheScreen();
156204
expect(screen.getByText('Perps')).toBeOnTheScreen();
@@ -161,7 +209,11 @@ describe('WhatsHappeningExpandedCard', () => {
161209
it('does not duplicate a dual asset (caip19 + hlPerpsMarket) into the Perps section', () => {
162210
const item = { ...baseItem, relatedAssets: [dualAsset] };
163211
renderWithProvider(
164-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
212+
<WhatsHappeningExpandedCard
213+
item={item}
214+
cardIndex={0}
215+
cardWidth={CARD_WIDTH}
216+
/>,
165217
);
166218
expect(screen.getByText('Tokens')).toBeOnTheScreen();
167219
expect(screen.getByText('Buy')).toBeOnTheScreen();
@@ -171,7 +223,11 @@ describe('WhatsHappeningExpandedCard', () => {
171223

172224
it('renders neither section when relatedAssets is empty', () => {
173225
renderWithProvider(
174-
<WhatsHappeningExpandedCard item={baseItem} cardWidth={CARD_WIDTH} />,
226+
<WhatsHappeningExpandedCard
227+
item={baseItem}
228+
cardIndex={0}
229+
cardWidth={CARD_WIDTH}
230+
/>,
175231
);
176232
expect(screen.queryByText('Tokens')).toBeNull();
177233
expect(screen.queryByText('Perps')).toBeNull();
@@ -180,7 +236,11 @@ describe('WhatsHappeningExpandedCard', () => {
180236
it('Trade button navigates to PerpsMarketDetails', () => {
181237
const item = { ...baseItem, relatedAssets: [perpsOnlyAsset] };
182238
renderWithProvider(
183-
<WhatsHappeningExpandedCard item={item} cardWidth={CARD_WIDTH} />,
239+
<WhatsHappeningExpandedCard
240+
item={item}
241+
cardIndex={0}
242+
cardWidth={CARD_WIDTH}
243+
/>,
184244
);
185245
fireEvent.press(screen.getByText('Trade'));
186246
expect(mockNavigate).toHaveBeenCalledWith(Routes.PERPS.ROOT, {

0 commit comments

Comments
 (0)