Fix tests failing on Windows (#1052)

Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1052

Fixed tests failing on Windows because jest auto-mocks works differently there

Reviewed By: passy

Differential Revision: D21237618

fbshipit-source-id: 31c7e92b7f8ae84c1e65fd37428204452b3f1b00
This commit is contained in:
Anton Nikolaev
2020-04-27 07:15:08 -07:00
committed by Facebook GitHub Bot
parent fcb89b94b5
commit 773b0b7f67
4 changed files with 22 additions and 5 deletions

View File

@@ -7,7 +7,7 @@
* @format
*/
jest.mock('../../defaultPlugins/index');
jest.mock('../../defaultPlugins');
import dispatcher, {
getDynamicPlugins,
@@ -114,7 +114,7 @@ test('checkGK for failing plugin', () => {
});
test('requirePlugin returns null for invalid requires', () => {
const requireFn = requirePlugin([], require);
const requireFn = requirePlugin([], {}, require);
const plugin = requireFn({
name: 'pluginID',
entry: 'this/path/does not/exist',
@@ -125,7 +125,7 @@ test('requirePlugin returns null for invalid requires', () => {
test('requirePlugin loads plugin', () => {
const name = 'pluginID';
const requireFn = requirePlugin([], require);
const requireFn = requirePlugin([], {}, require);
const plugin = requireFn({
name,
entry: path.join(__dirname, 'TestPlugin'),

View File

@@ -31,7 +31,7 @@ import {notNull} from '../utils/typeUtils';
import {sideEffect} from '../utils/sideEffect';
// eslint-disable-next-line import/no-unresolved
import {default as defaultPluginsIndex} from '../defaultPlugins/index';
import getPluginIndex from '../utils/getDefaultPluginsIndex';
export type PluginDefinition = {
id?: string;
@@ -53,12 +53,14 @@ export default (store: Store, logger: Logger) => {
const disabledPlugins: Array<PluginDefinition> = [];
const failedPlugins: Array<[PluginDefinition, string]> = [];
const defaultPluginsIndex = getPluginIndex();
const initialPlugins: Array<
typeof FlipperPlugin | typeof FlipperDevicePlugin
> = [...getBundledPlugins(), ...getDynamicPlugins()]
.filter(checkDisabled(disabledPlugins))
.filter(checkGK(gatekeepedPlugins))
.map(requirePlugin(failedPlugins))
.map(requirePlugin(failedPlugins, defaultPluginsIndex))
.filter(notNull);
store.dispatch(addGatekeepedPlugins(gatekeepedPlugins));
@@ -150,6 +152,7 @@ export const checkDisabled = (disabledPlugins: Array<PluginDefinition>) => (
export const requirePlugin = (
failedPlugins: Array<[PluginDefinition, string]>,
defaultPluginsIndex: any,
reqFn: Function = global.electronRequire,
) => {
return (

View File

@@ -0,0 +1,13 @@
/**
* 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
*/
export default function () {
// eslint-disable-next-line import/no-unresolved
return require('../defaultPlugins');
}

View File

@@ -43,6 +43,7 @@ export async function generatePluginEntryPoints() {
.map((x) => ` '${x.name}': require('${x.name}')`)
.join(',\n');
const generatedIndex = `
/* eslint-disable */
// THIS FILE IS AUTO-GENERATED by function "generatePluginEntryPoints" in "build-utils.ts".
export default {\n${pluginRequres}\n} as any
`;