GNU social isn't too big or hard to understand, but remember that events are asynchronous and every handler must take care not to interfere with core and other plugins normal behaviours.
We encourage Test-driven development, as it helps preventing regressions and unexpected behaviour.
To run GNU social's tests you can execute:
To write your own
TestCase you can
To mock HTTP requests you can
$client = static::createClient();.
Finally, to use services such as queues you must
As the test framework we adopted PHPUnit, you have a list of possible assertions in PHPUnit Manual.
Because we are using Symfony, we recall that a useful tool for debugging
is Symfony's VarDumper component,
as a more friendly alternative to PHP's
There's also a PsySH REPL that you can access
bin/console psysh and experiment with direct calling of GNU social functions.