ql-events
ql-events copied to clipboard
The Events Calendar binding to WPGraphQL
QL Events
Quick Install
- Install & activate The Events Calendar/The Events Calendar Pro
- (Optional) Install & activate Ticket Events/Ticket Events Plus
- Install & activate WPGraphQL
- (Optional) Install & activate WPGraphQL-JWT-Authentication to add a
loginmutation that returns a JSON Web Token.
- Clone or download the zip of this repository into your WordPress plugin directory & activate the QL Events plugin
What does this plugin do?
It adds The Events Calendar's and some of it's extension's functionality to the WPGraphQL schema.
Unit Tests
Until the documentation is in full effect, it's recommended that a GraphiQL-based tool like WPGraphiQL be used to view the GraphQL schema, an alternative to this is viewing the unit tests located in tests/wpunit directory. Which are constantly updated along with the project. If you're interested in contributing when I begin accepting contribution or simply want to run the tests. Follow the instruction below.
Prerequisties
Setup
-
Make sure all dependencies are install by running
composer installfrom the CMD/Terminal in the project directory. -
Next the copy 5 distributed files with the
.distin there filenames. For instance.env.testingbecomes.envandwpunit.suite.dist.ymlbecomeswpunit.suite.yml. The distributed files and what their copied names should are as follows.codeception.dist.yml=>codeception.yml.env.testing=>.env
-
Next open
.envand alter to make you usage. ```bash DB_NAME=wordpress DB_HOST=app_db DB_USER=wordpress DB_PASSWORD=wordpress WP_TABLE_PREFIX=wp_ WP_URL=http://localhost WP_DOMAIN=localhost [email protected] ADMIN_USERNAME=admin ADMIN_PASSWORD=password ADMIN_PATH=/wp-adminTEST_DB_NAME=ql_events_tests TEST_DB_HOST=127.0.0.1 TEST_DB_USER=wordpress TEST_DB_PASSWORD=wordpress TEST_WP_TABLE_PREFIX=wp_
SKIP_DB_CREATE=false TEST_WP_ROOT_FOLDER=/tmp/wordpress [email protected]
TESTS_DIR=tests TESTS_OUTPUT=tests/_output TESTS_DATA=tests/_data TESTS_SUPPORT=tests/_support TESTS_ENVS=tests/_envs ```
Sharedvariables are as the comment implies, variables shared in both theinstall-wp-testsscript and the Codeception configuration. The variable names should tell you what they mean.Install scriptvariables are specified to theinstall-wp-testsscript, and most likely won't changed. I've listed their meaning below.WP_VERSIONWordPress version used for testingSKIP_DB_CREATEShould database creation be skipped?
Codeceptionvariables are specified to the Codeception configuration. View the config files and Codeception's Docs for more info on them.
-
Once you have finish modifying the
.envfile. Runcomposer install-test-envfrom the project directory. -
Upon success you can begin running the tests.
Running tests
To run test use the command vendor/bin/codecept run [suite [test [:test-function]]].
If you use the command with at least a suite specified, Codeception will run all tests, however this is not recommended. Running a suite vendor/bin/codecept run wpunit or a test vendor/bin/codecept run VenueQueriesTest is recommended. Running a single test-function like vendor/bin/codecept run EventQueriesTest:testEventQuery is also possible.
To learn more about the usage of Codeception with WordPress view the Documentation
Running tests
Even though the two suite use a Docker environment to run, the docker environment relies on a few environmental variables defined in .env and a volume source provided by the test install script.
0. Ensure that you can copy .env.testing to .env.
- First you must run
composer install-test-envto ensure the required dependencies are available. - Next run
composer run-codeceptionto run the tests within a docker container.