From 1f240d72c35fa4ecd4a664720f28fb4881f55db9 Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Mon, 17 Jan 2022 07:54:29 -0800 Subject: [PATCH] Fix js-flipper tests (#3297) Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/3297 Reviewed By: passy Differential Revision: D33619287 fbshipit-source-id: 7e9dc595c999e9c8b61329f96adba6e45a1dfa50 --- js/js-flipper/.eslintrc.js | 4 ++-- js/js-flipper/jest.config.js | 2 +- js/js-flipper/src/__tests__/client.spec.ts | 19 +++++++++---------- js/js-flipper/src/util.ts | 2 -- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/js/js-flipper/.eslintrc.js b/js/js-flipper/.eslintrc.js index 36dfdb16b..a3b6c3658 100644 --- a/js/js-flipper/.eslintrc.js +++ b/js/js-flipper/.eslintrc.js @@ -8,9 +8,9 @@ */ const fbjs = require('eslint-config-fbjs'); -const prettierConfig = require('./prettierrc.json') +const prettierConfig = require('./.prettierrc.json'); -const pattern = /^\*\r?\n[\S\s]*Facebook[\S\s]* \* @format\r?\n/; +const pattern = /^\*\r?\n[\S\s]*Meta[\S\s]* \* @format\r?\n/; module.exports = { parser: 'babel-eslint', diff --git a/js/js-flipper/jest.config.js b/js/js-flipper/jest.config.js index edc63d711..0ec7a4873 100644 --- a/js/js-flipper/jest.config.js +++ b/js/js-flipper/jest.config.js @@ -8,7 +8,7 @@ */ module.exports = { - preset: "ts-jest", + preset: 'ts-jest', clearMocks: true, coverageReporters: ['json-summary', 'lcov', 'html'], testMatch: ['**/**.spec.(js|jsx|ts|tsx)'], diff --git a/js/js-flipper/src/__tests__/client.spec.ts b/js/js-flipper/src/__tests__/client.spec.ts index 9a83a579d..0ab6734fb 100644 --- a/js/js-flipper/src/__tests__/client.spec.ts +++ b/js/js-flipper/src/__tests__/client.spec.ts @@ -18,6 +18,10 @@ describe('client', () => { let port: number; let wsServer: WebSocketServer; let client: FlipperClient; + let urlBase: string; + // TODO: Figure out why we need to convert ot unknown first + const websocketFactory = (url: string) => + new WebSocket(url) as unknown as FlipperWebSocket; let allowConnection = true; const verifyClient = jest.fn().mockImplementation(() => allowConnection); @@ -40,10 +44,7 @@ describe('client', () => { await new Promise((resolve) => wsServer.on('listening', resolve)); port = (wsServer.address() as AddressInfo).port; client = new FlipperClient(); - // TODO: Figure out why we need to convert ot unknown first - client.websocketFactory = (url) => - new WebSocket(url) as unknown as FlipperWebSocket; - client.urlBase = `localhost:${port}`; + urlBase = `localhost:${port}`; }); afterEach(async () => { client.stop(); @@ -67,7 +68,7 @@ describe('client', () => { onDisconnect: () => undefined, }); - await client.start(); + await client.start('universe', {urlBase, websocketFactory}); const expectedGetPluginsResponse = { id: 0, @@ -84,7 +85,6 @@ describe('client', () => { it('onError is called if message handling has failed, connection is closed, client reconnects', async () => { const onError = jest.fn(); - client.onError = onError; let resolveFirstConnectionPromise: () => void; const firstConnectionPromise = new Promise((resolve) => { @@ -98,12 +98,12 @@ describe('client', () => { // Capturing a moment when the client received an error const receivedErrorPromise = new Promise((resolve) => - onError.mockImplementationOnce((e) => { + onError.mockImplementationOnce(() => { resolve(); }), ); - await client.start(); + await client.start('universe', {urlBase, websocketFactory, onError}); // Capturing a moment when the client was closed because of the error const closedPromise = new Promise((resolve) => { @@ -147,10 +147,9 @@ describe('client', () => { allowConnection = false; const onError = jest.fn(); - client.onError = onError; expect(onError).toBeCalledTimes(0); - client.start(); + client.start('universe', {urlBase, websocketFactory, onError}); // Expect connection request to fail await new Promise((resolve) => onError.mockImplementationOnce(resolve)); diff --git a/js/js-flipper/src/util.ts b/js/js-flipper/src/util.ts index 94ded9163..2afee8c90 100644 --- a/js/js-flipper/src/util.ts +++ b/js/js-flipper/src/util.ts @@ -66,5 +66,3 @@ export const detectDevice = (): string => { } return require('os').release(); }; - -export const awaitTimeout = (timeout: number) => new Promise(resolve => setTimeout)