elph-studio/laravel-testing-tools

Laravel Testing Tools

Installs: 79

Dependents: 2

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/elph-studio/laravel-testing-tools

v0.3.7 2025-12-15 13:41 UTC

This package is auto-updated.

Last update: 2025-12-15 13:41:37 UTC


README

Elephant Studio

Elephant Studio :: Laravel testing tools

This package provides preconfigured PHP Unit and Linting Tools packages for Laravel projects.

It also includes vendor testing tool that can be run during GitHub workflow to disable PR merging if some vendors do not meet production requirements.

PHP Unit configuration contains

  1. Test Cases
  2. Configuration file
    • Works with default tests directories (these must be created):
      • tests/Unit
      • tests/Integration
      • tests/Feature
    • Also works with Laravel Modules (not mandatory):
      • Module/*/Test/Unit
      • Module/*/*/Test/Unit
      • Module/*/Test/Integration
      • Module/*/*/Test/Integration
      • Module/*/Test/Feature
      • Module/*/*/Test/Feature
    • Configuration file will be used only if there is no local configuration file config/phpunit.xml

Linting tools configuration contains

  1. Strict PHP CS rules set

  2. PHP CS Fixer rules set

  3. These rules sets will be used only if local rules set are not found in config/phpcs_rules.xml and config/csfixer.php

Installation & running

Install

composer require --dev elph-studio/laravel-testing-tools

Run PHP Unit tests:

vendor/bin/unit

Run PHP Unit tests to test by specific filter:

vendor/bin/unit someSpecificTestOrTestsCategory

Run Linting tools (run both PHP CS and PHP CS Fixer):

vendor/bin/lint

Run Linting tools to test exact file or directory:

vendor/bin/lint path/to/file/or/directory

Automatic Lint fixing:

vendor/bin/lint fix

Automatic Lint fixing of specific file or directory:

vendor/bin/lint fix path/to/file/or/directory

Running Vendors Validator in GitHub Workflow

.env

VENDORS_VALIDATOR_URL=https://raw.githubusercontent.com/elph-studio/laravel-testing-tools/refs/heads/main/src/Helper/vendors_validator.php
VENDORS_VALIDATOR_SKIP=roave/security-advisories

workflow.yml

  vendors:
     name: Validate vendors
     runs-on: ubuntu-latest
     steps:
        - name: Checkout required files
          uses: actions/checkout@v4
          with:
             sparse-checkout: |
                .github/.env
                composer.lock
             sparse-checkout-cone-mode: false

        - name: Read .env file
          uses: xom9ikk/dotenv@v2.3.0
          with:
             path: .github/

        - name: Download vendors_validator
          run: |
             curl -sSL ${{ env.VENDORS_VALIDATOR_URL }} \
               -o vendors_validator.php

        - name: Validate vendors
          run: php vendors_validator.php --skip=${{ env.VENDORS_VALIDATOR_SKIP }}

Failed workflow example:

Failed workflow example