From 60c80611eab227791fabb883caf93418cef5fd00 Mon Sep 17 00:00:00 2001 From: undergroundwires Date: Thu, 15 Apr 2021 18:33:15 +0200 Subject: [PATCH] add module alias '@tests/' Alias would remove unnecessary repetitions and less relative paths make changes easier when moving around files. This commit cleans also up some relative paths ('../../../') by using the alias and orders imports. It updates both path alias in tsconfig and module alias in Vue CLI's bundler (vuejs/vue-cli#2398). --- docs/tests.md | 12 ++++++++---- .../Script/CategoryCollectionParseContext.ts | 2 +- .../Script/Compiler/Function/FunctionCompiler.ts | 2 +- .../Script/Compiler/Function/IFunctionCompiler.ts | 2 +- .../Compiler/FunctionCall/FunctionCallCompiler.ts | 2 +- .../Compiler/FunctionCall/IFunctionCallCompiler.ts | 2 +- src/application/collections/collection.yaml.d.ts | 2 +- tests/unit/application/ApplicationFactory.spec.ts | 2 +- .../ScriptingLanguageFactory.spec.ts | 2 +- .../ScriptingLanguageFactoryTestRunner.ts | 5 +++-- .../application/Context/ApplicationContext.spec.ts | 6 +++--- .../Context/ApplicationContextFactory.spec.ts | 6 +++--- .../Context/State/CategoryCollectionState.spec.ts | 6 +++--- .../Context/State/Code/ApplicationCode.spec.ts | 8 ++++---- .../State/Code/Event/CodeChangedEvent.spec.ts | 4 ++-- .../Code/Generation/CodeBuilderFactory.spec.ts | 3 +-- .../Code/Generation/UserScriptGenerator.spec.ts | 4 ++-- .../State/Code/Position/CodePosition.spec.ts | 2 +- .../Context/State/Filter/FilterResult.spec.ts | 6 +++--- .../Context/State/Filter/UserFilter.spec.ts | 7 +++---- .../Context/State/Selection/SelectedScript.spec.ts | 4 ++-- .../Context/State/Selection/UserSelection.spec.ts | 8 ++++---- .../BrowserOs/BrowserOsDetector.spec.ts | 1 + .../application/Environment/Environment.spec.ts | 3 ++- .../application/Parser/ApplicationParser.spec.ts | 6 +++--- .../Parser/CategoryCollectionParser.spec.ts | 14 +++++++------- .../unit/application/Parser/CategoryParser.spec.ts | 10 +++++----- .../Parser/ProjectInformationParser.spec.ts | 2 +- .../Script/CategoryCollectionParseContext.spec.ts | 8 ++++---- .../Expressions/ExpressionsCompiler.spec.ts | 4 ++-- .../Parser/CompositeExpressionParser.spec.ts | 2 +- .../Compiler/Function/FunctionCompiler.spec.ts | 6 +++--- .../Function/SharedFunctionCollection.spec.ts | 2 +- .../FunctionCall/FunctionCallCompiler.spec.ts | 8 ++++---- .../Parser/Script/Compiler/ScriptCompiler.spec.ts | 12 ++++++------ .../application/Parser/Script/ScriptParser.spec.ts | 12 ++++++------ .../Parser/Script/Syntax/ConcreteSyntaxes.spec.ts | 1 - .../Parser/Script/Syntax/SyntaxFactory.spec.ts | 2 +- .../ScriptingDefinition/CodeSubstituter.spec.ts | 4 ++-- .../ScriptingDefinitionParser.spec.ts | 8 ++++---- tests/unit/domain/Application.spec.ts | 4 ++-- tests/unit/domain/Category.spec.ts | 4 ++-- tests/unit/domain/CategoryCollection.spec.ts | 6 +++--- tests/unit/domain/ProjectInformation.spec.ts | 2 +- tests/unit/domain/Script.spec.ts | 4 ++-- tests/unit/domain/ScriptCode.spec.ts | 2 +- tests/unit/infrastructure/AsyncLazy.spec.ts | 14 ++++++-------- tests/unit/infrastructure/CodeRunner.spec.ts | 4 ++-- .../unit/infrastructure/Events/EventSource.spec.ts | 5 ++--- .../Events/EventSubscriptionCollection.spec.ts | 4 ++-- .../unit/infrastructure/InMemoryRepository.spec.ts | 5 +++-- .../Scripts/ScriptsTree/ScriptNodeParser.spec.ts | 6 +++--- .../Node/Reverter/CategoryReverter.spec.ts | 6 +++--- .../Node/Reverter/ReverterFactory.spec.ts | 6 +++--- .../Node/Reverter/ScriptReverter.spec.ts | 8 ++++---- .../stubs/CategoryCollectionParseContextStub.ts | 4 ++-- tests/unit/stubs/CategoryCollectionStub.ts | 4 ++-- tests/unit/stubs/FunctionCallCompilerStub.ts | 2 +- tests/unit/stubs/FunctionCompilerStub.ts | 2 +- tests/unit/stubs/FunctionDataStub.ts | 2 +- tsconfig.json | 7 +++++-- vue.config.js | 7 +++++++ 62 files changed, 161 insertions(+), 149 deletions(-) diff --git a/docs/tests.md b/docs/tests.md index c5084850..43625a1f 100644 --- a/docs/tests.md +++ b/docs/tests.md @@ -1,16 +1,20 @@ -# Unit tests +# Tests + +- 💡 You can use path/module alias `@/tests` in import statements. + +## Unit tests - Unit tests are defined in [`./tests`](./../tests) - They follow same folder structure as [`./src`](./../src) -## Naming +### Naming - Each test suite first describe the system under test - E.g. tests for class `Application` is categorized under `Application` - Tests for specific methods are categorized under method name (if applicable) - E.g. test for `run()` is categorized under `run` -## Act, arrange, assert +### Act, arrange, assert - Tests use act, arrange and assert (AAA) pattern when applicable - **Arrange** @@ -23,7 +27,7 @@ - Should elicit some sort of response - Starts with comment line `// assert` -## Stubs +### Stubs - Stubs are defined in [`./tests/stubs`](./../tests/unit/stubs) - They implement dummy behavior to be functional diff --git a/src/application/Parser/Script/CategoryCollectionParseContext.ts b/src/application/Parser/Script/CategoryCollectionParseContext.ts index 8ddd1646..9ce00183 100644 --- a/src/application/Parser/Script/CategoryCollectionParseContext.ts +++ b/src/application/Parser/Script/CategoryCollectionParseContext.ts @@ -1,6 +1,6 @@ import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { ILanguageSyntax } from '@/domain/ScriptCode'; -import { FunctionData } from 'js-yaml-loader!*'; +import { FunctionData } from 'js-yaml-loader!@/*'; import { IScriptCompiler } from './Compiler/IScriptCompiler'; import { ScriptCompiler } from './Compiler/ScriptCompiler'; import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; diff --git a/src/application/Parser/Script/Compiler/Function/FunctionCompiler.ts b/src/application/Parser/Script/Compiler/Function/FunctionCompiler.ts index be9d900d..96e6841e 100644 --- a/src/application/Parser/Script/Compiler/Function/FunctionCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/FunctionCompiler.ts @@ -1,4 +1,4 @@ -import { FunctionData, InstructionHolder } from 'js-yaml-loader!*'; +import { FunctionData, InstructionHolder } from 'js-yaml-loader!@/*'; import { SharedFunction } from './SharedFunction'; import { SharedFunctionCollection } from './SharedFunctionCollection'; import { ISharedFunctionCollection } from './ISharedFunctionCollection'; diff --git a/src/application/Parser/Script/Compiler/Function/IFunctionCompiler.ts b/src/application/Parser/Script/Compiler/Function/IFunctionCompiler.ts index c000daea..27558bbc 100644 --- a/src/application/Parser/Script/Compiler/Function/IFunctionCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/IFunctionCompiler.ts @@ -1,4 +1,4 @@ -import { FunctionData } from 'js-yaml-loader!*'; +import { FunctionData } from 'js-yaml-loader!@/*'; import { ISharedFunctionCollection } from './ISharedFunctionCollection'; export interface IFunctionCompiler { diff --git a/src/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.ts index 33e78656..715323a4 100644 --- a/src/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.ts @@ -1,4 +1,4 @@ -import { FunctionCallData, FunctionCallParametersData, FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!*'; +import { FunctionCallData, FunctionCallParametersData, FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!@/*'; import { ICompiledCode } from './ICompiledCode'; import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection'; import { IFunctionCallCompiler } from './IFunctionCallCompiler'; diff --git a/src/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler.ts index 950f8b8b..2fb0fac5 100644 --- a/src/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler.ts @@ -1,4 +1,4 @@ -import { ScriptFunctionCallData } from 'js-yaml-loader!*'; +import { ScriptFunctionCallData } from 'js-yaml-loader!@/*'; import { ICompiledCode } from './ICompiledCode'; import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection'; diff --git a/src/application/collections/collection.yaml.d.ts b/src/application/collections/collection.yaml.d.ts index 7de03da4..020bb876 100644 --- a/src/application/collections/collection.yaml.d.ts +++ b/src/application/collections/collection.yaml.d.ts @@ -1,4 +1,4 @@ -declare module 'js-yaml-loader!*' { +declare module 'js-yaml-loader!@/*' { export interface CollectionData { readonly os: string; readonly scripting: ScriptingDefinitionData; diff --git a/tests/unit/application/ApplicationFactory.spec.ts b/tests/unit/application/ApplicationFactory.spec.ts index 71ed4215..a991ebb2 100644 --- a/tests/unit/application/ApplicationFactory.spec.ts +++ b/tests/unit/application/ApplicationFactory.spec.ts @@ -1,7 +1,7 @@ import 'mocha'; import { expect } from 'chai'; import { ApplicationFactory, ApplicationGetter } from '@/application/ApplicationFactory'; -import { ApplicationStub } from '../stubs/ApplicationStub'; +import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub'; describe('ApplicationFactory', () => { describe('ctor', () => { diff --git a/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactory.spec.ts b/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactory.spec.ts index 0bdc687b..2245f82f 100644 --- a/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactory.spec.ts +++ b/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactory.spec.ts @@ -3,7 +3,7 @@ import { expect } from 'chai'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory'; import { ScriptingLanguageFactoryTestRunner } from './ScriptingLanguageFactoryTestRunner'; -import { EnumRangeTestRunner } from '../EnumRangeTestRunner'; +import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner'; class ScriptingLanguageConcrete extends ScriptingLanguageFactory { public registerGetter(language: ScriptingLanguage, getter: () => number) { diff --git a/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner.ts b/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner.ts index 492e0b36..4369c104 100644 --- a/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner.ts +++ b/tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner.ts @@ -1,7 +1,8 @@ +import 'mocha'; +import { expect } from 'chai'; import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; -import { expect } from 'chai'; -import { EnumRangeTestRunner } from '../EnumRangeTestRunner'; +import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner'; export class ScriptingLanguageFactoryTestRunner { private expectedTypes = new Map(); diff --git a/tests/unit/application/Context/ApplicationContext.spec.ts b/tests/unit/application/Context/ApplicationContext.spec.ts index 2fe3e50a..bd969a08 100644 --- a/tests/unit/application/Context/ApplicationContext.spec.ts +++ b/tests/unit/application/Context/ApplicationContext.spec.ts @@ -5,9 +5,9 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; import { ICategoryCollectionState } from '@/application/Context/State/ICategoryCollectionState'; import { IApplicationContext, IApplicationContextChangedEvent } from '@/application/Context/IApplicationContext'; import { IApplication } from '@/domain/IApplication'; -import { ApplicationStub } from '../../stubs/ApplicationStub'; -import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub'; -import { EnumRangeTestRunner } from '../Common/EnumRangeTestRunner'; +import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner'; describe('ApplicationContext', () => { describe('changeContext', () => { diff --git a/tests/unit/application/Context/ApplicationContextFactory.spec.ts b/tests/unit/application/Context/ApplicationContextFactory.spec.ts index 0c5cd329..61ff8784 100644 --- a/tests/unit/application/Context/ApplicationContextFactory.spec.ts +++ b/tests/unit/application/Context/ApplicationContextFactory.spec.ts @@ -2,12 +2,12 @@ import 'mocha'; import { expect } from 'chai'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub'; -import { EnvironmentStub } from '../../stubs/EnvironmentStub'; -import { ApplicationStub } from '../../stubs/ApplicationStub'; import { buildContextAsync } from '@/application/Context/ApplicationContextFactory'; import { IApplicationFactory } from '@/application/IApplicationFactory'; import { IApplication } from '@/domain/IApplication'; +import { EnvironmentStub } from '@tests/unit/stubs/EnvironmentStub'; +import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; describe('ApplicationContextFactory', () => { describe('buildContextAsync', () => { diff --git a/tests/unit/application/Context/State/CategoryCollectionState.spec.ts b/tests/unit/application/Context/State/CategoryCollectionState.spec.ts index 2c35b59b..fa7e7b08 100644 --- a/tests/unit/application/Context/State/CategoryCollectionState.spec.ts +++ b/tests/unit/application/Context/State/CategoryCollectionState.spec.ts @@ -5,9 +5,9 @@ import { ApplicationCode } from '@/application/Context/State/Code/ApplicationCod import { CategoryCollectionState } from '@/application/Context/State/CategoryCollectionState'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { IScript } from '@/domain/IScript'; -import { ScriptStub } from '../../../stubs/ScriptStub'; -import { CategoryStub } from '../../../stubs/CategoryStub'; -import { CategoryCollectionStub } from '../../../stubs/CategoryCollectionStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; describe('CategoryCollectionState', () => { describe('code', () => { diff --git a/tests/unit/application/Context/State/Code/ApplicationCode.spec.ts b/tests/unit/application/Context/State/Code/ApplicationCode.spec.ts index 961df803..bc51e5e7 100644 --- a/tests/unit/application/Context/State/Code/ApplicationCode.spec.ts +++ b/tests/unit/application/Context/State/Code/ApplicationCode.spec.ts @@ -9,10 +9,10 @@ import { CodePosition } from '@/application/Context/State/Code/Position/CodePosi import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IUserScript } from '@/application/Context/State/Code/Generation/IUserScript'; -import { ScriptingDefinitionStub } from '../../../../stubs/ScriptingDefinitionStub'; -import { CategoryStub } from '../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../stubs/ScriptStub'; -import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub'; +import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; describe('ApplicationCode', () => { describe('ctor', () => { diff --git a/tests/unit/application/Context/State/Code/Event/CodeChangedEvent.spec.ts b/tests/unit/application/Context/State/Code/Event/CodeChangedEvent.spec.ts index 29b446ae..e81a015d 100644 --- a/tests/unit/application/Context/State/Code/Event/CodeChangedEvent.spec.ts +++ b/tests/unit/application/Context/State/Code/Event/CodeChangedEvent.spec.ts @@ -4,8 +4,8 @@ import { CodeChangedEvent } from '@/application/Context/State/Code/Event/CodeCha import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition'; -import { SelectedScriptStub } from '../../../../../stubs/SelectedScriptStub'; -import { ScriptStub } from '../../../../../stubs/ScriptStub'; +import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('CodeChangedEvent', () => { describe('ctor', () => { diff --git a/tests/unit/application/Context/State/Code/Generation/CodeBuilderFactory.spec.ts b/tests/unit/application/Context/State/Code/Generation/CodeBuilderFactory.spec.ts index 8580eaf3..0825ec52 100644 --- a/tests/unit/application/Context/State/Code/Generation/CodeBuilderFactory.spec.ts +++ b/tests/unit/application/Context/State/Code/Generation/CodeBuilderFactory.spec.ts @@ -1,9 +1,8 @@ -import 'mocha'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ShellBuilder } from '@/application/Context/State/Code/Generation/Languages/ShellBuilder'; import { BatchBuilder } from '@/application/Context/State/Code/Generation/Languages/BatchBuilder'; import { CodeBuilderFactory } from '@/application/Context/State/Code/Generation/CodeBuilderFactory'; -import { ScriptingLanguageFactoryTestRunner } from '../../../../Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner'; +import { ScriptingLanguageFactoryTestRunner } from '@tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner'; describe('CodeBuilderFactory', () => { const sut = new CodeBuilderFactory(); diff --git a/tests/unit/application/Context/State/Code/Generation/UserScriptGenerator.spec.ts b/tests/unit/application/Context/State/Code/Generation/UserScriptGenerator.spec.ts index 25032a66..582b7c37 100644 --- a/tests/unit/application/Context/State/Code/Generation/UserScriptGenerator.spec.ts +++ b/tests/unit/application/Context/State/Code/Generation/UserScriptGenerator.spec.ts @@ -4,8 +4,8 @@ import { UserScriptGenerator } from '@/application/Context/State/Code/Generation import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; import { ICodeBuilderFactory } from '@/application/Context/State/Code/Generation/ICodeBuilderFactory'; import { ICodeBuilder } from '@/application/Context/State/Code/Generation/ICodeBuilder'; -import { ScriptStub } from '../../../../../stubs/ScriptStub'; -import { ScriptingDefinitionStub } from '../../../../../stubs/ScriptingDefinitionStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub'; describe('UserScriptGenerator', () => { describe('scriptingDefinition', () => { diff --git a/tests/unit/application/Context/State/Code/Position/CodePosition.spec.ts b/tests/unit/application/Context/State/Code/Position/CodePosition.spec.ts index 7167e663..3cb8fa1e 100644 --- a/tests/unit/application/Context/State/Code/Position/CodePosition.spec.ts +++ b/tests/unit/application/Context/State/Code/Position/CodePosition.spec.ts @@ -1,6 +1,6 @@ -import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition'; import 'mocha'; import { expect } from 'chai'; +import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition'; describe('CodePosition', () => { describe('ctor', () => { diff --git a/tests/unit/application/Context/State/Filter/FilterResult.spec.ts b/tests/unit/application/Context/State/Filter/FilterResult.spec.ts index 85f49da5..c71ff819 100644 --- a/tests/unit/application/Context/State/Filter/FilterResult.spec.ts +++ b/tests/unit/application/Context/State/Filter/FilterResult.spec.ts @@ -1,8 +1,8 @@ -import { CategoryStub } from '../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../stubs/ScriptStub'; -import { FilterResult } from '@/application/Context/State/Filter/FilterResult'; import 'mocha'; import { expect } from 'chai'; +import { FilterResult } from '@/application/Context/State/Filter/FilterResult'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('FilterResult', () => { describe('hasAnyMatches', () => { diff --git a/tests/unit/application/Context/State/Filter/UserFilter.spec.ts b/tests/unit/application/Context/State/Filter/UserFilter.spec.ts index fca5a35b..a9a6fec2 100644 --- a/tests/unit/application/Context/State/Filter/UserFilter.spec.ts +++ b/tests/unit/application/Context/State/Filter/UserFilter.spec.ts @@ -1,11 +1,10 @@ - import 'mocha'; import { expect } from 'chai'; import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult'; import { UserFilter } from '@/application/Context/State/Filter/UserFilter'; -import { CategoryStub } from '../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../stubs/ScriptStub'; -import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; describe('UserFilter', () => { describe('removeFilter', () => { diff --git a/tests/unit/application/Context/State/Selection/SelectedScript.spec.ts b/tests/unit/application/Context/State/Selection/SelectedScript.spec.ts index 2f6d0f5f..8044cbce 100644 --- a/tests/unit/application/Context/State/Selection/SelectedScript.spec.ts +++ b/tests/unit/application/Context/State/Selection/SelectedScript.spec.ts @@ -1,7 +1,7 @@ -import { ScriptStub } from '../../../../stubs/ScriptStub'; -import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; import 'mocha'; import { expect } from 'chai'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; describe('SelectedScript', () => { it('id is same as script id', () => { diff --git a/tests/unit/application/Context/State/Selection/UserSelection.spec.ts b/tests/unit/application/Context/State/Selection/UserSelection.spec.ts index ed008efe..73eb81e7 100644 --- a/tests/unit/application/Context/State/Selection/UserSelection.spec.ts +++ b/tests/unit/application/Context/State/Selection/UserSelection.spec.ts @@ -3,10 +3,10 @@ import { expect } from 'chai'; import { IScript } from '@/domain/IScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection'; -import { CategoryStub } from '../../../../stubs/CategoryStub'; -import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub'; -import { SelectedScriptStub } from '../../../../stubs/SelectedScriptStub'; -import { ScriptStub } from '../../../../stubs/ScriptStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('UserSelection', () => { describe('ctor', () => { diff --git a/tests/unit/application/Environment/BrowserOs/BrowserOsDetector.spec.ts b/tests/unit/application/Environment/BrowserOs/BrowserOsDetector.spec.ts index fb2baded..6637266a 100644 --- a/tests/unit/application/Environment/BrowserOs/BrowserOsDetector.spec.ts +++ b/tests/unit/application/Environment/BrowserOs/BrowserOsDetector.spec.ts @@ -1,3 +1,4 @@ +import 'mocha'; import { expect } from 'chai'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { BrowserOsDetector } from '@/application/Environment/BrowserOs/BrowserOsDetector'; diff --git a/tests/unit/application/Environment/Environment.spec.ts b/tests/unit/application/Environment/Environment.spec.ts index c5ef40c1..5d763383 100644 --- a/tests/unit/application/Environment/Environment.spec.ts +++ b/tests/unit/application/Environment/Environment.spec.ts @@ -1,8 +1,9 @@ +import 'mocha'; +import { expect } from 'chai'; import { IBrowserOsDetector } from '@/application/Environment/BrowserOs/IBrowserOsDetector'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { DesktopOsTestCases } from './DesktopOsTestCases'; import { Environment } from '@/application/Environment/Environment'; -import { expect } from 'chai'; interface EnvironmentVariables { window?: any; diff --git a/tests/unit/application/Parser/ApplicationParser.spec.ts b/tests/unit/application/Parser/ApplicationParser.spec.ts index 2eecc311..d553663a 100644 --- a/tests/unit/application/Parser/ApplicationParser.spec.ts +++ b/tests/unit/application/Parser/ApplicationParser.spec.ts @@ -10,9 +10,9 @@ import { ProjectInformation } from '@/domain/ProjectInformation'; import { ICategoryCollection } from '@/domain/ICategoryCollection'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { getEnumValues } from '@/application/Common/Enum'; -import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub'; -import { getProcessEnvironmentStub } from '../../stubs/ProcessEnvironmentStub'; -import { CollectionDataStub } from '../../stubs/CollectionDataStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { getProcessEnvironmentStub } from '@tests/unit/stubs/ProcessEnvironmentStub'; +import { CollectionDataStub } from '@tests/unit/stubs/CollectionDataStub'; describe('ApplicationParser', () => { describe('parseApplication', () => { diff --git a/tests/unit/application/Parser/CategoryCollectionParser.spec.ts b/tests/unit/application/Parser/CategoryCollectionParser.spec.ts index a0c5df78..5f03796f 100644 --- a/tests/unit/application/Parser/CategoryCollectionParser.spec.ts +++ b/tests/unit/application/Parser/CategoryCollectionParser.spec.ts @@ -7,13 +7,13 @@ import { parseProjectInformation } from '@/application/Parser/ProjectInformation import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { ScriptingDefinitionParser } from '@/application/Parser/ScriptingDefinition/ScriptingDefinitionParser'; -import { EnumParserStub } from '../../stubs/EnumParserStub'; -import { ProjectInformationStub } from '../../stubs/ProjectInformationStub'; -import { getCategoryStub, CollectionDataStub } from '../../stubs/CollectionDataStub'; -import { CategoryCollectionParseContextStub } from '../../stubs/CategoryCollectionParseContextStub'; -import { CategoryDataStub } from '../../stubs/CategoryDataStub'; -import { ScriptDataStub } from '../../stubs/ScriptDataStub'; -import { FunctionDataStub } from '../../stubs/FunctionDataStub'; +import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub'; +import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub'; +import { getCategoryStub, CollectionDataStub } from '@tests/unit/stubs/CollectionDataStub'; +import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub'; +import { CategoryDataStub } from '@tests/unit/stubs/CategoryDataStub'; +import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub'; +import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub'; describe('CategoryCollectionParser', () => { describe('parseCategoryCollection', () => { diff --git a/tests/unit/application/Parser/CategoryParser.spec.ts b/tests/unit/application/Parser/CategoryParser.spec.ts index cc292de0..08e07d3e 100644 --- a/tests/unit/application/Parser/CategoryParser.spec.ts +++ b/tests/unit/application/Parser/CategoryParser.spec.ts @@ -3,11 +3,11 @@ import { expect } from 'chai'; import { parseCategory } from '@/application/Parser/CategoryParser'; import { parseScript } from '@/application/Parser/Script/ScriptParser'; import { parseDocUrls } from '@/application/Parser/DocumentationParser'; -import { ScriptCompilerStub } from '../../stubs/ScriptCompilerStub'; -import { ScriptDataStub } from '../../stubs/ScriptDataStub'; -import { CategoryCollectionParseContextStub } from '../../stubs/CategoryCollectionParseContextStub'; -import { LanguageSyntaxStub } from '../../stubs/LanguageSyntaxStub'; -import { CategoryDataStub } from '../../stubs/CategoryDataStub'; +import { ScriptCompilerStub } from '@tests/unit/stubs/ScriptCompilerStub'; +import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub'; +import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub'; +import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub'; +import { CategoryDataStub } from '@tests/unit/stubs/CategoryDataStub'; describe('CategoryParser', () => { describe('parseCategory', () => { diff --git a/tests/unit/application/Parser/ProjectInformationParser.spec.ts b/tests/unit/application/Parser/ProjectInformationParser.spec.ts index dbe0de25..1c50f16c 100644 --- a/tests/unit/application/Parser/ProjectInformationParser.spec.ts +++ b/tests/unit/application/Parser/ProjectInformationParser.spec.ts @@ -1,7 +1,7 @@ import 'mocha'; import { expect } from 'chai'; import { parseProjectInformation } from '@/application/Parser/ProjectInformationParser'; -import { getProcessEnvironmentStub } from '../../stubs/ProcessEnvironmentStub'; +import { getProcessEnvironmentStub } from '@tests/unit/stubs/ProcessEnvironmentStub'; describe('ProjectInformationParser', () => { describe('parseProjectInformation', () => { diff --git a/tests/unit/application/Parser/Script/CategoryCollectionParseContext.spec.ts b/tests/unit/application/Parser/Script/CategoryCollectionParseContext.spec.ts index 5d3160e6..19896b4b 100644 --- a/tests/unit/application/Parser/Script/CategoryCollectionParseContext.spec.ts +++ b/tests/unit/application/Parser/Script/CategoryCollectionParseContext.spec.ts @@ -1,14 +1,14 @@ import 'mocha'; import { expect } from 'chai'; +import { FunctionData } from 'js-yaml-loader!@/*'; import { ISyntaxFactory } from '@/application/Parser/Script/Syntax/ISyntaxFactory'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; -import { LanguageSyntaxStub } from '../../../stubs/LanguageSyntaxStub'; import { CategoryCollectionParseContext } from '@/application/Parser/Script/CategoryCollectionParseContext'; -import { ScriptingDefinitionStub } from '../../../stubs/ScriptingDefinitionStub'; -import { FunctionDataStub } from '../../../stubs/FunctionDataStub'; import { ILanguageSyntax } from '@/domain/ScriptCode'; import { ScriptCompiler } from '@/application/Parser/Script/Compiler/ScriptCompiler'; -import { FunctionData } from 'js-yaml-loader!*'; +import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub'; +import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub'; +import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub'; describe('CategoryCollectionParseContext', () => { describe('ctor', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.spec.ts b/tests/unit/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.spec.ts index c879b25e..77410888 100644 --- a/tests/unit/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.spec.ts @@ -2,8 +2,8 @@ import 'mocha'; import { expect } from 'chai'; import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; -import { ExpressionStub } from '../../../../../stubs/ExpressionStub'; -import { ExpressionParserStub } from '../../../../../stubs/ExpressionParserStub'; +import { ExpressionStub } from '@tests/unit/stubs/ExpressionStub'; +import { ExpressionParserStub } from '@tests/unit/stubs/ExpressionParserStub'; describe('ExpressionsCompiler', () => { describe('compileExpressions', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.spec.ts b/tests/unit/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.spec.ts index 24cc2cd0..fe11da74 100644 --- a/tests/unit/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.spec.ts @@ -3,7 +3,7 @@ import { expect } from 'chai'; import { IExpression } from '@/application/Parser/Script/Compiler/Expressions/Expression/IExpression'; import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; import { CompositeExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser'; -import { ExpressionStub } from '../../../../../../stubs/ExpressionStub'; +import { ExpressionStub } from '@tests/unit/stubs/ExpressionStub'; describe('CompositeExpressionParser', () => { describe('ctor', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/Function/FunctionCompiler.spec.ts b/tests/unit/application/Parser/Script/Compiler/Function/FunctionCompiler.spec.ts index c0e5a347..4aa6170c 100644 --- a/tests/unit/application/Parser/Script/Compiler/Function/FunctionCompiler.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/Function/FunctionCompiler.spec.ts @@ -1,11 +1,11 @@ import 'mocha'; import { expect } from 'chai'; import { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionData } from 'js-yaml-loader!*'; +import { FunctionData } from 'js-yaml-loader!@/*'; import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler'; import { FunctionCompiler } from '@/application/Parser/Script/Compiler/Function/FunctionCompiler'; -import { FunctionCallCompilerStub } from '../../../../../stubs/FunctionCallCompilerStub'; -import { FunctionDataStub } from '../../../../../stubs/FunctionDataStub'; +import { FunctionCallCompilerStub } from '@tests/unit/stubs/FunctionCallCompilerStub'; +import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub'; describe('FunctionsCompiler', () => { describe('compileFunctions', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/Function/SharedFunctionCollection.spec.ts b/tests/unit/application/Parser/Script/Compiler/Function/SharedFunctionCollection.spec.ts index 165694b3..410203b1 100644 --- a/tests/unit/application/Parser/Script/Compiler/Function/SharedFunctionCollection.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/Function/SharedFunctionCollection.spec.ts @@ -1,7 +1,7 @@ import 'mocha'; import { expect } from 'chai'; import { SharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/SharedFunctionCollection'; -import { SharedFunctionStub } from '../../../../../stubs/SharedFunctionStub'; +import { SharedFunctionStub } from '@tests/unit/stubs/SharedFunctionStub'; describe('SharedFunctionCollection', () => { describe('addFunction', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.spec.ts b/tests/unit/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.spec.ts index 6797266d..862a64bd 100644 --- a/tests/unit/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler.spec.ts @@ -1,12 +1,12 @@ import 'mocha'; import { expect } from 'chai'; -import { FunctionCallData, FunctionCallParametersData } from 'js-yaml-loader!*'; +import { FunctionCallData, FunctionCallParametersData } from 'js-yaml-loader!@/*'; import { FunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler'; import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { ExpressionsCompilerStub } from '../../../../../stubs/ExpressionsCompilerStub'; -import { SharedFunctionCollectionStub } from '../../../../../stubs/SharedFunctionCollectionStub'; -import { SharedFunctionStub } from '../../../../../stubs/SharedFunctionStub'; +import { ExpressionsCompilerStub } from '@tests/unit/stubs/ExpressionsCompilerStub'; +import { SharedFunctionCollectionStub } from '@tests/unit/stubs/SharedFunctionCollectionStub'; +import { SharedFunctionStub } from '@tests/unit/stubs/SharedFunctionStub'; describe('FunctionCallCompiler', () => { describe('compileCall', () => { diff --git a/tests/unit/application/Parser/Script/Compiler/ScriptCompiler.spec.ts b/tests/unit/application/Parser/Script/Compiler/ScriptCompiler.spec.ts index 1b252634..48f38cf0 100644 --- a/tests/unit/application/Parser/Script/Compiler/ScriptCompiler.spec.ts +++ b/tests/unit/application/Parser/Script/Compiler/ScriptCompiler.spec.ts @@ -6,12 +6,12 @@ import { ILanguageSyntax } from '@/domain/ScriptCode'; import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler'; import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler'; import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode'; -import { LanguageSyntaxStub } from '../../../../stubs/LanguageSyntaxStub'; -import { ScriptDataStub } from '../../../../stubs/ScriptDataStub'; -import { FunctionDataStub } from '../../../../stubs/FunctionDataStub'; -import { FunctionCallCompilerStub } from '../../../../stubs/FunctionCallCompilerStub'; -import { FunctionCompilerStub } from '../../../../stubs/FunctionCompilerStub'; -import { SharedFunctionCollectionStub } from '../../../../stubs/SharedFunctionCollectionStub'; +import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub'; +import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub'; +import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub'; +import { FunctionCallCompilerStub } from '@tests/unit/stubs/FunctionCallCompilerStub'; +import { FunctionCompilerStub } from '@tests/unit/stubs/FunctionCompilerStub'; +import { SharedFunctionCollectionStub } from '@tests/unit/stubs/SharedFunctionCollectionStub'; describe('ScriptCompiler', () => { describe('ctor', () => { diff --git a/tests/unit/application/Parser/Script/ScriptParser.spec.ts b/tests/unit/application/Parser/Script/ScriptParser.spec.ts index b22fba6e..5b1d3271 100644 --- a/tests/unit/application/Parser/Script/ScriptParser.spec.ts +++ b/tests/unit/application/Parser/Script/ScriptParser.spec.ts @@ -4,12 +4,12 @@ import { parseScript } from '@/application/Parser/Script/ScriptParser'; import { parseDocUrls } from '@/application/Parser/DocumentationParser'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext'; -import { ScriptCompilerStub } from '../../../stubs/ScriptCompilerStub'; -import { ScriptDataStub } from '../../../stubs/ScriptDataStub'; -import { EnumParserStub } from '../../../stubs/EnumParserStub'; -import { ScriptCodeStub } from '../../../stubs/ScriptCodeStub'; -import { CategoryCollectionParseContextStub } from '../../../stubs/CategoryCollectionParseContextStub'; -import { LanguageSyntaxStub } from '../../../stubs/LanguageSyntaxStub'; +import { ScriptCompilerStub } from '@tests/unit/stubs/ScriptCompilerStub'; +import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub'; +import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub'; +import { ScriptCodeStub } from '@tests/unit/stubs/ScriptCodeStub'; +import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub'; +import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub'; describe('ScriptParser', () => { describe('parseScript', () => { diff --git a/tests/unit/application/Parser/Script/Syntax/ConcreteSyntaxes.spec.ts b/tests/unit/application/Parser/Script/Syntax/ConcreteSyntaxes.spec.ts index 9fad3329..a15c3faa 100644 --- a/tests/unit/application/Parser/Script/Syntax/ConcreteSyntaxes.spec.ts +++ b/tests/unit/application/Parser/Script/Syntax/ConcreteSyntaxes.spec.ts @@ -4,7 +4,6 @@ import { ILanguageSyntax } from '@/domain/ScriptCode'; import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax'; import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax'; - function getSystemsUnderTest(): ILanguageSyntax[] { return [ new BatchFileSyntax(), new ShellScriptSyntax() ]; } diff --git a/tests/unit/application/Parser/Script/Syntax/SyntaxFactory.spec.ts b/tests/unit/application/Parser/Script/Syntax/SyntaxFactory.spec.ts index c7bfa722..ceb0243e 100644 --- a/tests/unit/application/Parser/Script/Syntax/SyntaxFactory.spec.ts +++ b/tests/unit/application/Parser/Script/Syntax/SyntaxFactory.spec.ts @@ -3,7 +3,7 @@ import { SyntaxFactory } from '@/application/Parser/Script/Syntax/SyntaxFactory' import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax'; import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax'; -import { ScriptingLanguageFactoryTestRunner } from '../../../Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner'; +import { ScriptingLanguageFactoryTestRunner } from '@tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner'; describe('SyntaxFactory', () => { const sut = new SyntaxFactory(); diff --git a/tests/unit/application/Parser/ScriptingDefinition/CodeSubstituter.spec.ts b/tests/unit/application/Parser/ScriptingDefinition/CodeSubstituter.spec.ts index f583d7c9..ee9e8dfd 100644 --- a/tests/unit/application/Parser/ScriptingDefinition/CodeSubstituter.spec.ts +++ b/tests/unit/application/Parser/ScriptingDefinition/CodeSubstituter.spec.ts @@ -2,8 +2,8 @@ import 'mocha'; import { expect } from 'chai'; import { CodeSubstituter } from '@/application/Parser/ScriptingDefinition/CodeSubstituter'; import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { ProjectInformationStub } from '../../../stubs/ProjectInformationStub'; -import { ExpressionsCompilerStub } from '../../../stubs/ExpressionsCompilerStub'; +import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub'; +import { ExpressionsCompilerStub } from '@tests/unit/stubs/ExpressionsCompilerStub'; describe('CodeSubstituter', () => { describe('throws with invalid parameters', () => { diff --git a/tests/unit/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.spec.ts b/tests/unit/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.spec.ts index 2118fb1e..8ed47d32 100644 --- a/tests/unit/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.spec.ts +++ b/tests/unit/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.spec.ts @@ -5,10 +5,10 @@ import { ScriptingDefinitionParser } from '@/application/Parser/ScriptingDefinit import { IEnumParser } from '@/application/Common/Enum'; import { ICodeSubstituter } from '@/application/Parser/ScriptingDefinition/ICodeSubstituter'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { ProjectInformationStub } from '../../../stubs/ProjectInformationStub'; -import { EnumParserStub } from '../../../stubs/EnumParserStub'; -import { ScriptingDefinitionDataStub } from '../../../stubs/ScriptingDefinitionDataStub'; -import { CodeSubstituterStub } from '../../../stubs/CodeSubstituterStub'; +import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub'; +import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub'; +import { ScriptingDefinitionDataStub } from '@tests/unit/stubs/ScriptingDefinitionDataStub'; +import { CodeSubstituterStub } from '@tests/unit/stubs/CodeSubstituterStub'; describe('ScriptingDefinitionParser', () => { describe('parseScriptingDefinition', () => { diff --git a/tests/unit/domain/Application.spec.ts b/tests/unit/domain/Application.spec.ts index 863f2a68..274c613e 100644 --- a/tests/unit/domain/Application.spec.ts +++ b/tests/unit/domain/Application.spec.ts @@ -1,9 +1,9 @@ import 'mocha'; import { expect } from 'chai'; import { Application } from '@/domain/Application'; -import { CategoryCollectionStub } from '../stubs/CategoryCollectionStub'; -import { ProjectInformationStub } from '../stubs/ProjectInformationStub'; import { OperatingSystem } from '@/domain/OperatingSystem'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub'; describe('Application', () => { describe('getCollection', () => { diff --git a/tests/unit/domain/Category.spec.ts b/tests/unit/domain/Category.spec.ts index 8642e199..c7f60f1b 100644 --- a/tests/unit/domain/Category.spec.ts +++ b/tests/unit/domain/Category.spec.ts @@ -1,8 +1,8 @@ import 'mocha'; import { expect } from 'chai'; import { Category } from '@/domain/Category'; -import { CategoryStub } from '../stubs/CategoryStub'; -import { ScriptStub } from '../stubs/ScriptStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('Category', () => { describe('ctor', () => { diff --git a/tests/unit/domain/CategoryCollection.spec.ts b/tests/unit/domain/CategoryCollection.spec.ts index 180118dd..b1920ab7 100644 --- a/tests/unit/domain/CategoryCollection.spec.ts +++ b/tests/unit/domain/CategoryCollection.spec.ts @@ -7,9 +7,9 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { getEnumValues } from '@/application/Common/Enum'; import { CategoryCollection } from '@/domain/CategoryCollection'; -import { ScriptStub } from '../stubs/ScriptStub'; -import { CategoryStub } from '../stubs/CategoryStub'; -import { EnumRangeTestRunner } from '../application/Common/EnumRangeTestRunner'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner'; describe('CategoryCollection', () => { describe('getScriptsByLevel', () => { diff --git a/tests/unit/domain/ProjectInformation.spec.ts b/tests/unit/domain/ProjectInformation.spec.ts index 7b335ba7..d6add8cd 100644 --- a/tests/unit/domain/ProjectInformation.spec.ts +++ b/tests/unit/domain/ProjectInformation.spec.ts @@ -2,7 +2,7 @@ import 'mocha'; import { expect } from 'chai'; import { ProjectInformation } from '@/domain/ProjectInformation'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { EnumRangeTestRunner } from '../application/Common/EnumRangeTestRunner'; +import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner'; describe('ProjectInformation', () => { it('sets name as expected', () => { diff --git a/tests/unit/domain/Script.spec.ts b/tests/unit/domain/Script.spec.ts index 02477959..97e4677f 100644 --- a/tests/unit/domain/Script.spec.ts +++ b/tests/unit/domain/Script.spec.ts @@ -1,10 +1,10 @@ -import { getEnumValues } from '@/application/Common/Enum'; import 'mocha'; import { expect } from 'chai'; +import { getEnumValues } from '@/application/Common/Enum'; import { Script } from '@/domain/Script'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { IScriptCode } from '@/domain/IScriptCode'; -import { ScriptCodeStub } from '../stubs/ScriptCodeStub'; +import { ScriptCodeStub } from '@tests/unit/stubs/ScriptCodeStub'; describe('Script', () => { describe('ctor', () => { diff --git a/tests/unit/domain/ScriptCode.spec.ts b/tests/unit/domain/ScriptCode.spec.ts index 6e07da74..e3f7ca47 100644 --- a/tests/unit/domain/ScriptCode.spec.ts +++ b/tests/unit/domain/ScriptCode.spec.ts @@ -3,7 +3,7 @@ import { expect } from 'chai'; import { ScriptCode } from '@/domain/ScriptCode'; import { IScriptCode } from '@/domain/IScriptCode'; import { ILanguageSyntax } from '@/domain/ScriptCode'; -import { LanguageSyntaxStub } from '../stubs/LanguageSyntaxStub'; +import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub'; describe('ScriptCode', () => { describe('code', () => { diff --git a/tests/unit/infrastructure/AsyncLazy.spec.ts b/tests/unit/infrastructure/AsyncLazy.spec.ts index 2f7345fa..003f5edf 100644 --- a/tests/unit/infrastructure/AsyncLazy.spec.ts +++ b/tests/unit/infrastructure/AsyncLazy.spec.ts @@ -1,28 +1,24 @@ -import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy'; import 'mocha'; import { expect } from 'chai'; +import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy'; describe('AsyncLazy', () => { - it('returns value from lambda', async () => { // arrange const expected = 'test'; const lambda = () => Promise.resolve(expected); const sut = new AsyncLazy(lambda); - // act const actual = await sut.getValueAsync(); - // assert expect(actual).to.equal(expected); }); - describe('when running multiple times', () => { + // arrange let totalExecuted: number = 0; - beforeEach(() => totalExecuted = 0); - it('when running sync', async () => { + // act const sut = new AsyncLazy(() => { totalExecuted++; return Promise.resolve(totalExecuted); @@ -31,11 +27,12 @@ describe('AsyncLazy', () => { for (let i = 0; i < 5; i++) { results.push(await sut.getValueAsync()); } + // assert expect(totalExecuted).to.equal(1); expect(results).to.deep.equal([1, 1, 1, 1, 1]); }); - it('when running long-running task in parallel', async () => { + // act const sleepAsync = (time: number) => new Promise(((resolve) => setTimeout(resolve, time))); const sut = new AsyncLazy(async () => { await sleepAsync(100); @@ -48,6 +45,7 @@ describe('AsyncLazy', () => { sut.getValueAsync(), sut.getValueAsync(), sut.getValueAsync()]); + // assert expect(totalExecuted).to.equal(1); expect(results).to.deep.equal([1, 1, 1, 1, 1]); }); diff --git a/tests/unit/infrastructure/CodeRunner.spec.ts b/tests/unit/infrastructure/CodeRunner.spec.ts index f4d10e0b..46a7ac34 100644 --- a/tests/unit/infrastructure/CodeRunner.spec.ts +++ b/tests/unit/infrastructure/CodeRunner.spec.ts @@ -1,7 +1,7 @@ -import { EnvironmentStub } from './../stubs/EnvironmentStub'; -import { OperatingSystem } from '@/domain/OperatingSystem'; import 'mocha'; import { expect } from 'chai'; +import { EnvironmentStub } from '@tests/unit/stubs/EnvironmentStub'; +import { OperatingSystem } from '@/domain/OperatingSystem'; import { CodeRunner } from '@/infrastructure/CodeRunner'; describe('CodeRunner', () => { diff --git a/tests/unit/infrastructure/Events/EventSource.spec.ts b/tests/unit/infrastructure/Events/EventSource.spec.ts index d8e05975..1ace7eeb 100644 --- a/tests/unit/infrastructure/Events/EventSource.spec.ts +++ b/tests/unit/infrastructure/Events/EventSource.spec.ts @@ -1,7 +1,7 @@ +import 'mocha'; +import { expect } from 'chai'; import { EventHandler, IEventSource, IEventSubscription } from '@/infrastructure/Events/IEventSource'; import { EventSource } from '@/infrastructure/Events/EventSource'; -import { expect } from 'chai'; -import 'mocha'; describe('EventSource', () => { class ObserverMock { @@ -42,7 +42,6 @@ describe('EventSource', () => { expect(observer.onReceiveCalls).to.have.lengthOf(0); }); }); - describe('multiple observers', () => { // arrange let observers: ObserverMock[]; diff --git a/tests/unit/infrastructure/Events/EventSubscriptionCollection.spec.ts b/tests/unit/infrastructure/Events/EventSubscriptionCollection.spec.ts index 96d4c594..782cc3cf 100644 --- a/tests/unit/infrastructure/Events/EventSubscriptionCollection.spec.ts +++ b/tests/unit/infrastructure/Events/EventSubscriptionCollection.spec.ts @@ -1,7 +1,7 @@ +import 'mocha'; +import { expect } from 'chai'; import { EventSubscriptionCollection } from '@/infrastructure/Events/EventSubscriptionCollection'; import { IEventSubscription } from '@/infrastructure/Events/IEventSource'; -import { expect } from 'chai'; -import 'mocha'; describe('EventSubscriptionCollection', () => { it('unsubscribeAll unsubscribes from all registered subscriptions', () => { diff --git a/tests/unit/infrastructure/InMemoryRepository.spec.ts b/tests/unit/infrastructure/InMemoryRepository.spec.ts index 334f9532..ceb31381 100644 --- a/tests/unit/infrastructure/InMemoryRepository.spec.ts +++ b/tests/unit/infrastructure/InMemoryRepository.spec.ts @@ -1,6 +1,7 @@ -import { NumericEntityStub } from './../stubs/NumericEntityStub'; -import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository'; +import 'mocha'; import { expect } from 'chai'; +import { NumericEntityStub } from '@tests/unit/stubs/NumericEntityStub'; +import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository'; describe('InMemoryRepository', () => { describe('exists', () => { diff --git a/tests/unit/presentation/components/Scripts/ScriptsTree/ScriptNodeParser.spec.ts b/tests/unit/presentation/components/Scripts/ScriptsTree/ScriptNodeParser.spec.ts index 1660f39d..f3b3784b 100644 --- a/tests/unit/presentation/components/Scripts/ScriptsTree/ScriptNodeParser.spec.ts +++ b/tests/unit/presentation/components/Scripts/ScriptsTree/ScriptNodeParser.spec.ts @@ -6,9 +6,9 @@ import { parseSingleCategory, import { INode, NodeType } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/INode'; import { IScript } from '@/domain/IScript'; import { ICategory } from '@/domain/ICategory'; -import { CategoryStub } from '../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../stubs/ScriptStub'; -import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; describe('ScriptNodeParser', () => { it('can convert script id and back', () => { diff --git a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter.spec.ts b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter.spec.ts index 61c0bdf3..592f25a1 100644 --- a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter.spec.ts +++ b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter.spec.ts @@ -4,9 +4,9 @@ import { CategoryReverter } from '@/presentation/components/Scripts/ScriptsTree/ import { getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection'; -import { CategoryStub } from '../../../../../../../stubs/CategoryStub'; -import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub'; -import { ScriptStub } from '../../../../../../../stubs/ScriptStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('CategoryReverter', () => { describe('getState', () => { diff --git a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ReverterFactory.spec.ts b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ReverterFactory.spec.ts index ee17c0b6..1d827f73 100644 --- a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ReverterFactory.spec.ts +++ b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ReverterFactory.spec.ts @@ -6,9 +6,9 @@ import { import { ScriptReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter'; import { CategoryReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter'; import { getScriptNodeId, getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser'; -import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub'; -import { CategoryStub } from '../../../../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../../../../stubs/ScriptStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; describe('ReverterFactory', () => { describe('getReverter', () => { diff --git a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter.spec.ts b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter.spec.ts index ea8929a8..920f6bd1 100644 --- a/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter.spec.ts +++ b/tests/unit/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter.spec.ts @@ -4,10 +4,10 @@ import { ScriptReverter } from '@/presentation/components/Scripts/ScriptsTree/Se import { getScriptNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript'; -import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub'; -import { CategoryStub } from '../../../../../../../stubs/CategoryStub'; -import { ScriptStub } from '../../../../../../../stubs/ScriptStub'; -import { SelectedScriptStub } from '../../../../../../../stubs/SelectedScriptStub'; +import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub'; +import { CategoryStub } from '@tests/unit/stubs/CategoryStub'; +import { ScriptStub } from '@tests/unit/stubs/ScriptStub'; +import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub'; describe('ScriptReverter', () => { describe('getState', () => { diff --git a/tests/unit/stubs/CategoryCollectionParseContextStub.ts b/tests/unit/stubs/CategoryCollectionParseContextStub.ts index b066eb57..10f895cd 100644 --- a/tests/unit/stubs/CategoryCollectionParseContextStub.ts +++ b/tests/unit/stubs/CategoryCollectionParseContextStub.ts @@ -1,8 +1,8 @@ import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext'; -import { ScriptCompilerStub } from './ScriptCompilerStub'; -import { LanguageSyntaxStub } from './LanguageSyntaxStub'; import { IScriptCompiler } from '@/application/Parser/Script/Compiler/IScriptCompiler'; import { ILanguageSyntax } from '@/domain/ScriptCode'; +import { ScriptCompilerStub } from './ScriptCompilerStub'; +import { LanguageSyntaxStub } from './LanguageSyntaxStub'; export class CategoryCollectionParseContextStub implements ICategoryCollectionParseContext { public compiler: IScriptCompiler = new ScriptCompilerStub(); diff --git a/tests/unit/stubs/CategoryCollectionStub.ts b/tests/unit/stubs/CategoryCollectionStub.ts index 15688b0a..f0880b5e 100644 --- a/tests/unit/stubs/CategoryCollectionStub.ts +++ b/tests/unit/stubs/CategoryCollectionStub.ts @@ -1,10 +1,10 @@ -import { ScriptingDefinitionStub } from './ScriptingDefinitionStub'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ScriptStub } from './ScriptStub'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IScript } from '@/domain/IScript'; import { ICategory } from '@/domain/ICategory'; import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import { ScriptStub } from './ScriptStub'; +import { ScriptingDefinitionStub } from './ScriptingDefinitionStub'; export class CategoryCollectionStub implements ICategoryCollection { public scripting: IScriptingDefinition = new ScriptingDefinitionStub(); diff --git a/tests/unit/stubs/FunctionCallCompilerStub.ts b/tests/unit/stubs/FunctionCallCompilerStub.ts index 4837705e..6fe1916c 100644 --- a/tests/unit/stubs/FunctionCallCompilerStub.ts +++ b/tests/unit/stubs/FunctionCallCompilerStub.ts @@ -1,7 +1,7 @@ import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode'; import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler'; -import { FunctionCallData, ScriptFunctionCallData } from 'js-yaml-loader!*'; +import { FunctionCallData, ScriptFunctionCallData } from 'js-yaml-loader!@/*'; interface Scenario { call: ScriptFunctionCallData; functions: ISharedFunctionCollection; result: ICompiledCode; } diff --git a/tests/unit/stubs/FunctionCompilerStub.ts b/tests/unit/stubs/FunctionCompilerStub.ts index ca9143a1..fea7a94c 100644 --- a/tests/unit/stubs/FunctionCompilerStub.ts +++ b/tests/unit/stubs/FunctionCompilerStub.ts @@ -1,7 +1,7 @@ import { sequenceEqual } from '@/application/Common/Array'; import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler'; import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; -import { FunctionData } from 'js-yaml-loader!*'; +import { FunctionData } from 'js-yaml-loader!@/*'; import { SharedFunctionCollectionStub } from './SharedFunctionCollectionStub'; export class FunctionCompilerStub implements IFunctionCompiler { diff --git a/tests/unit/stubs/FunctionDataStub.ts b/tests/unit/stubs/FunctionDataStub.ts index b0b96020..1cbbdbdf 100644 --- a/tests/unit/stubs/FunctionDataStub.ts +++ b/tests/unit/stubs/FunctionDataStub.ts @@ -1,4 +1,4 @@ -import { FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!*'; +import { FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!@/*'; export class FunctionDataStub implements FunctionData { public static createWithCode() { diff --git a/tsconfig.json b/tsconfig.json index b0574f50..87be2566 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,7 +25,10 @@ "paths": { "@/*": [ "src/*" - ] + ], + "@tests/*": [ + "tests/*" + ], }, }, "include": [ @@ -38,4 +41,4 @@ "exclude": [ "node_modules" ] -} +} \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 7540e808..65b20d9c 100644 --- a/vue.config.js +++ b/vue.config.js @@ -10,6 +10,13 @@ module.exports = { chainWebpack: (config) => { changeAppEntryPoint('./src/presentation/main.ts', config); }, + configureWebpack:{ + resolve: { + alias: { // also requires path alias in tsconfig.json + "@tests": require('path').resolve(__dirname, 'tests/'), + }, + }, + }, pluginOptions: { // https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/guide.html#native-modules electronBuilder: {