diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index c164d39..7f16098 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -1,94 +1,57 @@
name: Tests
-on: [push, pull_request]
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - master
+ paths:
+ - "**.json"
+ - "**.php"
+ - "**.yml"
+ pull_request:
+ branches:
+ - master
+ paths:
+ - "**.json"
+ - "**.php"
+ - "**.yml"
jobs:
tests:
- runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
- os: [ubuntu-latest]
- php: [8.1, 8.0, 7.4]
- laravel: [10.*, 9.*, 8.*, 7.*, 6.*, 5.8.*, 5.7.*, 5.6.*]
- dependency-version: [prefer-lowest, prefer-stable]
+ php: [8.3, 8.2, 8.1]
+ testbench: [9.0, 8.0, 7.0] # Laravel 11.x, 10.x, 9.x
+ version: [prefer-stable, prefer-lowest]
include:
- - laravel: 10.*
- testbench: ^8.0
- - laravel: 9.*
- testbench: ^7.0
- - laravel: 8.*
- testbench: ^6.23
- - laravel: 7.*
- testbench: ^5.20
- - laravel: 6.*
- testbench: ^4.18
- - laravel: 5.8.*
- testbench: 3.8.*
- - laravel: 5.7.*
- testbench: 3.7.*
- - laravel: 5.6.*
- testbench: 3.6.*
+ - testbench: 7.0
+ phpunit: "-c phpunit-9.xml"
exclude:
- - laravel: 10.*
- php: 8.0
- - laravel: 10.*
- php: 7.4
- - laravel: 9.*
- php: 7.4
- - laravel: 7.*
- php: 8.1
- - laravel: 6.*
- php: 8.1
- - laravel: 5.8.*
- php: 8.1
- - laravel: 5.8.*
- php: 8.0
- - laravel: 5.8.*
- php: 7.4
- dependency-version: prefer-lowest
- - laravel: 5.7.*
- php: 8.1
- - laravel: 5.7.*
- php: 8.0
- - laravel: 5.7.*
- php: 7.4
- dependency-version: prefer-lowest
- - laravel: 5.6.*
- php: 8.1
- - laravel: 5.6.*
- php: 8.0
- - laravel: 5.6.*
- php: 7.4
- dependency-version: prefer-lowest
+ - php: 8.1
+ testbench: 9.0
- name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
+ name: P${{ matrix.php }} - T${{ matrix.testbench }} - ${{ matrix.version }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
+ runs-on: ubuntu-latest
- - name: Install SQLite 3
- run: |
- sudo apt-get update
- sudo apt-get install sqlite3
+ container:
+ image: kirschbaumdevelopment/laravel-test-runner:${{ matrix.php }}
+ options: "--user=root"
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
with:
- php-version: ${{ matrix.php }}
- extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv
- coverage: none
+ # Make sure the actual branch is checked out when running on pull requests.
+ ref: ${{ github.head_ref }}
+ token: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
- composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
- composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
-
- - name: Setup Problem Matches
- run: |
- echo "::add-matcher::${{ runner.tool_cache }}/php.json"
- echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
+ composer require "orchestra/testbench:^${{ matrix.testbench }}" --no-interaction --no-update
+ composer update --${{ matrix.version }} --prefer-dist --no-interaction
- name: Execute tests
- run: vendor/bin/phpunit
+ run: vendor/bin/phpunit ${{ matrix.phpunit }}
diff --git a/.gitignore b/.gitignore
index 620dcaa..09b9eba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
/vendor
-/tests/_reports
/.idea
/composer.lock
+/.phpunit.cache
/.phpunit.result.cache
/.php-cs-fixer.cache
diff --git a/README.md b/README.md
index b2692a5..153890c 100644
--- a/README.md
+++ b/README.md
@@ -298,11 +298,6 @@ Running tests can be done either through composer, or directly calling the PHPUn
```bash
composer test
```
-To run tests with code coverage, please make sure that `phpdbg` exists and is executable.
-```bash
-composer test-coverage
-open tests/_reports/index.html
-```
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.
diff --git a/composer.json b/composer.json
index f6a73e9..9388a85 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"name": "frittenkeez/laravel-vouchers",
- "description": "Voucher system for Laravel 5.6+",
+ "description": "Voucher system for Laravel 9+",
"license": "MIT",
"keywords": [
"coupon",
@@ -16,16 +16,18 @@
}
],
"require": {
- "php": "^7.1.3|^8.0",
- "illuminate/config": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0",
- "illuminate/console": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0",
- "illuminate/database": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0",
- "illuminate/support": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0"
+ "php": "^8.1",
+ "illuminate/config": "^9.0|^10.0|^11.0",
+ "illuminate/console": "^9.0|^10.0|^11.0",
+ "illuminate/database": "^9.0|^10.0|^11.0",
+ "illuminate/support": "^9.0|^10.0|^11.0"
},
"require-dev": {
- "orchestra/testbench": "~3.6.0|~3.7.0|~3.8.0|^4.0|^5.0|^6.0|^7.0|^8.0",
- "phpunit/phpunit": "~7.0|^8.0|^9.0",
- "friendsofphp/php-cs-fixer": "^3.4"
+ "friendsofphp/php-cs-fixer": "^3.4",
+ "illuminate/support": "^9.45|^10.0|^11.0",
+ "nesbot/carbon": "^2.63",
+ "orchestra/testbench": "^7.0|^8.0|^9.0",
+ "phpunit/phpunit": "^9.6|^10.5"
},
"config": {
"allow-plugins": {
@@ -48,7 +50,6 @@
},
"scripts": {
"test": "phpunit",
- "test-coverage": "phpdbg -qrr vendor/bin/phpunit --coverage-html tests/_reports",
"fixer-check": "php-cs-fixer fix --verbose --dry-run",
"fixer-fix": "php-cs-fixer fix"
},
diff --git a/phpunit-9.xml b/phpunit-9.xml
new file mode 100644
index 0000000..afbf65c
--- /dev/null
+++ b/phpunit-9.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ src
+
+
+
+
+ ./tests
+
+
+
+
+
+
+
diff --git a/phpunit.xml b/phpunit.xml
index 44f6dcc..b9e164b 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,27 +1,26 @@
+ stopOnFailure="false"
+ cacheDirectory=".phpunit.cache"
+ backupStaticProperties="false"
+>
./tests
-
-
- src
-
-
+
diff --git a/tests/VouchersTest.php b/tests/VouchersTest.php
index 4e21583..846d0c7 100644
--- a/tests/VouchersTest.php
+++ b/tests/VouchersTest.php
@@ -253,7 +253,7 @@ public function testInvalidMagicCall(): void
*
* @return array
*/
- public function wrapProvider(): array
+ public static function wrapProvider(): array
{
return [
'string only' => ['code', null, null, '-', 'code'],