Skip to content

Instantly share code, notes, and snippets.

@jkomyno
Created June 21, 2017 11:17
Show Gist options
  • Save jkomyno/56ca17749b510f9121d21f3f539ee432 to your computer and use it in GitHub Desktop.
Save jkomyno/56ca17749b510f9121d21f3f539ee432 to your computer and use it in GitHub Desktop.
const { Response, Headers, Request } = require('whatwg-fetch');
global.Response = Response;
global.Headers = Headers;
global.Request = Request;
global.console = {
log: () => {},
warn: () => {},
};
global.fetch = require('jest-fetch-mock');
jest.mock('react-native', () => {
const items = {
'@login:response': `{"nickname":"marco.perazzetta"}`,
};
return ({
AsyncStorage: {
setItem: jest.fn((item, value) => {
return new Promise((resolve, reject) => {
items[item] = value;
resolve(value);
});
}),
multiSet: jest.fn((item, value) => {
return new Promise((resolve, reject) => {
items[item] = value;
resolve(value);
});
}),
getItem: jest.fn((item, value) => {
return new Promise((resolve, reject) => {
resolve(items[item]);
});
}),
multiGet: jest.fn((item) => {
return new Promise((resolve, reject) => {
resolve(items[item]);
});
}),
removeItem: jest.fn((item) => {
return new Promise((resolve, reject) => {
resolve(delete items[item]);
});
}),
getAllKeys: jest.fn((items) => {
return new Promise((resolve) => {
resolve(items.keys());
});
})
},
NativeModules: {
RNDocumentPicker: () => {}
},
Dimensions: {
get: jest.fn(() => ({
width: 0,
height: 0,
}))
},
Platform: {
OS: jest.fn(() => 'android'),
version: jest.fn(() => 25),
},
Easing: {
bezier: () => {},
},
View: () => 'View',
ViewPropTypes: ({
propTypes: {
style: {}
},
}),
Text: ({
propTypes: {
style: {}
},
}),
TouchableNativeFeedback: () => 'TouchableNativeFeedback',
TouchableOpacity: () => 'TouchableOpacity',
StyleSheet: {
create: () => ({})
},
Animated: {
createAnimatedComponent: () => {}
},
requireNativeComponent: () => {}
});
});
jest.mock('react-native-fetch-blob', () => ({
DocumentDir: () => {},
}));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment