@teambit/tester 1.0.1278 → 1.0.1280

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.1278/dist/tester.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.1278/dist/tester.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.1280/dist/tester.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.1280/dist/tester.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -176,10 +176,7 @@ class TesterMain {
176
176
  async test(components, opts) {
177
177
  const options = this.getOptions(opts);
178
178
  const envsRuntime = await this.envs.createEnvironment(components);
179
- if (opts?.env) {
180
- return envsRuntime.runEnv(opts.env, this.service, options);
181
- }
182
- const results = await envsRuntime.run(this.service, options);
179
+ const results = opts?.env ? await envsRuntime.runEnv(opts.env, this.service, options) : await envsRuntime.run(this.service, options);
183
180
  if (opts?.junit) {
184
181
  await this.generateJUnit(opts?.junit, results);
185
182
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_harmonyModules","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterMain","constructor","patterns","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","env","runEnv","results","run","junit","generateJUnit","filePath","testsResults","map","envResult","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","coverage","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","getDevPatternToRegister","bind","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","pubsub","registerService","tester","TesterTask","registerDevPattern","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","exports","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport type { CLIMain } from '@teambit/cli';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { CLIAspect } from '@teambit/cli';\nimport type { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport type { EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { BuilderMain } from '@teambit/builder';\nimport { BuilderAspect } from '@teambit/builder';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport { DevFilesAspect } from '@teambit/dev-files';\nimport type { TestsResult } from '@teambit/tests-results';\nimport type { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TestResults = EnvsExecutionResult<Tests>;\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n /**\n * absolute paths of specific test files to run. when provided, only these files are tested.\n */\n testFiles?: string[];\n\n callback?: CallbackFn;\n};\n\ntype CoverageResults = {\n files: CoverageFile[];\n total: CoverageData;\n};\n\ntype CoverageStats = {\n pct: number;\n total: number;\n covered: number;\n skipped: number;\n};\n\ntype CoverageFile = {\n path: string;\n data: CoverageData;\n};\n\ntype CoverageData = {\n lines: CoverageStats;\n statements: CoverageStats;\n functions: CoverageStats;\n branches: CoverageStats;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n private patterns: string[],\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<TestResults> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n const results = await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: TestResults) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean; coverage?: CoverageResults } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as {\n tests: TestsResult & {\n coverage: CoverageResults;\n };\n };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false, coverage: data?.tests.coverage };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false, coverage: tests?.coverage };\n }\n\n /**\n * Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)\n * @returns\n */\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: false,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain,\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n const tester = new TesterMain(\n config.patterns,\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n devFiles.registerDevPattern(tester.getDevPatternToRegister());\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n }\n cli.register(new TestCmd(tester, workspace, logger));\n\n graphql.register(() => testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_harmonyModules","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterMain","constructor","patterns","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","results","env","runEnv","run","junit","generateJUnit","filePath","testsResults","map","envResult","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","coverage","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","getDevPatternToRegister","bind","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","pubsub","registerService","tester","TesterTask","registerDevPattern","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","exports","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport type { CLIMain } from '@teambit/cli';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { CLIAspect } from '@teambit/cli';\nimport type { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport type { EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { BuilderMain } from '@teambit/builder';\nimport { BuilderAspect } from '@teambit/builder';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport { DevFilesAspect } from '@teambit/dev-files';\nimport type { TestsResult } from '@teambit/tests-results';\nimport type { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TestResults = EnvsExecutionResult<Tests>;\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n /**\n * absolute paths of specific test files to run. when provided, only these files are tested.\n */\n testFiles?: string[];\n\n callback?: CallbackFn;\n};\n\ntype CoverageResults = {\n files: CoverageFile[];\n total: CoverageData;\n};\n\ntype CoverageStats = {\n pct: number;\n total: number;\n covered: number;\n skipped: number;\n};\n\ntype CoverageFile = {\n path: string;\n data: CoverageData;\n};\n\ntype CoverageData = {\n lines: CoverageStats;\n statements: CoverageStats;\n functions: CoverageStats;\n branches: CoverageStats;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n private patterns: string[],\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<TestResults> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n const results = opts?.env\n ? await envsRuntime.runEnv(opts.env, this.service, options)\n : await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: TestResults) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean; coverage?: CoverageResults } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as {\n tests: TestsResult & {\n coverage: CoverageResults;\n };\n };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false, coverage: data?.tests.coverage };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false, coverage: tests?.coverage };\n }\n\n /**\n * Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)\n * @returns\n */\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: false,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain,\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n const tester = new TesterMain(\n config.patterns,\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n devFiles.registerDevPattern(tester.getDevPatternToRegister());\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n }\n cli.register(new TestCmd(tester, workspace, logger));\n\n graphql.register(() => testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ function _chai() {
4
+ const data = require("chai");
5
+ _chai = function () {
6
+ return data;
7
+ };
8
+ return data;
9
+ }
10
+ function _fsExtra() {
11
+ const data = _interopRequireDefault(require("fs-extra"));
12
+ _fsExtra = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
17
+ function _os() {
18
+ const data = _interopRequireDefault(require("os"));
19
+ _os = function () {
20
+ return data;
21
+ };
22
+ return data;
23
+ }
24
+ function _path() {
25
+ const data = _interopRequireDefault(require("path"));
26
+ _path = function () {
27
+ return data;
28
+ };
29
+ return data;
30
+ }
31
+ function _component() {
32
+ const data = require("@teambit/component");
33
+ _component = function () {
34
+ return data;
35
+ };
36
+ return data;
37
+ }
38
+ function _testsResults() {
39
+ const data = require("@teambit/tests-results");
40
+ _testsResults = function () {
41
+ return data;
42
+ };
43
+ return data;
44
+ }
45
+ function _testerMain() {
46
+ const data = require("./tester.main.runtime");
47
+ _testerMain = function () {
48
+ return data;
49
+ };
50
+ return data;
51
+ }
52
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
53
+ function mkResults() {
54
+ const componentId = _component().ComponentID.fromString('my-scope/button');
55
+ const files = [new (_testsResults().TestsFiles)('button.spec.ts', [], 1, 0, 0, 0, false)];
56
+ return {
57
+ results: [{
58
+ env: {
59
+ id: 'my-org.my-scope/my-env'
60
+ },
61
+ data: {
62
+ components: [{
63
+ componentId,
64
+ results: new (_testsResults().TestsResult)(files, true, 0)
65
+ }]
66
+ }
67
+ }],
68
+ errors: []
69
+ };
70
+ }
71
+ function mkTester(calls) {
72
+ const results = mkResults();
73
+ const envsRuntime = {
74
+ run: async () => {
75
+ calls.push('run');
76
+ return results;
77
+ },
78
+ runEnv: async () => {
79
+ calls.push('runEnv');
80
+ return results;
81
+ }
82
+ };
83
+ const envs = {
84
+ createEnvironment: async () => envsRuntime
85
+ };
86
+ const args = [[], undefined, envs, undefined, {}, undefined, undefined, undefined];
87
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
+ return new (_testerMain().TesterMain)(...args);
89
+ }
90
+ describe('TesterMain.test() junit report', () => {
91
+ let tmpDir;
92
+ const components = [];
93
+ beforeEach(async () => {
94
+ tmpDir = await _fsExtra().default.mkdtemp(_path().default.join(_os().default.tmpdir(), 'tester-junit-'));
95
+ });
96
+ afterEach(async () => {
97
+ await _fsExtra().default.remove(tmpDir);
98
+ });
99
+ it('writes the junit file when only junit is provided', async () => {
100
+ const calls = [];
101
+ const junit = _path().default.join(tmpDir, 'results.xml');
102
+ await mkTester(calls).test(components, {
103
+ junit
104
+ });
105
+ (0, _chai().expect)(calls).to.deep.equal(['run']);
106
+ (0, _chai().expect)(await _fsExtra().default.pathExists(junit)).to.be.true;
107
+ });
108
+ it('writes the junit file when both env and junit are provided', async () => {
109
+ const calls = [];
110
+ const junit = _path().default.join(tmpDir, 'results.xml');
111
+ await mkTester(calls).test(components, {
112
+ env: 'my-org.my-scope/my-env',
113
+ junit
114
+ });
115
+ (0, _chai().expect)(calls).to.deep.equal(['runEnv']);
116
+ const content = await _fsExtra().default.readFile(junit, 'utf8');
117
+ (0, _chai().expect)(content).to.include('<testsuites');
118
+ (0, _chai().expect)(content).to.include('my-scope/button');
119
+ });
120
+ it('does not write a junit file when junit is not provided', async () => {
121
+ const calls = [];
122
+ await mkTester(calls).test(components, {
123
+ env: 'my-org.my-scope/my-env'
124
+ });
125
+ (0, _chai().expect)(await _fsExtra().default.readdir(tmpDir)).to.deep.equal([]);
126
+ });
127
+ });
128
+
129
+ //# sourceMappingURL=tester.main.runtime.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","data","require","_fsExtra","_interopRequireDefault","_os","_path","_component","_testsResults","_testerMain","e","__esModule","default","mkResults","componentId","ComponentID","fromString","files","TestsFiles","results","env","id","components","TestsResult","errors","mkTester","calls","envsRuntime","run","push","runEnv","envs","createEnvironment","args","undefined","TesterMain","describe","tmpDir","beforeEach","fs","mkdtemp","path","join","os","tmpdir","afterEach","remove","it","junit","test","expect","to","deep","equal","pathExists","be","true","content","readFile","include","readdir"],"sources":["tester.main.runtime.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport fs from 'fs-extra';\nimport os from 'os';\nimport path from 'path';\nimport { ComponentID } from '@teambit/component';\nimport type { Component } from '@teambit/component';\nimport { TestsResult, TestsFiles } from '@teambit/tests-results';\nimport type { EnvsMain } from '@teambit/envs';\nimport { TesterMain } from './tester.main.runtime';\nimport type { TestResults } from './tester.main.runtime';\n\nfunction mkResults(): TestResults {\n const componentId = ComponentID.fromString('my-scope/button');\n const files = [new TestsFiles('button.spec.ts', [], 1, 0, 0, 0, false)];\n return {\n results: [\n {\n env: { id: 'my-org.my-scope/my-env' },\n data: { components: [{ componentId, results: new TestsResult(files, true, 0) }] },\n },\n ],\n errors: [],\n } as unknown as TestResults;\n}\n\nfunction mkTester(calls: string[]) {\n const results = mkResults();\n const envsRuntime = {\n run: async () => {\n calls.push('run');\n return results;\n },\n runEnv: async () => {\n calls.push('runEnv');\n return results;\n },\n };\n const envs = { createEnvironment: async () => envsRuntime } as unknown as EnvsMain;\n const args = [[], undefined, envs, undefined, {}, undefined, undefined, undefined] as unknown[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (TesterMain as any)(...args) as TesterMain;\n}\n\ndescribe('TesterMain.test() junit report', () => {\n let tmpDir: string;\n const components = [] as Component[];\n\n beforeEach(async () => {\n tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), 'tester-junit-'));\n });\n afterEach(async () => {\n await fs.remove(tmpDir);\n });\n\n it('writes the junit file when only junit is provided', async () => {\n const calls: string[] = [];\n const junit = path.join(tmpDir, 'results.xml');\n await mkTester(calls).test(components, { junit } as any);\n expect(calls).to.deep.equal(['run']);\n expect(await fs.pathExists(junit)).to.be.true;\n });\n\n it('writes the junit file when both env and junit are provided', async () => {\n const calls: string[] = [];\n const junit = path.join(tmpDir, 'results.xml');\n await mkTester(calls).test(components, { env: 'my-org.my-scope/my-env', junit } as any);\n expect(calls).to.deep.equal(['runEnv']);\n const content = await fs.readFile(junit, 'utf8');\n expect(content).to.include('<testsuites');\n expect(content).to.include('my-scope/button');\n });\n\n it('does not write a junit file when junit is not provided', async () => {\n const calls: string[] = [];\n await mkTester(calls).test(components, { env: 'my-org.my-scope/my-env' } as any);\n expect(await fs.readdir(tmpDir)).to.deep.equal([]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/tester",
3
- "version": "1.0.1278",
3
+ "version": "1.0.1280",
4
4
  "homepage": "https://bit.cloud/teambit/defender/tester",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "tester",
9
- "version": "1.0.1278"
9
+ "version": "1.0.1280"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.18.1",
@@ -18,34 +18,34 @@
18
18
  "cli-highlight": "2.1.9",
19
19
  "junit-report-builder": "3.0.1",
20
20
  "strip-ansi": "6.0.0",
21
+ "@teambit/cli": "0.0.1434",
22
+ "@teambit/component": "1.0.1251",
21
23
  "@teambit/bit-error": "0.0.404",
22
24
  "@teambit/legacy.constants": "0.0.51",
23
25
  "@teambit/logger": "0.0.1503",
24
26
  "@teambit/toolbox.path.path": "0.0.26",
25
27
  "@teambit/toolbox.time.timer": "0.0.23",
28
+ "@teambit/workspace": "1.0.1274",
29
+ "@teambit/envs": "1.0.1254",
26
30
  "@teambit/harmony": "0.4.12",
27
31
  "@teambit/component-id": "1.2.5",
28
- "@teambit/graphql": "1.0.1212",
32
+ "@teambit/graphql": "1.0.1213",
33
+ "@teambit/builder": "1.0.1274",
34
+ "@teambit/dev-files": "1.0.1274",
29
35
  "@teambit/harmony.modules.runtimes": "0.0.4",
30
36
  "@teambit/tests-results": "1.0.5",
37
+ "@teambit/ui": "1.0.1273",
38
+ "@teambit/compiler": "1.0.1274",
31
39
  "@teambit/component.sources": "0.0.247",
32
40
  "@teambit/envs.contracts": "0.0.2",
41
+ "@teambit/component-compare": "1.0.1276",
33
42
  "@teambit/defender.ui.test-compare-section": "0.0.102",
34
43
  "@teambit/defender.ui.test-compare": "0.0.333",
35
44
  "@teambit/design.ui.pill-label": "0.0.360",
36
45
  "@teambit/design.ui.tooltip": "0.0.389",
46
+ "@teambit/docs": "1.0.1279",
37
47
  "@teambit/evangelist.elements.icon": "1.0.5",
38
- "@teambit/defender.ui.test-page": "0.0.105",
39
- "@teambit/cli": "0.0.1434",
40
- "@teambit/component": "1.0.1250",
41
- "@teambit/workspace": "1.0.1273",
42
- "@teambit/envs": "1.0.1253",
43
- "@teambit/builder": "1.0.1273",
44
- "@teambit/dev-files": "1.0.1273",
45
- "@teambit/ui": "1.0.1272",
46
- "@teambit/compiler": "1.0.1273",
47
- "@teambit/component-compare": "1.0.1275",
48
- "@teambit/docs": "1.0.1278"
48
+ "@teambit/defender.ui.test-page": "0.0.105"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/lodash": "4.14.165",