-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
492 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
name: e2e tests | ||
|
||
on: | ||
push: | ||
branches: [ master, main ] | ||
pull_request: | ||
branches: [ master, main ] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
e2e: | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write # for Git to git apply | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.1' | ||
extensions: gd, intl, pdo_mysql | ||
coverage: none # disable xdebug, pcov | ||
|
||
# credits https://blog.markvincze.com/download-artifacts-from-a-latest-github-release-in-sh-and-powershell/ | ||
- name: Download latest REDAXO release | ||
run: | | ||
LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/redaxo/redaxo/releases/latest) | ||
REDAXO_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') | ||
echo "Downloaded REDAXO $REDAXO_VERSION" | ||
curl -Ls -o redaxo.zip https://github.com/redaxo/redaxo/releases/download/$REDAXO_VERSION/redaxo_$REDAXO_VERSION.zip | ||
unzip -oq redaxo.zip -d redaxo_cms | ||
rm redaxo.zip | ||
- name: Init database | ||
run: | | ||
sudo /etc/init.d/mysql start | ||
mysql -uroot -h127.0.0.1 -proot -e 'create database redaxo5;' | ||
- name: Setup REDAXO | ||
run: | | ||
php redaxo_cms/redaxo/bin/console setup:run -n --lang=de_de --agree-license --db-host=127.0.0.1 --db-name=redaxo5 --db-password=root --db-createdb=no --db-setup=normal --admin-username=admin --admin-password=adminpassword [email protected] --ansi | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.enabled true | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.throw_always_exception true | ||
- name: Create user, update config | ||
run: | | ||
php redaxo_cms/redaxo/bin/console user:create nightwatch_username nightwatch_password --admin --ansi | ||
php redaxo_cms/redaxo/bin/console config:set error_email '[email protected]' --ansi | ||
php redaxo_cms/redaxo/bin/console config:set server 'http://localhost:8000/' --ansi | ||
# copy Addon files, ignore some directories... | ||
# install phpmailer | ||
# install the addon | ||
# if the addon name does not match the repository name, ${{ github.event.repository.name }} must be replaced with the addon name | ||
- name: Copy and install Addons | ||
run: | | ||
rsync -av --exclude='vendor' --exclude='.github' --exclude='.git' --exclude='redaxo_cms' './' 'redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }}' | ||
redaxo_cms/redaxo/bin/console package:install '${{ github.event.repository.name }}' | ||
- name: Setup nodejs | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: "16.x" | ||
cache: 'npm' | ||
cache-dependency-path: package-lock.json | ||
|
||
- name: Setup Webserver and install node modules | ||
working-directory: redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }} | ||
run: | | ||
php -S 127.0.0.1:8000 -t ../../../../ & | ||
npm install | ||
sudo apt-get install xvfb | ||
- name: Run e2e tests | ||
working-directory: redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }} | ||
# continue-on-error: true | ||
run: | | ||
export LAUNCH_URL='http://localhost:8000/'; | ||
xvfb-run npm test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
// Refer to the online docs for more details: | ||
// https://nightwatchjs.org/gettingstarted/configuration/ | ||
// | ||
|
||
// _ _ _ _ _ _ _ | ||
// | \ | |(_) | | | | | | | | | ||
// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ | ||
// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ | ||
// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | | ||
// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| | ||
// __/ | | ||
// |___/ | ||
|
||
module.exports = { | ||
// An array of folders (excluding subfolders) where your tests are located; | ||
// if this is not specified, the test source must be passed as the second argument to the test runner. | ||
src_folders: ['tests/e2e'], | ||
|
||
// See https://nightwatchjs.org/guide/concepts/page-object-model.html | ||
// page_objects_path: ['test/e2e/page-objects'], | ||
|
||
// See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html | ||
// custom_commands_path: ['test/e2e/custom-commands'], | ||
|
||
// See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html | ||
// custom_assertions_path: ['test/e2e/custom-assertions'], | ||
|
||
// See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html | ||
// plugins: [], | ||
|
||
// See https://nightwatchjs.org/guide/concepts/test-globals.html | ||
globals_path: '', | ||
|
||
webdriver: {}, | ||
|
||
test_settings: { | ||
default: { | ||
disable_error_log: false, | ||
launch_url: '${LAUNCH_URL}', | ||
|
||
screenshots: { | ||
enabled: false, | ||
on_failure: false, | ||
path: "./screens" | ||
}, | ||
|
||
desiredCapabilities: { | ||
browserName: 'firefox' | ||
}, | ||
|
||
webdriver: { | ||
start_process: true, | ||
server_path: '' | ||
}, | ||
|
||
}, | ||
|
||
firefox: { | ||
desiredCapabilities: { | ||
browserName: 'firefox', | ||
alwaysMatch: { | ||
acceptInsecureCerts: true, | ||
'moz:firefoxOptions': { | ||
args: [ | ||
// '-headless', | ||
// '-verbose' | ||
] | ||
} | ||
} | ||
}, | ||
webdriver: { | ||
start_process: true, | ||
server_path: '', | ||
cli_args: [ | ||
// very verbose geckodriver logs | ||
// '-vv' | ||
] | ||
} | ||
}, | ||
|
||
} | ||
}; |
Oops, something went wrong.