51 lines
1.8 KiB
YAML
51 lines
1.8 KiB
YAML
name: Run API tests
|
|
description: Runs the WooCommerce Core API tests and generates Allure report.
|
|
|
|
inputs:
|
|
report-name:
|
|
description: Name of Allure report to be generated.
|
|
required: true
|
|
tests:
|
|
description: Specific tests to run, separated by single whitespace. See https://playwright.dev/docs/test-cli
|
|
playwright-config:
|
|
description: Playwright config file to be used
|
|
default: playwright.config.js
|
|
|
|
outputs:
|
|
result:
|
|
description: Whether the test passed or failed.
|
|
value: ${{ steps.run-api-tests.conclusion }}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Download and install Chromium browser.
|
|
working-directory: plugins/woocommerce
|
|
shell: bash
|
|
run: pnpm exec playwright install chromium
|
|
|
|
- name: Run API tests.
|
|
id: run-api-tests
|
|
working-directory: plugins/woocommerce
|
|
shell: bash
|
|
run: |
|
|
pnpm exec playwright test \
|
|
--config=tests/api-core-tests/${{ inputs.playwright-config }} \
|
|
${{ inputs.tests }}
|
|
|
|
- name: Generate Test report.
|
|
if: success() || ( failure() && steps.run-api-tests.conclusion == 'failure' )
|
|
working-directory: plugins/woocommerce
|
|
shell: bash
|
|
run: pnpm exec allure generate --clean ${{ env.ALLURE_RESULTS_DIR }} --output ${{ env.ALLURE_REPORT_DIR }}
|
|
|
|
- name: Archive test report
|
|
if: success() || ( failure() && steps.run-api-tests.conclusion == 'failure' )
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ${{ inputs.report-name }}
|
|
path: |
|
|
${{ env.ALLURE_RESULTS_DIR }}
|
|
${{ env.ALLURE_REPORT_DIR }}
|
|
retention-days: 20
|