diff --git a/.github/workflows/presta.yml b/.github/workflows/presta.yml index 8ec411a..5023b2e 100644 --- a/.github/workflows/presta.yml +++ b/.github/workflows/presta.yml @@ -86,14 +86,54 @@ jobs: phpunit-version: 'phpunit:6.4.3' - php-version: '7.1' - branch: '1.7.4.0' + branch: '1.7.4.4' composerv1: 1 phpunit-version: 'phpunit:6.4.3' - php-version: '7.2' - branch: '1.7.4.0' + branch: '1.7.4.4' composerv1: 1 phpunit-version: 'phpunit:6.4.3' +# - php-version: '7.1' +# branch: '1.7.5.2' +# composerv1: 1 +# phpunit-version: 'phpunit:6.4.3' +# - php-version: '7.2' +# branch: '1.7.5.2' +# composerv1: 1 +# phpunit-version: 'phpunit:6.4.3' + + - php-version: '7.1' + branch: '1.7.6.9' + composerv1: 1 + phpunit-version: 'phpunit:6.4.3' + - php-version: '7.2' + branch: '1.7.6.9' + composerv1: 1 + phpunit-version: 'phpunit:6.4.3' + + - php-version: '7.1' + branch: '1.7.7.8' + composerv1: 1 + phpunit-version: 'phpunit:6.4.3' + - php-version: '7.2' + branch: '1.7.7.8' + composerv1: 1 + phpunit-version: 'phpunit:6.4.3' + - php-version: '7.3' + branch: '1.7.7.8' + composerv1: 1 + phpunit-version: 'phpunit:6.4.3' + +# - php-version: '7.1' +# branch: '1.7.8.7' +# composerv1: 1 +# phpunit-version: 'phpunit:6.4.3' +# - php-version: '7.2' +# branch: '1.7.8.7' +# composerv1: 1 +# phpunit-version: 'phpunit:6.4.3' + services: mysql: image: mysql:5.7 diff --git a/Makefile b/Makefile index 0b8214b..6959361 100644 --- a/Makefile +++ b/Makefile @@ -14,18 +14,22 @@ delete_archive: rm -f $(ARCHIVE_NAME) rm -f /tmp/retailcrm.zip -composer: clone_prestashop - cd $(PRESTASHOP_DIR) && git checkout $(BRANCH) +composer: clone_prestashop clone_composer fix-version-bugs ifeq ($(COMPOSERV1),1) - cd $(PRESTASHOP_DIR) \ - && php -r "copy('https://getcomposer.org/download/1.10.17/composer.phar', 'composer.phar');" \ - && php composer.phar install --prefer-dist --no-interaction --no-progress + cd $(PRESTASHOP_DIR) && php composer.phar install --prefer-dist --no-interaction --no-progress else cd $(PRESTASHOP_DIR)/tests && composer install endif clone_prestashop: cd $(ROOT_DIR)/../ && git clone https://github.com/PrestaShop/PrestaShop + cd $(PRESTASHOP_DIR) && git checkout $(BRANCH) + +clone_composer: +ifeq ($(COMPOSERV1),1) + cd $(PRESTASHOP_DIR) \ + && php -r "copy('https://getcomposer.org/download/1.10.17/composer.phar', 'composer.phar');" +endif setup_apache: bash $(PRESTASHOP_DIR)/travis-scripts/setup-php-fpm.sh @@ -40,16 +44,46 @@ setup_apache: before_script: composer mkdir coverage +ifneq ("$(wildcard $(PRESTASHOP_DIR)/travis-scripts/install-prestashop)","") + ifeq ($(COMPOSERV1),1) + cd $(PRESTASHOP_DIR) \ + && sed -i 's/mysql -u root/mysql -u root --port $(MYSQL_PORT)/g' travis-scripts/install-prestashop \ + && sed -i 's/--db_server=127.0.0.1 --db_name=prestashop/--db_server=127.0.0.1:$(MYSQL_PORT) --db_name=prestashop --db_user=root/g' travis-scripts/install-prestashop \ + && bash travis-scripts/install-prestashop + else + cd $(PRESTASHOP_DIR) \ + && sed -i 's/mysql -u root/mysql -u root -proot --port $(MYSQL_PORT)/g' travis-scripts/install-prestashop.sh \ + && sed -i 's/--db_server=127.0.0.1 --db_name=prestashop/--db_server=127.0.0.1:$(MYSQL_PORT) --db_name=prestashop --db_user=root/g' travis-scripts/install-prestashop.sh \ + && bash travis-scripts/install-prestashop.sh + endif +else + mysql -u root -proot --port $(MYSQL_PORT) -e "DROP DATABASE IF EXISTS \`prestashop\`;" + rm -rf var/cache/* + echo "* Installing PrestaShop, this may take a while ..."; + cd $(PRESTASHOP_DIR) && php install-dev/index_cli.php --language=en --country=fr --domain=localhost --db_server=127.0.0.1:$(MYSQL_PORT) --db_name=prestashop --db_user=root --db_create=1 --name=prestashop.unit.test --email=demo@prestashop.com --password=prestashop_demo +endif + +fix-version-bugs: ifeq ($(COMPOSERV1),1) cd $(PRESTASHOP_DIR) \ - && sed -i 's/mysql -u root/mysql -u root --port $(MYSQL_PORT)/g' travis-scripts/install-prestashop \ - && sed -i 's/--db_server=127.0.0.1 --db_name=prestashop/--db_server=127.0.0.1:$(MYSQL_PORT) --db_name=prestashop --db_user=root/g' travis-scripts/install-prestashop \ - && bash travis-scripts/install-prestashop -else + && sed -i 's/throw new Exception/#throw new Exception/g' src/PrestaShopBundle/Install/DatabaseDump.php +endif +ifeq ($(BRANCH), 1.7.4.4) cd $(PRESTASHOP_DIR) \ - && sed -i 's/mysql -u root/mysql -u root -proot --port $(MYSQL_PORT)/g' travis-scripts/install-prestashop.sh \ - && sed -i 's/--db_server=127.0.0.1 --db_name=prestashop/--db_server=127.0.0.1:$(MYSQL_PORT) --db_name=prestashop --db_user=root/g' travis-scripts/install-prestashop.sh \ - && bash travis-scripts/install-prestashop.sh + && sed -i 's/$$install->installModules();/$$install->setTranslator(\\Context::getContext()->getTranslator());\n\t$$install->installModules();/g' tests/PrestaShopBundle/Utils/DatabaseCreator.php + cat $(PRESTASHOP_DIR)/tests/PrestaShopBundle/Utils/DatabaseCreator.php | grep -A 3 -B 3 'install->installModules()' +endif +#ifeq ($(BRANCH), 1.7.5.2) +# cd $(PRESTASHOP_DIR) && php composer.phar require --dev friendsofphp/php-cs-fixer:2.16.0 --prefer-dist --no-interaction --no-progress --no-scripts +#endif +ifeq ($(BRANCH),$(filter $(BRANCH),1.7.6.9 1.7.7.8)) + cd $(PRESTASHOP_DIR) \ + && sed -i "s/SymfonyContainer::getInstance()->get('translator')/\\\\Context::getContext()->getTranslator()/g" classes/lang/DataLang.php + cat $(PRESTASHOP_DIR)/classes/lang/DataLang.php | grep -A 3 -B 3 'this->translator = ' + + cd $(PRESTASHOP_DIR) \ + && sed -i "s/SymfonyContainer::getInstance()->get('translator')/\\\\Context::getContext()->getTranslator()/g" classes/Language.php + cat $(PRESTASHOP_DIR)/classes/Language.php | grep -A 3 -B 3 'translator = ' endif lint: @@ -58,11 +92,10 @@ lint: lint-docker: docker run --rm -it -w=/app -v ${PWD}:/app oskarstark/php-cs-fixer-ga:latest --config=.php-cs-fixer.php -v + # todo moveto version test: ifeq ($(COMPOSERV1),1) - cd $(PRESTASHOP_DIR) \ - && sed -i 's/throw new Exception/#throw new Exception/g' src/PrestaShopBundle/Install/DatabaseDump.php \ - && php composer.phar run-script create-test-db --timeout=0 + cd $(PRESTASHOP_DIR) && php composer.phar run-script create-test-db --timeout=0 cd $(PRESTASHOP_DIR) && php vendor/bin/phpunit -c $(ROOT_DIR)/phpunit.xml.dist else phpunit -c phpunit.xml.dist diff --git a/tests/lib/RetailcrmHistoryTest.php b/tests/lib/RetailcrmHistoryTest.php index 984cb77..8a59d9d 100644 --- a/tests/lib/RetailcrmHistoryTest.php +++ b/tests/lib/RetailcrmHistoryTest.php @@ -327,7 +327,7 @@ class RetailcrmHistoryTest extends RetailcrmTestCase $exportResult = $orders['orders'][0]; - if (version_compare(_PS_VERSION_, '1.7.4.0', '!=')) { // workaround – on 1.7.4.0 id_order always 1 + if (version_compare(_PS_VERSION_, '1.7.4.0', '<')) { // workaround – on 1.7.4.0 id_order always 1 $this->assertEquals($exportResult['id_order'], $newLastId); }