fix(frontend): ensure cart items stay in sync with wishlist #499
This file contains hidden or 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
| name: test | |
| on: | |
| push: | |
| branches: [ main ] | |
| # pull_request: | |
| # branches: [ main ] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| environment: test | |
| strategy: | |
| matrix: | |
| node-version: [lts/*] | |
| # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Run tests | |
| run: | | |
| cd ./backend | |
| touch .env | |
| echo NODE_ENV=$NODE_ENV >> .env | |
| echo WC_CI=$WC_CI >> .env | |
| echo WC_HTTPS=$WC_HTTPS >> .env | |
| echo WC_DB_URI=$WC_DB_URI >> .env | |
| echo WC_DB_SSL=$WC_DB_SSL >> .env | |
| echo WC_DB_DEBUG=$WC_DB_DEBUG >> .env | |
| echo WC_COOKIE_SECRET=$WC_COOKIE_SECRET >> .env | |
| echo WC_AUTH_COOKIE_DOMAIN=$WC_AUTH_COOKIE_DOMAIN >> .env | |
| echo WC_JWT_SECRET=$WC_JWT_SECRET >> .env | |
| echo WC_JWT_EXPIRE_AT=$WC_JWT_EXPIRE_AT >> .env | |
| echo WC_TOKEN_EXPIRE_AT=$WC_TOKEN_EXPIRE_AT >> .env | |
| echo WC_SMTP_HOST=$WC_SMTP_HOST >> .env | |
| echo WC_SMTP_PORT=$WC_SMTP_PORT >> .env | |
| echo WC_SMTP_USER=$WC_SMTP_USER >> .env | |
| echo WC_SMTP_PASS=$WC_SMTP_PASS >> .env | |
| echo WC_SMTP_FROM=$WC_SMTP_FROM >> .env | |
| echo WC_DEFAULT_LANGUAGE=$WC_DEFAULT_LANGUAGE >> .env | |
| echo WC_CDN_USERS=$WC_CDN_USERS >> .env | |
| echo WC_CDN_TEMP_USERS=$WC_CDN_TEMP_USERS >> .env | |
| echo WC_CDN_CATEGORIES=$WC_CDN_CATEGORIES >> .env | |
| echo WC_CDN_TEMP_CATEGORIES=$WC_CDN_TEMP_CATEGORIES >> .env | |
| echo WC_CDN_PRODUCTS=$WC_CDN_PRODUCTS >> .env | |
| echo WC_CDN_TEMP_PRODUCTS=$WC_CDN_TEMP_PRODUCTS >> .env | |
| echo WC_ADMIN_HOST=$WC_ADMIN_HOST >> .env | |
| echo WC_FRONTEND_HOST=$WC_FRONTEND_HOST >> .env | |
| echo WC_DEFAULT_CURRENCY=$WC_DEFAULT_CURRENCY >> .env | |
| echo WC_DEFAULT_STRIPE_CURRENCY=$WC_DEFAULT_STRIPE_CURRENCY >> .env | |
| echo WC_STRIPE_SECRET_KEY=$WC_STRIPE_SECRET_KEY >> .env | |
| echo WC_PAYPAL_CLIENT_ID=$WC_PAYPAL_CLIENT_ID >> .env | |
| echo WC_PAYPAL_CLIENT_SECRET=$WC_PAYPAL_CLIENT_SECRET >> .env | |
| echo WC_STRIPE_SESSION_EXPIRE_AT=$WC_STRIPE_SESSION_EXPIRE_AT >> .env | |
| echo WC_ADMIN_EMAIL=$WC_ADMIN_EMAIL >> .env | |
| echo WC_RECAPTCHA_SECRET=$WC_RECAPTCHA_SECRET >> .env | |
| npm install | |
| npm test | |
| env: | |
| NODE_ENV: ${{ vars.NODE_ENV }} | |
| WC_CI: ${{ vars.WC_CI }} | |
| WC_HTTPS: ${{ vars.WC_HTTPS }} | |
| WC_DB_URI: ${{ secrets.WC_DB_URI }} | |
| WC_DB_SSL: ${{ vars.WC_DB_SSL }} | |
| WC_DB_DEBUG: ${{ vars.WC_DB_DEBUG }} | |
| WC_COOKIE_SECRET: ${{ secrets.WC_COOKIE_SECRET }} | |
| WC_AUTH_COOKIE_DOMAIN: ${{ vars.WC_AUTH_COOKIE_DOMAIN }} | |
| WC_JWT_SECRET: ${{ secrets.WC_JWT_SECRET }} | |
| WC_JWT_EXPIRE_AT: ${{ vars.WC_JWT_EXPIRE_AT }} | |
| WC_TOKEN_EXPIRE_AT: ${{ vars.WC_TOKEN_EXPIRE_AT }} | |
| WC_SMTP_HOST: ${{ secrets.WC_SMTP_HOST }} | |
| WC_SMTP_PORT: ${{ secrets.WC_SMTP_PORT }} | |
| WC_SMTP_USER: ${{ secrets.WC_SMTP_USER }} | |
| WC_SMTP_PASS: ${{ secrets.WC_SMTP_PASS }} | |
| WC_SMTP_FROM: ${{ secrets.WC_SMTP_FROM }} | |
| WC_DEFAULT_LANGUAGE: ${{ vars.WC_DEFAULT_LANGUAGE }} | |
| WC_CDN_USERS: ${{ vars.WC_CDN_USERS }} | |
| WC_CDN_TEMP_USERS: ${{ vars.WC_CDN_TEMP_USERS }} | |
| WC_CDN_CATEGORIES: ${{ vars.WC_CDN_CATEGORIES }} | |
| WC_CDN_TEMP_CATEGORIES: ${{ vars.WC_CDN_TEMP_CATEGORIES }} | |
| WC_CDN_PRODUCTS: ${{ vars.WC_CDN_PRODUCTS }} | |
| WC_CDN_TEMP_PRODUCTS: ${{ vars.WC_CDN_TEMP_PRODUCTS }} | |
| WC_ADMIN_HOST: ${{ vars.WC_ADMIN_HOST }} | |
| WC_FRONTEND_HOST: ${{ vars.WC_FRONTEND_HOST }} | |
| WC_DEFAULT_CURRENCY: ${{ vars.WC_DEFAULT_CURRENCY }} | |
| WC_DEFAULT_STRIPE_CURRENCY: ${{ vars.WC_DEFAULT_STRIPE_CURRENCY }} | |
| WC_STRIPE_SECRET_KEY: ${{ secrets.WC_STRIPE_SECRET_KEY }} | |
| WC_PAYPAL_CLIENT_ID: ${{ secrets.WC_PAYPAL_CLIENT_ID }} | |
| WC_PAYPAL_CLIENT_SECRET: ${{ secrets.WC_PAYPAL_CLIENT_SECRET }} | |
| WC_STRIPE_SESSION_EXPIRE_AT: ${{ vars.WC_STRIPE_SESSION_EXPIRE_AT }} | |
| WC_ADMIN_EMAIL: ${{ secrets.WC_ADMIN_EMAIL }} | |
| WC_RECAPTCHA_SECRET: ${{ secrets.WC_RECAPTCHA_SECRET }} | |
| - name: Upload coverage reports to Codecov | |
| id: codecov | |
| continue-on-error: true | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./cobertura-coverage.xml | |
| directory: ./backend/coverage | |
| # fail_ci_if_error: true | |
| # verbose: true | |
| - name: Notify Codecov Status in case of failure | |
| if: steps.codecov.outcome != 'success' | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const issues = await github.rest.issues.listForRepo({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| labels: 'codecov-tracking', | |
| state: 'closed' | |
| }); | |
| for (const issue of issues.data) { | |
| await github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: issue.number, | |
| body: '⚠️ Codecov upload failed in workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |
| }); | |
| } | |
| - name: Upload coverage reports to Coveralls | |
| id: coveralls | |
| continue-on-error: true | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| file: ./backend/coverage/cobertura-coverage.xml | |
| base-path: backend | |
| # fail-on-error: true | |
| measure: true | |
| - name: Notify Coveralls Status in case of failure | |
| if: steps.coveralls.outcome != 'success' | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const issues = await github.rest.issues.listForRepo({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| labels: 'coveralls-tracking', | |
| state: 'closed' | |
| }); | |
| for (const issue of issues.data) { | |
| await github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: issue.number, | |
| body: '⚠️ Coveralls upload failed in workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |
| }); | |
| } |