import React from 'react';
import { Image, Linking, Text, View } from 'react-native';
import { render, fireEvent } from '@testing-library/react-native';
import SharePicker from './SharePicker';
import LTouchableOpacity from '../TouchAble/LTouchableOpacity';

describe('SharePicker', () => {
  it('应该成功渲染 SharePicker 组件', () => {
    const { getByText, getByTestId } = render(<SharePicker visible={true} />);
    const shareToText = getByText('分享到');
    const wechatText = getByText('微信好友');
    const pyqText = getByText('朋友圈');
    const closeButton = getByTestId('close-button');

    expect(shareToText).toBeTruthy();
    expect(wechatText).toBeTruthy();
    expect(pyqText).toBeTruthy();
    expect(closeButton).toBeTruthy();
  });

  it('当点击微信好友按钮时,应该调用 onPress 函数', () => {
    const onPressMock = jest.fn();
    const { getByText } = render(
      <SharePicker visible={true} onNoInstallWX={onPressMock} />
    );
    const wechatButton = getByText('微信好友');
    fireEvent.press(wechatButton);

    expect(onPressMock).toHaveBeenCalled();
  });

  it('当点击朋友圈按钮时,应该调用 onPress 函数', () => {
    const onPressMock = jest.fn();
    const { getByText } = render(
      <SharePicker visible={true} onMomentsPress={onPressMock} />
    );
    const pyqButton = getByText('朋友圈');
    fireEvent.press(pyqButton);

    expect(onPressMock).toHaveBeenCalled();
  });

  it('当点击关闭按钮时,应该调用 onPress 函数', () => {
    const onPressMock = jest.fn();
    const { getByTestId } = render(
      <SharePicker visible={true} onClose={onPressMock} />
    );
    const closeButton = getByTestId('close-button');
    fireEvent.press(closeButton);

    expect(onPressMock).toHaveBeenCalled();
  });
});

原文地址: https://www.cveoy.top/t/topic/f3Lj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录