From 01217e2e5c4f4e0f4858fe5ad7e996fc849ab476 Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Mon, 18 Jan 2021 15:53:52 +0100 Subject: [PATCH] test: cache moduleState in integration tests to reduce exec time --- test/integration/Config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/integration/Config.ts b/test/integration/Config.ts index ff9082b32..017b12294 100644 --- a/test/integration/Config.ts +++ b/test/integration/Config.ts @@ -1,9 +1,11 @@ import { mkdirSync } from 'fs'; +import type { IModuleState } from 'componentsjs'; import { ComponentsManager } from 'componentsjs'; import * as rimraf from 'rimraf'; import { joinFilePath } from '../../src/util/PathUtil'; export const BASE = 'http://test.com'; +let cachedModuleState: IModuleState; /** * Returns a component instantiated from a Components.js configuration. @@ -12,7 +14,8 @@ export async function instantiateFromConfig(componentUrl: string, configFile: st variables?: Record): Promise { // Initialize the Components.js loader const mainModulePath = joinFilePath(__dirname, '../../'); - const manager = await ComponentsManager.build({ mainModulePath, logLevel: 'error' }); + const manager = await ComponentsManager.build({ mainModulePath, logLevel: 'error', moduleState: cachedModuleState }); + cachedModuleState = manager.moduleState; // Instantiate the component from the config const configPath = joinFilePath(__dirname, 'config', configFile);