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
This commit is contained in:
Andrey Goncharov
2022-01-17 07:54:29 -08:00
committed by Facebook GitHub Bot
parent 9605df8365
commit 1f240d72c3
4 changed files with 12 additions and 15 deletions

View File

@@ -8,9 +8,9 @@
*/ */
const fbjs = require('eslint-config-fbjs'); 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 = { module.exports = {
parser: 'babel-eslint', parser: 'babel-eslint',

View File

@@ -8,7 +8,7 @@
*/ */
module.exports = { module.exports = {
preset: "ts-jest", preset: 'ts-jest',
clearMocks: true, clearMocks: true,
coverageReporters: ['json-summary', 'lcov', 'html'], coverageReporters: ['json-summary', 'lcov', 'html'],
testMatch: ['**/**.spec.(js|jsx|ts|tsx)'], testMatch: ['**/**.spec.(js|jsx|ts|tsx)'],

View File

@@ -18,6 +18,10 @@ describe('client', () => {
let port: number; let port: number;
let wsServer: WebSocketServer; let wsServer: WebSocketServer;
let client: FlipperClient; 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; let allowConnection = true;
const verifyClient = jest.fn().mockImplementation(() => allowConnection); const verifyClient = jest.fn().mockImplementation(() => allowConnection);
@@ -40,10 +44,7 @@ describe('client', () => {
await new Promise((resolve) => wsServer.on('listening', resolve)); await new Promise((resolve) => wsServer.on('listening', resolve));
port = (wsServer.address() as AddressInfo).port; port = (wsServer.address() as AddressInfo).port;
client = new FlipperClient(); client = new FlipperClient();
// TODO: Figure out why we need to convert ot unknown first urlBase = `localhost:${port}`;
client.websocketFactory = (url) =>
new WebSocket(url) as unknown as FlipperWebSocket;
client.urlBase = `localhost:${port}`;
}); });
afterEach(async () => { afterEach(async () => {
client.stop(); client.stop();
@@ -67,7 +68,7 @@ describe('client', () => {
onDisconnect: () => undefined, onDisconnect: () => undefined,
}); });
await client.start(); await client.start('universe', {urlBase, websocketFactory});
const expectedGetPluginsResponse = { const expectedGetPluginsResponse = {
id: 0, id: 0,
@@ -84,7 +85,6 @@ describe('client', () => {
it('onError is called if message handling has failed, connection is closed, client reconnects', async () => { it('onError is called if message handling has failed, connection is closed, client reconnects', async () => {
const onError = jest.fn(); const onError = jest.fn();
client.onError = onError;
let resolveFirstConnectionPromise: () => void; let resolveFirstConnectionPromise: () => void;
const firstConnectionPromise = new Promise<void>((resolve) => { const firstConnectionPromise = new Promise<void>((resolve) => {
@@ -98,12 +98,12 @@ describe('client', () => {
// Capturing a moment when the client received an error // Capturing a moment when the client received an error
const receivedErrorPromise = new Promise<void>((resolve) => const receivedErrorPromise = new Promise<void>((resolve) =>
onError.mockImplementationOnce((e) => { onError.mockImplementationOnce(() => {
resolve(); resolve();
}), }),
); );
await client.start(); await client.start('universe', {urlBase, websocketFactory, onError});
// Capturing a moment when the client was closed because of the error // Capturing a moment when the client was closed because of the error
const closedPromise = new Promise<void>((resolve) => { const closedPromise = new Promise<void>((resolve) => {
@@ -147,10 +147,9 @@ describe('client', () => {
allowConnection = false; allowConnection = false;
const onError = jest.fn(); const onError = jest.fn();
client.onError = onError;
expect(onError).toBeCalledTimes(0); expect(onError).toBeCalledTimes(0);
client.start(); client.start('universe', {urlBase, websocketFactory, onError});
// Expect connection request to fail // Expect connection request to fail
await new Promise((resolve) => onError.mockImplementationOnce(resolve)); await new Promise((resolve) => onError.mockImplementationOnce(resolve));

View File

@@ -66,5 +66,3 @@ export const detectDevice = (): string => {
} }
return require('os').release(); return require('os').release();
}; };
export const awaitTimeout = (timeout: number) => new Promise(resolve => setTimeout)