Skip to content

Commit

Permalink
Merge pull request #26 from missionmike/bugfix/ci
Browse files Browse the repository at this point in the history
Update dependencies and add workflow dispatch to test CI.
  • Loading branch information
kidunot89 authored Apr 11, 2024
2 parents 8ee80b5 + df329e8 commit 8945fcf
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 29 deletions.
25 changes: 7 additions & 18 deletions .github/workflows/continous-integration.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
name: continuous_integration

on:
workflow_dispatch:
schedule:
- cron: '0 4 * * 5'
- cron: "0 4 * * 5"
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop

jobs:
continuous_integration:
runs-on: ubuntu-latest
strategy:
matrix:
php: [ '7.3', '7.4', '8.0' ]
php: ["8.1", "8.2", "8.3"]
fail-fast: false
name: Make sure that the WPGraphQLTestCase works!!!

steps:
- name: Checkout
uses: actions/checkout@v2
Expand All @@ -29,27 +32,13 @@ jobs:
php-version: ${{ matrix.php }}
extensions: json, mbstring

- name: Install Codeception dependencies
run: |
composer install --ignore-platform-reqs
composer require codeception/module-asserts:* \
codeception/util-universalframework:* \
codeception/module-rest:* \
lucatume/wp-browser:^3.1 --ignore-platform-reqs
- name: Install Dependencies
run: composer install

- name: Run Codeception Tests w/ Docker.
run: composer run-codeception -- -- --coverage --coverage-xml

- name: Install PHPUnit dependencies
if: ${{ matrix.php != '8.0' }}
run: |
composer require wp-phpunit/wp-phpunit \
yoast/phpunit-polyfills \
phpunit/phpunit
composer install
- name: Run PHPUnit Tests w/ Docker.
if: ${{ matrix.php != '8.0' }}
run: composer run-phpunit -- -- --coverage-text

- name: Push Codecoverage to Coveralls.io
Expand Down
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 80,
"proseWrap": "always"
}
67 changes: 59 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,66 @@
# WPGraphQL TestCase
![continuous_integration](https://github.com/wp-graphql/wp-graphql-testcase/workflows/continuous_integration/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/wp-graphql/wp-graphql-testcase/badge.svg)](https://coveralls.io/github/wp-graphql/wp-graphql-testcase)

Is a library of tools for testing WPGraphQL APIs, designed for both WPGraphQL and WPGraphQL extension development. Currently the library only consisted of a Codeception Testcase built on top wp-browser's WPTestCase class.
![continuous_integration](https://github.com/wp-graphql/wp-graphql-testcase/workflows/continuous_integration/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/wp-graphql/wp-graphql-testcase/badge.svg)](https://coveralls.io/github/wp-graphql/wp-graphql-testcase)

Is a library of tools for testing WPGraphQL APIs, designed for both WPGraphQL
and WPGraphQL extension development. Currently the library only consisted of a
Codeception Testcase built on top wp-browser's WPTestCase class.

## Installing
1. Run `composer require wp-graphql/wp-graphql-testcase` from your project directory in the terminal.
2. _(Optionally: Codeception only)_ If your didn't already have codeception installed in the project, run `vendor/bin/codecept init wpbrowser`.
3. To make a test case generate a with `vendor/bin/codecept generate:wpunit wpunit TestName`. Then just change the extending class to `\Tests\WPGraphQL\TestCase\WPGraphQLTestCase` :man_shrugging:

## Going forward
There are plans to add more to this library, and contribution are greatly appreciated :pray:.
1. Run `composer require wp-graphql/wp-graphql-testcase` from your project
directory in the terminal.

## Codeception Only

1. If your didn't already have codeception installed in the project, run
`vendor/bin/codecept init wpbrowser`.
2. To make a test case generate a with
`vendor/bin/codecept generate:wpunit wpunit TestName`. Then just change the
extending class to `\Tests\WPGraphQL\TestCase\WPGraphQLTestCase`
:man_shrugging:

## Going Forward

There are plans to add more to this library, and contribution are greatly
appreciated :pray:.

## Contributing

To contribute, fork this repository and open a PR with your requested changes
back into the main repository.

### Local Development

To develop locally, you need to have Docker and Composer installed.

#### Composer Setup

To ensure you have the necessary local dependencies, first run
`composer install`.

#### Docker Setup

This project currently uses a `docker-compose.yml` v2 file. To spin this up, run
`docker-compose up -d`.

#### Local Tests

To run the local tests, use `composer run-phpunit` or
`composer run-codeception`. You should see the tests pass with output generated
in the terminal.

#### Test Coverage

The CI process uses [coveralls.io](https://coveralls.io/) to store coverage
reports. This is available for free for open-source projects, and is required to
run the CI process. Sign up for free and add your `COVERALLS_REPO_TOKEN` value
to GitHub Actions secrets.

## Contributors
<a href="https://github.com/kidunot89"><img src="https://avatars.githubusercontent.com/u/13604318?v=3" title="kidunot89" width="80" height="80"></a>

<p float="left">
<a href="https://github.com/kidunot89"><img src="https://github.com/kidunot89.png?size=80" title="kidunot89" width="80" height="80"></a>
<a href="https://github.com/missionmike"><img src="https://github.com/missionmike.png?size=80" title="missionmike" width="80" height="80"></a>
</p>
12 changes: 10 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,19 @@
},
"require-dev": {
"composer/installers": "^1.9",
"johnpbloch/wordpress": "^5.4",
"johnpbloch/wordpress": "^6.1",
"wp-graphql/wp-graphql": "^1.1.8",
"squizlabs/php_codesniffer": "^3.5",
"automattic/vipwpcs": "^2.3",
"wp-coding-standards/wpcs": "^2.3"
"wp-coding-standards/wpcs": "^2.3",
"wp-phpunit/wp-phpunit": "^6.3",
"yoast/phpunit-polyfills": "^2.0",
"phpunit/phpunit": "^9.6",
"codeception/module-asserts": "*",
"codeception/util-universalframework": "*",
"codeception/module-rest": "*",
"lucatume/wp-browser": "^3.1",
"php-coveralls/php-coveralls": "2.4.3"
},
"scripts": {
"cli": "docker-compose run --rm --workdir=/var/www/html/wp-content/plugins/wp-graphql-testcase --user $(id -u) wordpress wait_for_it $TEST_DB -s -t 300 --",
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ RUN pecl install "xdebug-${XDEBUG_VERSION}"; \

# Install PDO MySQL driver.
RUN docker-php-ext-install \
pdo_mysql
pdo_mysql

ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait_for_it
RUN chmod 755 /usr/local/bin/wait_for_it

0 comments on commit 8945fcf

Please sign in to comment.