https://github.com/johnbillion/WordPressBehatExtension
This package is no longer maintained. Use WordHat instead.
https://github.com/johnbillion/WordPressBehatExtension
Last synced: over 1 year ago
JSON representation
This package is no longer maintained. Use WordHat instead.
- Host: GitHub
- URL: https://github.com/johnbillion/WordPressBehatExtension
- Owner: johnbillion
- License: mit
- Archived: true
- Fork: true (tmf/WordPressExtension)
- Created: 2015-04-15T00:19:50.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2017-05-27T12:02:19.000Z (about 9 years ago)
- Last Synced: 2024-11-15T03:05:48.272Z (over 1 year ago)
- Language: PHP
- Homepage: https://wordhat.info
- Size: 53.7 KB
- Stars: 19
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
WordPress Extension for Behat 3
===============================
This is a Behat 3.0 Extension for WordPress plugin and theme development.
You can use it to test your WordPress installation, or just test your plugin/theme without installing them in a normal WordPress installation (i.e. stand-alone).
The Extension allows you to use WordPress functions in your context class (if you extend it from Johnbillion\WordPressExtension\Context\WordPressContext).
Installation
------------
1. Add a composer development requirement for your WordPress theme or plugin:
```json
{
"require-dev" : {
"johnbillion/wordpress-behat-extension": "~0.1",
"johnpbloch/wordpress": "~4.0.0"
}
}
```
2. Add the following Behat configuration file:
```yml
default:
suites:
default:
contexts:
- Johnbillion\WordPressExtension\Context\WordPressContext
extensions:
Johnbillion\WordPressExtension:
path: '%paths.base/vendor/wordpress'
Behat\MinkExtension:
base_url: 'http://localhost:8000'
sessions:
default:
goutte: ~
```
3. Install the vendors and initialize behat test suites
```bash
composer update
vendor/bin/behat --init
```
4. Start your development web server and point its document root to the wordpress directory in vendors (without mail function)
```bash
php -S localhost:8000 -t vendor/wordpress -d disable_functions=mail
```
5. Write some Behat features and test them
```
Feature: Manage plugins
In order to manage plugins
As an admin
I need to enable and disable plugins
Background:
Given I have a vanilla wordpress installation
| name | email | username | password |
| BDD WordPress | your@email.com | admin | test |
And I am logged in as "admin" with password "test"
Scenario: Enable the dolly plugin
Given there are plugins
| plugin | status |
| hello.php | enabled |
When I go to "/wp-admin/"
Then I should see a "#dolly" element
Scenario: Disable the dolly plugin
Given there are plugins
| plugin | status |
| hello.php | disabled |
When I go to "/wp-admin/"
Then I should not see a "#dolly" element
```
6. Run the tests
```bash
vendor/bin/behat
```