Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
0fec5f3
Prepare tests environment
giuscris Dec 30, 2025
30dc337
Add tests for the `Utils` namespace
giuscris Dec 30, 2025
a6030d4
Add tests for the `Data` namespace
giuscris Dec 30, 2025
e7cfd4f
Add tests for the `Parsers` namespace
giuscris Dec 30, 2025
f96e9f6
Update tests
giuscris Mar 8, 2026
29fa08a
Update tests
giuscris Sep 28, 2026
cd77583
Add `FormTest`
giuscris Sep 28, 2026
8b67489
Add `FieldCollectionTest`
giuscris Sep 28, 2026
26a1397
Update tests
giuscris Oct 1, 2026
3f9abad
Update test config
giuscris Oct 1, 2026
bdb450a
Update tests
giuscris Oct 6, 2026
6a8345e
Update tests
giuscris Oct 7, 2026
b194774
Fix test fixtures paths and strengthen weak tests
claude Oct 7, 2026
c395b28
Skip file permission tests when running as root
claude Oct 7, 2026
6fc64a0
Add application booting and deprecation capturing to TestCase
claude Oct 7, 2026
cd934bc
Add an HTTP transport seam to Client
claude Oct 11, 2026
b076329
Let the Updater take the HTTP client
claude Oct 11, 2026
8a7e563
Add App::rootPath() and App::systemPath() to replace the path constants
giuscris Oct 11, 2026
0f322fa
Add App::unload() and install the error handler when running
giuscris Oct 11, 2026
d17d897
Cache dynamic field variables in their loader
giuscris Oct 11, 2026
8e877cd
Run the tests over an application on a temporary installation
claude Oct 11, 2026
ee7b191
Improve HTTP tests and add missing cases
claude Oct 8, 2026
69cc749
Improve Router, Services and Config tests
claude Oct 8, 2026
04a55d8
Improve Files, Fields, Forms and Pages tests
claude Oct 8, 2026
45c3001
Improve Utils, Data and Parsers tests
claude Oct 8, 2026
941cd8d
Reorder test methods: lifecycle, public, protected, private
claude Oct 8, 2026
06a3850
Add tests for classes behind published security advisories
claude Oct 8, 2026
210554f
Add UsersController tests (work in progress)
claude Oct 8, 2026
b8ac958
Add tests for View, Metadata, templates and panel field views; comple…
claude Oct 8, 2026
2ab31f6
Refine tests
giuscris Oct 10, 2026
a567605
Add PHPUnit tests to Check PHP workflow
giuscris Oct 10, 2026
b43ce7b
Add tests for new APIs and edge cases found after the fixes
claude Oct 10, 2026
6f1055c
Add tests for Traits, Exceptions and Events namespaces
claude Oct 10, 2026
10f2a31
Add tests for the Interpolator namespace
claude Oct 10, 2026
9962748
Add tests for the Cache namespace
claude Oct 10, 2026
21f8c4d
Add tests for the Log namespace
claude Oct 10, 2026
104c7f1
Add tests for the Languages and Translations namespaces
claude Oct 10, 2026
2d397b7
Add tests for the Security, Authentication and Users namespaces
claude Oct 10, 2026
38d6fbd
Add tests for the Model, Schemes and remaining Fields namespaces
claude Oct 10, 2026
f33e3a1
Add tests for the Assets, Plugins, Templates and View namespaces
claude Oct 10, 2026
2b5c1da
Add tests for the Parsers extensions, Sanitizer parsers and Http File…
claude Oct 10, 2026
abcc722
Add tests for the Pages traits and PaginationFactory
claude Oct 10, 2026
1f878ed
Add tests for the Backup and Updater namespaces
claude Oct 10, 2026
5900af3
Add tests for the Debug namespace
claude Oct 10, 2026
cb16660
Add tests for the site Controllers and the plugin AssetsController
claude Oct 10, 2026
936a8a5
Add tests for the Services loaders
claude Oct 10, 2026
8d6d598
Add tests for the Cms App, Site and UriGenerator
claude Oct 10, 2026
81826c0
Add tests for the panel route gatekeeper and the Http enums
claude Oct 10, 2026
efe242d
Add tests for the AbstractController and the typed collections
claude Oct 10, 2026
d7c8009
Refine tests imports and remove DirectoryIterator from tests
giuscris Oct 11, 2026
0bbca69
Declare the application in the page tests that use it
claude Oct 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/tests export-ignore
/phpunit.xml.dist export-ignore
3 changes: 3 additions & 0 deletions .github/workflows/check-php.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@ jobs:

- name: Run Rector
run: composer rector:check

- name: Run PHPUnit tests
run: composer test
4 changes: 3 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ jobs:
zip -r formwork-${{ github.event.release.tag_name }}.zip . -x \
\*.git/\* \
\*.github/\* \
\*node_modules/\*
\*node_modules/\* \
\tests/\* \
\phpunit.xml.dist

- name: Upload release assets
uses: svenstaro/upload-release-action@v2
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
.DS_Store
.php-cs-fixer.cache
.phpunit.cache

phpunit.xml

/assets/*
/backup/*
Expand All @@ -20,4 +23,7 @@
/site/users/accounts/*
/site/users/images/*

/tests/coverage/
/tests/tmp/

!.gitkeep
16 changes: 12 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
"Formwork\\": "formwork/src/"
}
},
"autoload-dev": {
"psr-4": {
"Formwork\\Tests\\": "tests/"
}
},
"require": {
"php": ">=8.3",
"ext-dom": "*",
Expand Down Expand Up @@ -45,18 +50,21 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.0",
"phpstan/phpstan": "^2.0.3",
"rector/rector": "^2.0.3"
"rector/rector": "^2.0.3",
"phpunit/phpunit": "^12.5"
},
"scripts": {
"fix": "php-cs-fixer fix --config=formwork/.php-cs-fixer.php --cache-file=formwork/.php-cs-fixer.cache --verbose",
"fix:check": "php-cs-fixer check --config=formwork/.php-cs-fixer.php --cache-file=formwork/.php-cs-fixer.cache",
"fix": "php-cs-fixer fix --config=formwork/.php-cs-fixer.php --verbose",
"fix:check": "php-cs-fixer check --config=formwork/.php-cs-fixer.php --verbose",
"phpstan": "phpstan analyse --configuration=formwork/phpstan.neon",
"phpstan:baseline": "phpstan analyse --configuration=formwork/phpstan.neon --generate-baseline=formwork/phpstan-baseline.neon",
"rector": "rector --config=formwork/.rector.php",
"rector:check": "rector --dry-run --config=formwork/.rector.php",
"serve": [
"Composer\\Config::disableProcessTimeout",
"php bin/serve"
]
],
"test": "phpunit",
"test:coverage": "@php -d pcov.enabled=1 vendor/bin/phpunit --coverage-html tests/coverage"
}
}
Loading
Loading