The PrestaShop Module Testing Database package aims to enable automated integration tests on a separate testing database. This allows data to be manipulated and truncated freely without affecting the original database, which can be preserved for manual testing. While this functionality is common in popular frameworks like Symfony or Laravel, it is now available for PrestaShop modules.
The primary goal of this package is to:
- Enable automated integration tests on a separate testing database.
- Ensure the original database remains intact for manual testing.
Firstly, install this composer package in your target module:
composer require mandan2/prestashop-module-testing-database
To create a clone database, run the following command in your terminal from module's main dir:
php vendor/mandan2/prestashop-module-testing-database/CreateTestDatabase.php
To switch to the clone database, use the following command from module's main dir:
php vendor/mandan2/prestashop-module-testing-database/UseTestDatabase.php
To revert to the original database, use the following command from module's main dir:
php vendor/mandan2/prestashop-module-testing-database/UseOriginalDatabase.php
These commands can be integrated into your workflow when launching tests. This enables seamless switching between the test and original databases, ensuring an efficient and isolated testing environment.
- Composer 2.2;
- MySQL 5.6+;
- PHP 7.1+
- PrestaShop 1.7.1+ (not tested)
- File editing permissions for app/config/parameters.php
- Folder editing permissions for the entire package
Tested on: PrestaShop 8.1 within a Docker image
This package is open-source and licensed under the MIT License.
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
If you encounter any issues or have questions, please open an issue on the GitHub repository.