import { fireEvent, render, waitFor } from '@testing-library/react-native'
import React from 'react'
import { PasteButton } from './PasteButton'
const mockGetFreshClipboardContent = jest.fn()
jest.mock('src/utils/useClipboard', () => ({
useClipboard: () => [null, null, mockGetFreshClipboardContent],
}))
describe('PasteButton', () => {
const onPress = jest.fn()
beforeEach(() => {
jest.clearAllMocks()
})
it('should render a button with "paste" text', () => {
const { getByText } = render()
expect(getByText('paste')).toBeTruthy()
})
it('should call onPress with clipboard content when button is pressed', async () => {
mockGetFreshClipboardContent.mockResolvedValue('mocked-value')
const { getByText } = render()
fireEvent.press(getByText('paste'))
await waitFor(() => {
expect(onPress).toHaveBeenCalledWith('mocked-value')
})
})
})