Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.15MB] [CPU: ▼3.04ms] Passed 4 tests
Server-side resources used by Payments via PayMongo for WooCommerce
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.63 ▲0.16 | 37.32 ▼5.23 |
Dashboard /wp-admin | 3.47 ▲0.12 | 53.37 ▼8.31 |
Posts /wp-admin/edit.php | 3.58 ▲0.22 | 49.35 ▲4.47 |
Add New Post /wp-admin/post-new.php | 6.05 ▲0.16 | 94.46 ▼2.31 |
Media Library /wp-admin/upload.php | 3.39 ▲0.16 | 37.19 ▲3.68 |
Server storage [IO: ▲2.19MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 256 new files
Database: no new tables, 6 new options
New WordPress options |
---|
db_upgraded |
theysaidso_admin_options |
widget_recent-posts |
widget_recent-comments |
can_compress_scripts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Payments via PayMongo for WooCommerce
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,822 ▲75 | 14.14 ▼0.57 | 1.86 ▲0.17 | 36.55 ▼9.20 |
Dashboard /wp-admin | 2,202 ▲28 | 5.60 ▲0.06 | 93.43 ▼6.21 | 43.07 ▼4.87 |
Posts /wp-admin/edit.php | 2,107 ▲10 | 1.94 ▼0.04 | 39.33 ▲5.17 | 37.77 ▲2.36 |
Add New Post /wp-admin/post-new.php | 1,533 ▲4 | 23.15 ▼0.06 | 674.49 ▲72.24 | 54.94 ▼0.16 |
Media Library /wp-admin/upload.php | 1,401 ▲1 | 4.20 ▲0.04 | 101.53 ▲5.27 | 45.53 ▲5.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- This plugin does not fully uninstall, leaving 6 options in the database
- widget_theysaidso_widget
- can_compress_scripts
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following items
- 1× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/wc-paymongo-payment-gateway/classes/cc-fields.php
- 86× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function it() in wp-content/plugins/wc-paymongo-payment-gateway/vendor/micahbule/phaymongo/tests/PaymongoUtilsTest.php:7
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromiseInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/promises/src/RejectedPromise.php:11
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\UploadedFileInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/psr7/src/UploadedFile.php:12
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\TaskQueueInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/promises/src/TaskQueue.php:14
- > PHP Fatal error
Uncaught Error: Class 'Paymongo\\Phaymongo\\PaymongoClient' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/micahbule/phaymongo/src/PaymentMethod.php:5
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/psr7/src/LazyOpenStream.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function it() in wp-content/plugins/wc-paymongo-payment-gateway/vendor/micahbule/phaymongo/tests/PaymentIntentTest.php:7
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\UriInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/psr7/src/Uri.php:17
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/wc-paymongo-payment-gateway/vendor/guzzlehttp/psr7/src/InflateStream.php:20
- > PHP Fatal error
Uncaught Error: Call to undefined function it() in wp-content/plugins/wc-paymongo-payment-gateway/vendor/micahbule/phaymongo/tests/LinkTest.php:7
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
4 plugin tags: payments, grabpay, credit card, gcash
wc-paymongo-payment-gateway/payments-paymongo-woocommerce.php 85% from 13 tests
The main PHP script in "Payments via PayMongo for WooCommerce" version 1.13.1 is automatically included on every request by WordPress
You should first fix the following items:
- Requires at least: Required version must be the same as the one declared in readme.txt ("5.0" instead of "5.3.2")
- Main file name: Name the main plugin file the same as the plugin slug ("wc-paymongo-payment-gateway.php" instead of "payments-paymongo-woocommerce.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Success! There were no dangerous files found in this plugin20,922 lines of code in 230 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 180 | 3,085 | 6,871 | 14,836 |
Markdown | 21 | 1,359 | 0 | 3,977 |
JSON | 12 | 0 | 0 | 1,194 |
JavaScript | 5 | 120 | 15 | 539 |
CSS | 2 | 25 | 4 | 184 |
YAML | 5 | 17 | 2 | 88 |
XML | 3 | 2 | 0 | 61 |
make | 1 | 7 | 0 | 31 |
SVG | 1 | 0 | 0 | 12 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 11.20 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 88.00 |
Average method complexity | 2.58 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 26.00 |
Code structure | ||
---|---|---|
Namespaces | 16 | |
Interfaces | 26 | |
Traits | 4 | |
Classes | 120 | |
▷ Abstract classes | 3 | 2.50% |
▷ Concrete classes | 117 | 97.50% |
▷ Final classes | 35 | 29.91% |
Methods | 984 | |
▷ Static methods | 156 | 15.85% |
▷ Public methods | 849 | 86.28% |
▷ Protected methods | 9 | 0.91% |
▷ Private methods | 126 | 12.80% |
Functions | 208 | |
▷ Named functions | 44 | 21.15% |
▷ Anonymous functions | 164 | 78.85% |
Constants | 86 | |
▷ Global constants | 5 | 5.81% |
▷ Class constants | 81 | 94.19% |
▷ Public constants | 69 | 85.19% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
9 PNG files occupy 0.79MB with 0.47MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/security_bank.png | 20.01KB | 9.53KB | ▼ 52.38% |
assets/images/paymongo_unionbank.png | 105.28KB | 26.44KB | ▼ 74.89% |
assets/images/aub.png | 131.77KB | 58.76KB | ▼ 55.41% |
assets/images/paymongo.png | 17.22KB | 8.31KB | ▼ 51.72% |
assets/images/paymongo_paymaya.png | 187.18KB | 63.07KB | ▼ 66.30% |