Skip to content

Headless E2E tests for Adyen Shopware Plugin #259

Headless E2E tests for Adyen Shopware Plugin

Headless E2E tests for Adyen Shopware Plugin #259

Workflow file for this run

name: E2E Test
run-name: Headless E2E tests for Adyen Shopware Plugin
on:
pull_request:
workflow_dispatch:
jobs:
e2e:
name: Shopware 6 E2E
runs-on:
group: larger-runners
labels: ubuntu-latest-8-cores
timeout-minutes: 20
strategy:
fail-fast: false
if: ${{ github.actor != 'renovate[bot]' || github.actor != 'lgtm-com[bot]' }}
# Prevent bots from initiating E2E pipeline
steps:
- name: Clone Code
uses: actions/checkout@v2
- name: Initiate Dockware
run: |
docker pull dockware/dev:6.5.2.1
docker run --rm -p 443:443 --name shopware6 \
--mount type=bind,source="$(pwd)",target=/data/extensions/workdir \
--env PHP_VERSION=8.2 -d dockware/dev:6.5.2.1
sleep 30
docker logs shopware6
docker exec shopware6 bash -c "sudo mysql -u root -proot shopware -e \"UPDATE sales_channel_domain SET url='https://local.shopware.shop' WHERE url NOT LIKE 'default.%';\""
docker exec shopware6 bash -c \
"sudo mysql -u root -proot shopware -e \"SELECT @RULE_ID := id FROM rule WHERE name = 'All customers'; UPDATE shipping_method SET availability_rule_id = @RULE_ID;\""
docker network create localnetwork
docker network connect --alias local.shopware.shop localnetwork shopware6
- name: Install/Configure Plugin
run: |
docker exec shopware6 bash -c "composer config --json repositories.local '{\"type\": \"path\", \"url\": \"/data/extensions/workdir\", \"options\": { \"symlink\": false } }'"
docker exec shopware6 bash -c 'composer require adyen/adyen-shopware6:*'
docker exec shopware6 bash -c 'php bin/console plugin:refresh'
docker exec shopware6 bash -c 'php bin/console plugin:install AdyenPaymentShopware6 --activate'
docker exec shopware6 bash -c 'php bin/console cache:clear'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.apiKeyTest "${{secrets.ADYEN_API_KEY}}"'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.merchantAccount "${{secrets.ADYEN_MERCHANT}}"'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.clientKeyTest "${{secrets.ADYEN_CLIENT_KEY}}"'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.adyenGivingCharityMerchantAccount "${{secrets.DONATION_ACCOUNT}}"'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.adyenGivingEnabled true'
docker exec shopware6 bash -c 'php bin/console system:config:set AdyenPaymentShopware6.config.adyenGivingDonationAmounts "1,5,10"'
docker exec shopware6 bash -c 'php bin/console adyen:payment-method:enable --all'
docker exec shopware6 bash -c 'php bin/console adyen:fetch-logos'
- name: Run E2E Tests
run: docker-compose -f .github/workflows/templates/docker-compose.playwright.yml run --rm playwright /e2e.sh
env:
INTEGRATION_TESTS_BRANCH: develop
SHOPWARE_BASE_URL: ${{secrets.SHOPWARE_BASE_URL}}
PAYPAL_USERNAME: ${{secrets.PLAYWRIGHT_PAYPAL_USERNAME}}
PAYPAL_PASSWORD: ${{secrets.PLAYWRIGHT_PAYPAL_PASSWORD}}
- name: Archive test result artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: html-report
path: test-report