@@ -4,6 +4,7 @@ import OndoLeaderboard, {
44 CAMPAIGN_LEADERBOARD_TEST_IDS ,
55} from './OndoLeaderboard' ;
66import type { CampaignLeaderboardEntry } from '../../../../../core/Engine/controllers/rewards-controller/types' ;
7+ import { ONDO_GM_TIER_MAX_WINNERS } from '../../utils/ondoCampaignConstants' ;
78import { useAnalytics } from '../../../../hooks/useAnalytics/useAnalytics' ;
89import {
910 createMockUseAnalyticsHook ,
@@ -32,6 +33,8 @@ jest.mock('@metamask/design-system-twrnc-preset', () => {
3233 return { useTailwind : ( ) => tw } ;
3334} ) ;
3435
36+ jest . mock ( '../../../../../images/rewards/crown.svg' , ( ) => 'CrownIcon' ) ;
37+
3538jest . mock ( '../RewardsErrorBanner' , ( ) => {
3639 const ReactActual = jest . requireActual ( 'react' ) ;
3740 const { View, Text, Pressable } = jest . requireActual ( 'react-native' ) ;
@@ -89,6 +92,8 @@ jest.mock('../../../../../../locales/i18n', () => ({
8992 } ,
9093} ) ) ;
9194
95+ const CrownIcon = 'CrownIcon' as unknown as React . ComponentType ;
96+
9297const createMockEntry = (
9398 overrides : Partial < CampaignLeaderboardEntry > = { } ,
9499) : CampaignLeaderboardEntry => ( {
@@ -337,6 +342,40 @@ describe('OndoLeaderboard', () => {
337342
338343 expect ( getByText ( 'No entries in this tier' ) ) . toBeDefined ( ) ;
339344 } ) ;
345+
346+ it ( 'shows crown in full view for Ondo winner ranks only' , ( ) => {
347+ const entries = [
348+ createMockEntry ( {
349+ rank : ONDO_GM_TIER_MAX_WINNERS ,
350+ referralCode : 'WINNER' ,
351+ } ) ,
352+ createMockEntry ( {
353+ rank : ONDO_GM_TIER_MAX_WINNERS + 1 ,
354+ referralCode : 'NEXT' ,
355+ } ) ,
356+ ] ;
357+ const { UNSAFE_queryAllByType } = render (
358+ < OndoLeaderboard { ...defaultProps } entries = { entries } /> ,
359+ ) ;
360+
361+ expect ( UNSAFE_queryAllByType ( CrownIcon ) ) . toHaveLength ( 1 ) ;
362+ } ) ;
363+
364+ it ( 'hides crown in preview mode for Ondo winner ranks' , ( ) => {
365+ const entries = [
366+ createMockEntry ( { rank : 1 , referralCode : 'AAA111' } ) ,
367+ createMockEntry ( { rank : 2 , referralCode : 'BBB222' } ) ,
368+ ] ;
369+ const { UNSAFE_queryAllByType } = render (
370+ < OndoLeaderboard
371+ { ...defaultProps }
372+ entries = { entries }
373+ maxEntries = { entries . length }
374+ /> ,
375+ ) ;
376+
377+ expect ( UNSAFE_queryAllByType ( CrownIcon ) ) . toHaveLength ( 0 ) ;
378+ } ) ;
340379 } ) ;
341380
342381 describe ( 'currentUserReferralCode highlighting' , ( ) => {
0 commit comments