General and shared validation services created as part of the WMDE fundraising software.
To use the fun-validators library in your project, simply add a dependency on wmde/fun-validators
to your project's composer.json
file. Here is a minimal example of a composer.json
file that just defines a dependency on fun-validators 1.x:
{
"require": {
"wmde/fun-validators": "~1.0"
}
}
For development you need to have Docker and Docker-compose installed. Local PHP and Composer are not needed.
sudo apt-get install docker docker-compose
To pull in the project dependencies via Composer, run:
make composer install
You can run other Composer commands via make run
, but at present this does not support argument flags.
If you need to execute such a command, you can do so in this format:
docker run --rm --interactive --tty --volume $PWD:/app -w /app\
--volume ~/.composer:/composer --user $(id -u):$(id -g) composer composer install -vvv
To run all CI checks, which includes PHPUnit tests, PHPCS style checks and coverage tag validation, run:
make
To run just the PHPUnit tests run
make test
To run only a subset of PHPUnit tests or otherwise pass flags to PHPUnit, run
docker-compose run --rm fun-validators-7.2 ./vendor/bin/phpunit --filter SomeClassNameOrFilter
If you have failing unit tests but want to run them for all PHP versions (normally it would bail on the first error) you can do so using
make -i test
In this case do keep in mind that the exit code can not be used to assess the run's success.