Created Common-Issues (markdown)
parent
5abc45871e
commit
4dec9fe9b3
|
@ -0,0 +1,97 @@
|
|||
This page aims to document a comprehensive list of known issues, commonly encountered problems, and their solutions or workaround. If you have encountered an issue that's not mentioned here and should be, please don't hesitate to add to the list!
|
||||
|
||||
### Composer error on Automattic\Jetpack\Autoloader\AutoloadGenerator
|
||||
```
|
||||
[ErrorException]
|
||||
Declaration of Automattic\Jetpack\Autoloader\AutoloadGenerator::dump(Composer\Config $config, Composer\Repository\Inst
|
||||
alledRepositoryInterface $localRepo, Composer\Package\PackageInterface $mainPackage, Composer\Installer\InstallationMa
|
||||
nager $installationManager, $targetDir, $scanPsrPackages = false, $suffix = NULL) should be compatible with Composer\A
|
||||
utoload\AutoloadGenerator::dump(Composer\Config $config, Composer\Repository\InstalledRepositoryInterface $localRepo,
|
||||
Composer\Package\RootPackageInterface $rootPackage, Composer\Installer\InstallationManager $installationManager, $targ
|
||||
etDir, $scanPsrPackages = false, $suffix = '')
|
||||
```
|
||||
A recent [change](https://github.com/composer/composer/commit/b574f10d9d68acfeb8e36cad0b0b25a090140a3b#diff-67d1dfefa9c7b1c7e0b04b07274628d812f82cd82fae635c0aeba643c02e8cd8) in composer released in `2.0.7` had made our autoloader incompatible with the new `AutoloadGenerator` signature. In the meantime, try to downgrade to older composer version `2.0.6` using `composer self-update 2.0.6`.
|
||||
|
||||
### VVV: HostsUpdater vagrant plugin error
|
||||
```
|
||||
...vagrant-hostsupdater/HostsUpdater.rb:126:in ``digest': no implicit conversion of nil into String (TypeError)
|
||||
```
|
||||
You might be running with an unsupported version of Vagrant. At the time of writing, I confirm that VVV works with Vagrant 2.2.7. Please check VVV's [requirements](https://github.com/Varying-Vagrant-Vagrants/VVV#minimum-system-requirements).
|
||||
|
||||
### VVV: `install-wp-tests.sh` error
|
||||
```
|
||||
mysqladmin: CREATE DATABASE failed; error: 'Access denied for user 'wp'@'localhost' to database 'wordpress-one-tests''
|
||||
```
|
||||
Fix
|
||||
- Open mysql with `sudo mysql`
|
||||
- Run `GRANT ALL PRIVILEGES ON * . * TO 'wp'@'localhost';` you can exit by typing `exit;`.
|
||||
- Run the `install-wp-tests.sh` script again.
|
||||
|
||||
### Timeout/404 errors while running e2e tests
|
||||
```
|
||||
Store owner can complete onboarding wizard › can complete the product types section
|
||||
|
||||
TimeoutError: waiting for function failed: timeout 30000ms exceeded
|
||||
|
||||
1 | export const waitForElementCount = function ( page, domSelector, count ) {
|
||||
> 2 | return page.waitForFunction(
|
||||
| ^
|
||||
3 | ( domSelector, count ) => {
|
||||
4 | return document.querySelectorAll( domSelector ).length === count;
|
||||
5 | },
|
||||
```
|
||||
Timeout or 404 errors while e2e signals that the existing build is broken. Run `npm install && npm run clean && npm run build` to generate a fresh build. It should also be noted that some of our npm scripts also removes the current build, so it's a good practice to always run a build before running e2e tests.
|
||||
|
||||
### Docker container couldn't be built when attempting e2e test
|
||||
```
|
||||
Thu Dec 3 11:55:56 +08 2020 - Docker container is still being built
|
||||
Thu Dec 3 11:56:06 +08 2020 - Docker container is still being built
|
||||
Thu Dec 3 11:56:16 +08 2020 - Docker container is still being built
|
||||
Thu Dec 3 11:56:26 +08 2020 - Docker container couldn't be built
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 1
|
||||
npm ERR! @woocommerce/e2e-environment@0.1.6 test:e2e: `bash ./bin/wait-for-build.sh && ./bin/e2e-test-integration.js`
|
||||
npm ERR! Exit status 1
|
||||
```
|
||||
Check your docker, is it running? While the script says `Docker container is still being built`, it is not actually responsible for running docker; it's just waiting for an existing docker instance to respond. Run `npm run docker:up` if it's not.
|
||||
|
||||
### Set up WooCommerce Payments dev mode
|
||||
Add this to `wp-config.php`:
|
||||
```php
|
||||
define( 'WCPAY_DEV_MODE', true );
|
||||
```
|
||||
See https://docs.woocommerce.com/document/payments/testing/dev-mode.
|
||||
|
||||
### WooCommerce Admin install timestamp
|
||||
To get the install timestamp (used in `wc_admin_active_for()` in `NoteTraits` for example) try this SQL:
|
||||
```sql
|
||||
SELECT * FROM wp_options WHERE option_name = 'woocommerce_admin_install_timestamp'
|
||||
```
|
||||
|
||||
### Reset the onboarding wizard
|
||||
Delete the `woocommerce_onboarding_profile` option:
|
||||
```sql
|
||||
DELETE FROM wp_options WHERE option_name = 'woocommerce_onboarding_profile'
|
||||
```
|
||||
|
||||
### Enable tracks debugging in the console:
|
||||
```
|
||||
localStorage.setItem( 'debug', 'wc-admin:tracks' );
|
||||
```
|
||||
and set Chrome's log level verbose to checked.
|
||||
|
||||
### Running PHP unit tests using Vagrant (VVV)
|
||||
1. SSH into Vagrant box (`vagrant ssh`)
|
||||
1. `cd /srv/www/<WP_INSTANCE>/public_html/wp-content/plugins/woocommerce-admin`
|
||||
1. Set up: `bin/install-wp-tests.sh wc-admin-tests root root`
|
||||
1. Fast tests: `./vendor/bin/phpunit --group fast`
|
||||
1. All tests: `./vendor/bin/phpunit`
|
||||
You might need to `composer install` if `phpunit` doesn't exist.
|
||||
|
||||
### Show the welcome modal again
|
||||
Delete the option `woocommerce_task_list_welcome_modal_dismissed`:
|
||||
```sql
|
||||
DELETE FROM wp_options WHERE option_name = 'woocommerce_task_list_welcome_modal_dismissed'
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue