import { screen } from "@testing-library/react-native"; import DQAVoteButtons from "components/ObsDetails/DetailsTab/DQAVoteButtons"; import React from "react"; import factory from "tests/factory"; import { renderComponent } from "tests/helpers/render"; const mockUser = factory( "RemoteUser" ); const mockQualityMetrics = [ { id: 0, agree: true, metric: "wild", user_id: mockUser.id, }, ]; const mockVotesNeedsID = [ factory( "RemoteVote", { vote_scope: "needs_id", user: mockUser, user_id: mockUser.id, } ), ]; // Mock useCurrentUser hook jest.mock( "sharedHooks/useCurrentUser", ( ) => ( { __esModule: true, default: jest.fn( ( ) => ( { id: mockUser.id, } ) ), } ) ); describe( "DQA Vote Buttons for wild metric", ( ) => { test( "renders correct DQA user vote", async ( ) => { renderComponent( ); const button = await screen.findByTestId( "DQAVoteButton.UserAgree", ); expect( button ).toBeTruthy( ); } ); test( "renders correct DQA user vote number", async ( ) => { renderComponent( ); const voteNumber = await screen.findByText( "1", ); expect( voteNumber ).toBeTruthy( ); } ); } ); describe( "DQA Vote Buttons for needs_id metric", ( ) => { test( "renders correct DQA user vote", async ( ) => { renderComponent( ); const button = await screen.findByTestId( "DQAVoteButton.UserAgree", ); expect( button ).toBeTruthy( ); } ); test( "renders correct DQA user vote number", async ( ) => { renderComponent( ); const voteNumber = await screen.findByText( "1", ); expect( voteNumber ).toBeTruthy( ); } ); } );