[ACA-4625] Add ADF linking to unit tests and e2es (#2853)

This commit is contained in:
MichalKinas 2022-12-20 10:40:33 +01:00 committed by GitHub
parent bd77253200
commit cb84a06e25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 110 additions and 11 deletions

View File

@ -71,29 +71,29 @@ jobs:
- stage: Quality and Unit tests
name: 'Unit tests: aos'
script: npm ci && ng test adf-office-services-ext
script: npm ci && ng test adf-office-services-ext $TEST_OPTS
cache: false
- stage: Quality and Unit tests
name: 'Unit tests: aca-shared'
script: npm ci && ng test aca-shared
script: npm ci && ng test aca-shared $TEST_OPTS
cache: false
- stage: Quality and Unit tests
name: 'Unit tests: aca-settings'
script: npm ci && ng test aca-settings
script: npm ci && ng test aca-settings $TEST_OPTS
cache: false
- stage: Quality and Unit tests
name: 'Unit tests: aca-folder-rules'
script: npm ci && ng test aca-folder-rules
script: npm ci && ng test aca-folder-rules $TEST_OPTS
cache: false
- stage: Quality and Unit tests
name: 'Unit tests: ACA'
script:
- npm ci
- ng test content-ce
- ng test content-ce $TEST_OPTS
cache: false
- stage: e2e

View File

@ -307,6 +307,11 @@
"output": "/"
}
]
},
"configurations": {
"adfprod": {
"tsConfig": "app/tsconfig.spec.adf.json"
}
}
},
"lint": {
@ -387,6 +392,11 @@
"main": "projects/adf-office-services-ext/src/test.ts",
"tsConfig": "projects/adf-office-services-ext/tsconfig.spec.json",
"karmaConfig": "projects/adf-office-services-ext/karma.conf.js"
},
"configurations": {
"adfprod": {
"tsConfig": "projects/adf-office-services-ext/tsconfig.spec.adf.json"
}
}
},
"lint": {
@ -427,6 +437,11 @@
"main": "projects/aca-shared/test.ts",
"tsConfig": "projects/aca-shared/tsconfig.spec.json",
"karmaConfig": "projects/aca-shared/karma.conf.js"
},
"configurations": {
"adfprod": {
"tsConfig": "projects/aca-shared/tsconfig.spec.adf.json"
}
}
},
"lint": {
@ -513,6 +528,11 @@
"main": "projects/aca-settings/src/test.ts",
"tsConfig": "projects/aca-settings/tsconfig.spec.json",
"karmaConfig": "projects/aca-settings/karma.conf.js"
},
"configurations": {
"adfprod": {
"tsConfig": "projects/aca-settings/tsconfig.spec.adf.json"
}
}
},
"lint": {
@ -553,6 +573,11 @@
"main": "projects/aca-folder-rules/src/test.ts",
"tsConfig": "projects/aca-folder-rules/tsconfig.spec.json",
"karmaConfig": "projects/aca-folder-rules/karma.conf.js"
},
"configurations": {
"adfprod": {
"tsConfig": "projects/aca-folder-rules/tsconfig.spec.adf.json"
}
}
},
"lint": {

View File

@ -1,5 +1,5 @@
{
"extends": "../../../tsconfig.adf.json",
"extends": "../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"module": "commonjs"
@ -15,4 +15,4 @@
"angularCompilerOptions": {
"skipTemplateCodegen": false
}
}
}

15
e2e/tsconfig.e2e.adf.json Normal file
View File

@ -0,0 +1,15 @@
{
"extends": "../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"baseUrl": "./",
"module": "commonjs",
"target": "es2017",
"types": ["jasmine", "jasminewd2", "node"],
"skipLibCheck": true,
"paths": {
"@alfresco/aca-testing-shared": ["../projects/aca-testing-shared"]
}
},
"exclude": ["node_modules"]
}

View File

@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": [
"jasmine"
]
},
"files": [
"src/test.ts"
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}

View File

@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": [
"jasmine"
]
},
"files": [
"src/test.ts"
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}

View File

@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": ["jasmine", "node"]
},
"files": ["test.ts"],
"include": ["**/*.spec.ts", "**/*.d.ts"]
}

View File

@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.adf.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": ["jasmine", "node"]
},
"files": ["src/test.ts"],
"include": ["**/*.spec.ts", "**/*.d.ts"]
}

View File

@ -22,6 +22,8 @@ const SAVE_SCREENSHOT = process.env.SAVE_SCREENSHOT === 'true';
const APP_CONFIG_ECM_HOST = process.env.APP_CONFIG_ECM_HOST || 'http://localhost:8080';
const MAXINSTANCES = process.env.MAXINSTANCES || 1;
const E2E_LOG_LEVEL = process.env.E2E_LOG_LEVEL || 'ERROR';
const E2E_TS_CONFIG_FOR_ADF = 'tsconfig.e2e.adf.json';
const LOCAL_ADF_OPTION = '--with-local-adf';
const appConfig = {
@ -170,7 +172,8 @@ exports.config = {
smartRunnerFactory.getInstance().onPrepare();
}
const tsConfigPath = path.resolve(e2eFolder, 'tsconfig.e2e.json');
const withLocalAdf = process.argv.indexOf(LOCAL_ADF_OPTION) !== -1;
const tsConfigPath = path.resolve(e2eFolder, withLocalAdf ? E2E_TS_CONFIG_FOR_ADF : 'tsconfig.e2e.json');
const tsConfig = require(tsConfigPath);
require('ts-node').register({

View File

@ -1,7 +1,10 @@
#!/usr/bin/env bash
PARENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
# Build options -----------------------------------------------------------------------
# Build and test options -----------------------------------------------------------------------
export BUILD_OPTS="--configuration=production,e2e"
export TEST_OPTS=""
export E2E_PROTRACTOR_OPTS=""
export E2E_TSCONFIG="tsconfig.e2e.json"
# Commit settings for ADF linking -----------------------------------------------------
export HEAD_COMMIT_HASH=${TRAVIS_PULL_REQUEST_SHA:-${TRAVIS_COMMIT}}

View File

@ -29,6 +29,6 @@ done
echo "Run alfresco-content-e2e protractor with options $OPTIONS"
echo "./node_modules/.bin/protractor \"./protractor.conf.js\" $OPTIONS || exit 1"
./node_modules/.bin/tsc -p "./e2e/tsconfig.e2e.json" || exit 1;
./node_modules/.bin/tsc -p "./e2e/$E2E_TSCONFIG" || exit 1;
./node_modules/.bin/http-server -c-1 $CONTENT_CE_DIST_PATH -p 4200 > /dev/null &\
./node_modules/.bin/protractor "./protractor.conf.js" $OPTIONS || exit 1
./node_modules/.bin/protractor "./protractor.conf.js" $OPTIONS $E2E_PROTRACTOR_OPTS || exit 1

View File

@ -6,6 +6,9 @@
# ---------------------------------------------------------------
if [[ $COMMIT_MESSAGE == *"[link-adf:"* ]]; then
export BUILD_OPTS="--configuration=adfprod,e2e"
export TEST_OPTS="--configuration=adfprod"
export E2E_PROTRACTOR_OPTS="--with-local-adf"
export E2E_TSCONFIG="tsconfig.e2e.adf.json"
BRANCH=`echo $COMMIT_MESSAGE | grep -o "\[link-adf\:[^]]*\]" | sed -e 's#\[link-adf:##g' | sed -e 's#\]##g'`
echo "Checking out ADF's branch: ${BRANCH}" && \
git clone https://github.com/Alfresco/alfresco-ng2-components.git --depth=1 --branch ${BRANCH} ../alfresco-ng2-components