jfilter/frag-den-staat-app

View on GitHub
__tests__/App-test.js

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * @format
 */

import 'react-native';
import React from 'react';
import App from '../src/App';

// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';

jest.mock('rn-fetch-blob', () => {
  return {
    DocumentDir: () => {},
    polyfill: () => {},
  };
});

jest.mock('react-native-background-fetch', () => {
  return {};
});

jest.mock('react-native-i18n', () => {
  return {};
});

jest.mock('react-native-elements', () => {
  return {};
});

jest.mock('react-native-paper', () => {
  return {};
});

jest.mock('react-native-paper', () => {
  return {};
});

// jest.mock('react-native-vector-icons', () => {
//   return {};
// });

jest.mock('react-native-dropdownalert', () => {
  return {};
});

// jest.mock('ScrollView', () => jest.genMockFromModule('ScrollView'));

jest.mock('react-native-keychain', () => ({
  setGenericPassword: jest.fn(),
  getGenericPassword: jest.fn(),
  resetGenericPassword: jest.fn(),
}));

jest.mock('Linking', () => {
  return {
    addEventListener: jest.fn(),
    removeEventListener: jest.fn(),
    openURL: jest.fn(),
    canOpenURL: jest.fn(),
    getInitialURL: jest.fn(),
  };
});

jest.mock('react-native', () => ({
  AsyncStorage: {
    getItem: jest.fn(),
    setItem: jest.fn(),
    removeItem: jest.fn(),
    mergeItem: jest.fn(),
    clear: jest.fn(),
    getAllKeys: jest.fn(),
    flushGetRequests: jest.fn(),
    multiGet: jest.fn(),
    multiSet: jest.fn(),
    multiRemove: jest.fn(),
    multiMerge: jest.fn(),
  },
}));

jest.mock('PushNotificationIOS', () => ({
  addEventListener: jest.fn(),
  requestPermissions: jest.fn(),
}));

jest.mock('NativeModules', () => ({
  UIManager: {
    RCTView: () => {},
  },
  RNGestureHandlerModule: {
    attachGestureHandler: jest.fn(),
    createGestureHandler: jest.fn(),
    dropGestureHandler: jest.fn(),
    updateGestureHandler: jest.fn(),
    State: {},
    Directions: {},
  },

  RNTrackerManager: {
    startTraceEvent: jest.fn(),
    postEvent: jest.fn(),
    endTraceEvent: jest.fn(),
  },

  RNComUtilManager: {
    setNavSwipe: jest.fn(),
  },

  //mock三方库的native module
  RNVectorIconsManager: {},

  //mock react-native的native module(react-native-mock-render缺失)
  StatusBarManager: {
    HEIGHT: 800,
    setStyle: jest.fn(),
    setHidden: jest.fn(),
    setNetworkActivityIndicatorVisible: jest.fn(),
  },
  KeyboardObserver: {},
}));

it('renders correctly', () => {
  const tree = renderer.create(<App />);
});