Summary: This diff moves RenderHost initialisation to jest, which is thereby treated as just another 'Host' like flipper-ui, the electron app etc. A benefit is that it provides a mocked flipperServer by default that can be used to mock or intercept requests. See LaunchEmulator.spec as example. Also made the jest setup scripts strongly typed by converting them to TS. This change allows the test stub configuration, which was OS dependent, out of flipper-ui-core. Reviewed By: nikoant Differential Revision: D32668632 fbshipit-source-id: fac0c09812b000fd7d1acb75010c35573087c99f
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
// import/no-unresolved complains, although it is a perfectly fine import
|
|
// eslint-disable-next-line
|
|
global.fetch = require('jest-fetch-mock');
|
|
|
|
// make sure test run everywhere in the same timezone!
|
|
// +11, somewhere in the middle of nowhere, so this deviates for everyone and will fail early :)
|
|
const timezone = 'Pacific/Pohnpei';
|
|
if (process.env.TZ !== timezone) {
|
|
throw new Error(
|
|
`Test started in the wrong timezone, got ${process.env.TZ}, but expected ${timezone}. Please use the package.json commands to start Jest, or prefix the command with TZ=${timezone}`,
|
|
);
|
|
}
|
|
|
|
// Make sure we have identical formatting of Dates everywhere
|
|
const toLocaleString = Date.prototype.toLocaleString;
|
|
// eslint-disable-next-line no-extend-native
|
|
(Date as any).prototype.toLocaleString = function (
|
|
_locale: any,
|
|
...args: any[]
|
|
) {
|
|
return toLocaleString.call(this, 'en-US', ...args);
|
|
};
|
|
|
|
require('immer').enableMapSet();
|