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:
committed by
Facebook GitHub Bot
parent
fcb89b94b5
commit
773b0b7f67
@@ -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'),
|
||||
|
||||
@@ -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 (
|
||||
|
||||
13
desktop/app/src/utils/getDefaultPluginsIndex.tsx
Normal file
13
desktop/app/src/utils/getDefaultPluginsIndex.tsx
Normal 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');
|
||||
}
|
||||
@@ -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
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user