Created
          January 8, 2018 01:41 
        
      - 
      
 - 
        
Save lededje/1d6f2ee009ae63e25cbec7318240e4ed to your computer and use it in GitHub Desktop.  
Revisions
- 
        
lededje created this gist
Jan 8, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,321 @@ import React from 'react'; jest.mock('react-native', () => { const createMockComponent = (name) => { const mockedComponent = ({ children }) => ( <div>{children}</div> ); mockedComponent.displayName = name; return mockedComponent; } return { ActivityIndicator: createMockComponent('ActivityIndicator'), ART: createMockComponent('ART'), Button: createMockComponent('Button'), CheckBox: createMockComponent('CheckBox'), DatePickerIOS: createMockComponent('DatePickerIOS'), DrawerLayoutAndroid: createMockComponent('DrawerLayoutAndroid'), FlatList: createMockComponent('FlatList'), Image: createMockComponent('Image'), ImageBackground: createMockComponent('ImageBackground'), ImageEditor: createMockComponent('ImageEditor'), ImageStore: createMockComponent('ImageStore'), KeyboardAvoidingView: createMockComponent('KeyboardAvoidingView'), ListView: createMockComponent('ListView'), MaskedViewIOS: createMockComponent('MaskedViewIOS'), Modal: createMockComponent('Modal'), NavigatorIOS: createMockComponent('NavigatorIOS'), Picker: createMockComponent('Picker'), PickerIOS: createMockComponent('PickerIOS'), ProgressBarAndroid: createMockComponent('ProgressBarAndroid'), ProgressViewIOS: createMockComponent('ProgressViewIOS'), SafeAreaView: createMockComponent('SafeAreaView'), ScrollView: createMockComponent('ScrollView'), SectionList: createMockComponent('SectionList'), SegmentedControlIOS: createMockComponent('SegmentedControlIOS'), Slider: createMockComponent('Slider'), SnapshotViewIOS: createMockComponent('SnapshotViewIOS'), Switch: createMockComponent('Switch'), RefreshControl: createMockComponent('RefreshControl'), StatusBar: createMockComponent('StatusBar'), SwipeableFlatList: createMockComponent('SwipeableFlatList'), SwipeableListView: createMockComponent('SwipeableListView'), TabBarIOS: createMockComponent('TabBarIOS'), Text: createMockComponent('Text'), TextInput: createMockComponent('TextInput'), ToastAndroid: createMockComponent('ToastAndroid'), ToolbarAndroid: createMockComponent('ToolbarAndroid'), Touchable: createMockComponent('Touchable'), TouchableHighlight: createMockComponent('TouchableHighlight'), TouchableNativeFeedback: createMockComponent('TouchableNativeFeedback'), TouchableOpacity: createMockComponent('TouchableOpacity'), TouchableWithoutFeedback: createMockComponent('TouchableWithoutFeedback'), View: createMockComponent('View'), ViewPagerAndroid: createMockComponent('ViewPagerAndroid'), VirtualizedList: createMockComponent('VirtualizedList'), WebView: createMockComponent('WebView'), AccessibilityInfo: ({ fetch: jest.fn(), addEventListener: jest.fn(), setAccessibilityFocus: jest.fn(), announceForAccessibility: jest.fn(), removeEventListener: jest.fn(), }), ActionSheetIOS: ({ showActionSheetWithOptions: jest.fn(), showShareActionSheetWithOptions: jest.fn(), }), Alert: ({ alert: jest.fn(), }), AlertIOS: ({ alert: jest.fn(), prompt: jest.fn(), }), Animated: ({ decay: jest.fn(), timing: jest.fn(), spring: jest.fn(), add: jest.fn(), divide: jest.fn(), multiply: jest.fn(), modulo: jest.fn(), diffClamp: jest.fn(), delay: jest.fn(), sequence: jest.fn(), parallel: jest.fn(), stagger: jest.fn(), loop: jest.fn(), event: jest.fn(), forkEvent: jest.fn(), unforkEvent: jest.fn(), }), AppRegistry: ({ setWrapperComponentProvider: jest.fn(), registerConfig: jest.fn(), registerComponent: jest.fn(), registerRunnable: jest.fn(), registerSection: jest.fn(), getAppKeys: jest.fn(), getSectionKeys: jest.fn(), getSections: jest.fn(), getRunnable: jest.fn(), getRegistry: jest.fn(), setComponentProviderInstrumentationHook: jest.fn(), runApplication: jest.fn(), unmountApplicationComponentAtRootTag: jest.fn(), registerHeadlessTask: jest.fn(), startHeadlessTask: jest.fn(), }), AppState: ({ addEventListener: jest.fn(), removeEventListener: jest.fn(), }), 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(), }), BackAndroid: ({ exitApp: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), }), BackHandler: ({ exitApp: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), }), CameraRoll: ({ saveToCameraRoll: jest.fn(), getPhotos: jest.fn(), }), Clipboard: ({ getString: jest.fn(), setString: jest.fn(), }), DatePickerAndroid: ({ open: jest.fn(), dateSetAction: jest.fn(), dismissedAction: jest.fn(), }), DeviceInfo: undefined, Dimensions: ({ set: jest.fn(), get: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), }), Easing: ({ step0: jest.fn(), step1: jest.fn(), linear: jest.fn(), ease: jest.fn(), quad: jest.fn(), cubic: jest.fn(), poly: jest.fn(), sin: jest.fn(), circle: jest.fn(), exp: jest.fn(), elastic: jest.fn(), back: jest.fn(), bounce: jest.fn(), bezier: jest.fn(), in: jest.fn(), out: jest.fn(), inOut: jest.fn(), }), findNodeHandle: undefined, I18nManager: undefined, ImagePickerIOS: ({ canRecordVideos: jest.fn(), canUseCamera: jest.fn(), openCameraDialog: jest.fn(), openSelectDialog: jest.fn(), }), InteractionManager: ({ runAfterInteractions: jest.fn(), createInteractionHandle: jest.fn(), clearInteractionHandle: jest.fn(), setDeadline: jest.fn(), }), Keyboard: ({ addListener: jest.fn(), removeListener: jest.fn(), removeAllListeners: jest.fn(), dismiss: jest.fn(), }), LayoutAnimation: ({ configureNext: jest.fn(), create: jest.fn(), checkConfig: jest.fn(), }), Linking: ({ constructor: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), openURL: jest.fn(), canOpenURL: jest.fn(), getInitialURL: jest.fn(), }), NativeEventEmitter: undefined, NetInfo: ({ addEventListener: jest.fn(), removeEventListener: jest.fn(), fetch: jest.fn(), getConnectionInfo: jest.fn(), isConnectionExpensive: jest.fn(), }), PanResponder: ({ create: jest.fn(), }), PermissionsAndroid: ({ constructor: jest.fn(), checkPermission: jest.fn(), check: jest.fn(), requestPermission: jest.fn(), request: jest.fn(), requestMultiple: jest.fn(), }), PixelRatio: ({ get: jest.fn(), getFontScale: jest.fn(), getPixelSizeForLayoutSize: jest.fn(), roundToNearestPixel: jest.fn(), startDetecting: jest.fn(), }), PushNotificationIOS: ({ scheduleLocalNotification: jest.fn(), cancelAllLocalNotifications: jest.fn(), removeAllDeliveredNotifications: jest.fn(), getDeliveredNotifications: jest.fn(), removeDeliveredNotifications: jest.fn(), setApplicationIconBadgeNumber: jest.fn(), getApplicationIconBadgeNumber: jest.fn(), cancelLocalNotifications: jest.fn(), getScheduledLocalNotifications: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), requestPermissions: jest.fn(), abandonPermissions: jest.fn(), checkPermissions: jest.fn(), getInitialNotification: jest.fn(), constructor: jest.fn(), finish: jest.fn(), getMessage: jest.fn(), getSound: jest.fn(), getCategory: jest.fn(), getAlert: jest.fn(), getContentAvailable: jest.fn(), getBadgeCount: jest.fn(), getData: jest.fn(), }), Settings: ({ get: jest.fn(), set: jest.fn(), watchKeys: jest.fn(), clearWatch: jest.fn(), }), Share: ({ share: jest.fn(), sharedAction: jest.fn(), dismissedAction: jest.fn(), }), StatusBarIOS: undefined, StyleSheet: { setStyleAttributePreprocessor: jest.fn(), create: jest.fn((styles) => { return Object.keys(styles).reduce((acc, styleKey) => { return Object.assign(acc, { [styleKey]: styleKey }) }, {}); }), }, Systrace: ({ installReactHook: jest.fn(), setEnabled: jest.fn(), isEnabled: jest.fn(), beginEvent: jest.fn(), endEvent: jest.fn(), beginAsyncEvent: jest.fn(), endAsyncEvent: jest.fn(), counterEvent: jest.fn(), attachToRelayProfiler: jest.fn(), swizzleJSON: jest.fn(), measureMethods: jest.fn(), measure: jest.fn(), }), TimePickerAndroid: ({ open: jest.fn(), timeSetAction: jest.fn(), dismissedAction: jest.fn(), }), TVEventHandler: undefined, UIManager: undefined, unstable_batchedUpdates: undefined, Vibration: ({ vibrate: jest.fn(), cancel: jest.fn(), }), VibrationIOS: ({ vibrate: jest.fn(() => { console.warn('VibrationIOS is deprecated, use Vibration instead'); }), }), } }) import { configure } from 'enzyme'; import Adapter from 'enzyme-adapter-react-16'; configure({ adapter: new Adapter() });