diff --git a/tests/.env-dist b/.env-dist
similarity index 100%
rename from tests/.env-dist
rename to .env-dist
diff --git a/.gitignore b/.gitignore
index 2086c68..c534094 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,4 +6,4 @@
/vendor
/www
/bin
-tests/.env
+.env
diff --git a/.travis.yml b/.travis.yml
index ae6f6a6..177b463 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,7 @@ env:
- OC_USERNAME=admin
- OC_PASSWORD=admin
- OC_EMAIL=test@test.com
- - SERVER_PORT=8000
+ - SERVER_PORT=80
- SERVER_URL=http://localhost
stages:
diff --git a/Makefile b/Makefile
index a495dad..5066fb9 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ before_script:
composer require --dev opencart/opencart $(OPENCART)
composer setup
bin/robo --load-from tests/RoboFile.php project:deploy
- (php -S localhost:8000 -t www &) 2> /dev/null > /dev/null
+ (php -S localhost:80 -t www &) 2> /dev/null > /dev/null
sleep 2
coverage:
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 531d08b..367879c 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -19,7 +19,7 @@
-
+
diff --git a/src/upload/admin/controller/extension/module/retailcrm.php b/src/upload/admin/controller/extension/module/retailcrm.php
index a229c4f..2438992 100644
--- a/src/upload/admin/controller/extension/module/retailcrm.php
+++ b/src/upload/admin/controller/extension/module/retailcrm.php
@@ -469,7 +469,6 @@ class ControllerExtensionModuleRetailcrm extends Controller
$this->response->setOutput(
$this->load->view('extension/module/retailcrm', $_data)
);
-
}
/**
diff --git a/tests/RoboFile.php b/tests/RoboFile.php
index bdeab3a..7313c66 100644
--- a/tests/RoboFile.php
+++ b/tests/RoboFile.php
@@ -1,9 +1,6 @@
chmod($this->root_dir . 'www', 0777, 0000, true)
->run();
+ if (getenv('TEST_SUITE') === '3.0') {
+ $this->taskFileSystemStack()->copy(
+ $this->root_dir . 'vendor/beyondit/opencart-test-suite/src/upload/system/library/session/test.php',
+ $this->root_dir . 'www/system/library/session/test.php'
+ )->run();
+ }
+
// Create new database, drop if exists already
try {
$conn = new PDO("mysql:host=".$this->opencart_config['db_hostname'], $this->opencart_config['db_username'], $this->opencart_config['db_password']);
@@ -175,7 +179,11 @@ class RoboFile extends \Robo\Tasks
private function restoreSampleData($conn)
{
- $sql = file_get_contents($this->root_dir . 'tests/opencart_sample_data.sql');
+ if (getenv('TEST_SUITE') === '2.3') {
+ $sql = file_get_contents($this->root_dir . 'tests/opencart_sample_data.sql');
+ } else {
+ $sql = file_get_contents($this->root_dir . 'tests/opencart_sample_data_3.sql');
+ }
$conn->exec("USE " . $this->opencart_config['db_database']);
diff --git a/tests/admin/ControllerRetailcrmAdminTest.php b/tests/admin/ControllerRetailcrmAdminTest.php
index ad382c1..365b9fc 100644
--- a/tests/admin/ControllerRetailcrmAdminTest.php
+++ b/tests/admin/ControllerRetailcrmAdminTest.php
@@ -8,10 +8,12 @@ class ControllerRetailcrmAdminTest extends TestCase
public function setUp()
{
+ parent::setUp();
+
$query = $this->db->query("SELECT permission from ".DB_PREFIX."user_group WHERE name = 'Administrator'");
$permissions = json_decode($query->row['permission'],true);
- if (!in_array('extension/module/retailcrm',$permissions['access'])) {
+ if (!in_array('extension/module/retailcrm', $permissions['access'])) {
$permissions['access'][] = 'extension/module/retailcrm';
$this->db->query("UPDATE ".DB_PREFIX."user_group SET permission='".$this->db->escape(json_encode($permissions))."' WHERE name = 'Administrator'");
}
@@ -56,4 +58,8 @@ class ControllerRetailcrmAdminTest extends TestCase
$this->assertRegExp('/Connection settings/', $response->getOutput());
}
+
+ public function tearDown()
+ {
+ }
}
diff --git a/tests/admin/ModelRetailcrmEventAdminTest.php b/tests/admin/ModelRetailcrmEventAdminTest.php
index 02bf663..4f65c18 100644
--- a/tests/admin/ModelRetailcrmEventAdminTest.php
+++ b/tests/admin/ModelRetailcrmEventAdminTest.php
@@ -10,7 +10,12 @@ class ModelRetailcrmEventAdminTest extends TestCase
{
parent::setUp();
- $eventModel = $this->loadModel('extension/event');
+ if (getenv('TEST_SUITE') === '3.0') {
+ $eventModel = $this->loadModel('setting/event');
+ } else {
+ $eventModel = $this->loadModel('extension/event');
+ }
+
$eventModel->addEvent(self::CODE, 'test', 'test');
}
diff --git a/tests/catalog/ControllerRetailcrmApiCatalogTest.php b/tests/catalog/ControllerRetailcrmApiCatalogTest.php
index 1db1df7..ad2d520 100644
--- a/tests/catalog/ControllerRetailcrmApiCatalogTest.php
+++ b/tests/catalog/ControllerRetailcrmApiCatalogTest.php
@@ -8,6 +8,7 @@ class ControllerRetailcrmApiCatalogTest extends TestCase
private $retailcrm;
const ORDER_ID = 1;
+ const USERNAME = 'Default';
public function setUp()
{
@@ -25,8 +26,9 @@ class ControllerRetailcrmApiCatalogTest extends TestCase
)
);
- if (isset($this->request->get['key'])) {
+ if (isset($this->request->get['key']) && isset($this->request->get['username'])) {
unset($this->request->get['key']);
+ unset($this->request->get['username']);
}
}
@@ -38,6 +40,7 @@ class ControllerRetailcrmApiCatalogTest extends TestCase
$this->assertEquals('Not found api key', $data->error);
$this->request->get['key'] = $this->apiKey;
+ $this->request->get['username'] = static::USERNAME;
$response = $this->dispatchAction('api/retailcrm/getDeliveryTypes');
$data = json_decode($response->getOutput());
@@ -52,6 +55,7 @@ class ControllerRetailcrmApiCatalogTest extends TestCase
$this->assertEquals('Not found api key', $data->error);
$this->request->get['key'] = $this->apiKey;
+ $this->request->get['username'] = static::USERNAME;
$response = $this->dispatchAction('api/retailcrm/addOrderHistory');
$data = json_decode($response->getOutput());
diff --git a/tests/opencart_sample_data.sql b/tests/opencart_sample_data.sql
index 598d7b4..1954565 100644
--- a/tests/opencart_sample_data.sql
+++ b/tests/opencart_sample_data.sql
@@ -1,5 +1,5 @@
TRUNCATE TABLE `oc_customer`;
-INSERT INTO `oc_customer` (`customer_id`, `customer_group_id`, `store_id`, `language_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `password`, `salt`, `cart`, `wishlist`, `newsletter`, `address_id`, `custom_field`, `ip`, `status`, `safe`, `token`, `code`, `date_added`) VALUES ('1', '1', '0', '1', 'Test', 'Test', 'test@mail.ru', '+7 (000) 000-00-00', '', 'ed3798da75d6cdd695e99e87a60d587a10aa95ff', '51TalnrgH', '', '', '0', '1', '', '172.21.0.1', '1', '0', '', '', '2018-06-07 13:50:08');
+INSERT INTO `oc_customer` (`customer_id`, `customer_group_id`, `store_id`, `language_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `password`, `salt`, `cart`, `wishlist`, `newsletter`, `address_id`, `custom_field`, `ip`, `status`, `approved`, `safe`, `token`, `code`, `date_added`) VALUES ('1', '1', '0', '1', 'Test', 'Test', 'test@mail.ru', '+7 (000) 000-00-00', '', 'ed3798da75d6cdd695e99e87a60d587a10aa95ff', '51TalnrgH', '', '', '0', '1', '', '172.21.0.1', '1', '1', '0', '', '', '2018-06-07 13:50:08');
TRUNCATE TABLE `oc_customer_activity`;
TRUNCATE TABLE `oc_customer_group`;
diff --git a/tests/opencart_sample_data_3.sql b/tests/opencart_sample_data_3.sql
new file mode 100644
index 0000000..598d7b4
--- /dev/null
+++ b/tests/opencart_sample_data_3.sql
@@ -0,0 +1,55 @@
+TRUNCATE TABLE `oc_customer`;
+INSERT INTO `oc_customer` (`customer_id`, `customer_group_id`, `store_id`, `language_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `password`, `salt`, `cart`, `wishlist`, `newsletter`, `address_id`, `custom_field`, `ip`, `status`, `safe`, `token`, `code`, `date_added`) VALUES ('1', '1', '0', '1', 'Test', 'Test', 'test@mail.ru', '+7 (000) 000-00-00', '', 'ed3798da75d6cdd695e99e87a60d587a10aa95ff', '51TalnrgH', '', '', '0', '1', '', '172.21.0.1', '1', '0', '', '', '2018-06-07 13:50:08');
+
+TRUNCATE TABLE `oc_customer_activity`;
+TRUNCATE TABLE `oc_customer_group`;
+INSERT INTO `oc_customer_group` (`customer_group_id`, `approval`, `sort_order`) VALUES ('1', '0', '1');
+INSERT INTO `oc_customer_group` (`customer_group_id`, `approval`, `sort_order`) VALUES ('2', '0', '1');
+INSERT INTO `oc_customer_group` (`customer_group_id`, `approval`, `sort_order`) VALUES ('3', '0', '0');
+
+TRUNCATE TABLE `oc_customer_group_description`;
+INSERT INTO `oc_customer_group_description` (`customer_group_id`, `language_id`, `name`, `description`) VALUES ('1', '1', 'Default', 'test');
+INSERT INTO `oc_customer_group_description` (`customer_group_id`, `language_id`, `name`, `description`) VALUES ('2', '1', 'Test2', 'test2');
+INSERT INTO `oc_customer_group_description` (`customer_group_id`, `language_id`, `name`, `description`) VALUES ('3', '1', 'test3', 'test3');
+
+TRUNCATE TABLE `oc_customer_history`;
+TRUNCATE TABLE `oc_customer_ip`;
+INSERT INTO `oc_customer_ip` (`customer_ip_id`, `customer_id`, `ip`, `date_added`) VALUES ('4', '1', '172.21.0.1', '2018-06-07 13:50:29');
+
+TRUNCATE TABLE `oc_customer_login`;
+TRUNCATE TABLE `oc_customer_online`;
+TRUNCATE TABLE `oc_customer_reward`;
+TRUNCATE TABLE `oc_customer_search`;
+TRUNCATE TABLE `oc_customer_transaction`;
+TRUNCATE TABLE `oc_customer_wishlist`;
+TRUNCATE TABLE `oc_order`;
+
+INSERT INTO `oc_order` (`order_id`, `invoice_no`, `invoice_prefix`, `store_id`, `store_name`, `store_url`, `customer_id`, `customer_group_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `custom_field`, `payment_firstname`, `payment_lastname`, `payment_company`, `payment_address_1`, `payment_address_2`, `payment_city`, `payment_postcode`, `payment_country`, `payment_country_id`, `payment_zone`, `payment_zone_id`, `payment_address_format`, `payment_custom_field`, `payment_method`, `payment_code`, `shipping_firstname`, `shipping_lastname`, `shipping_company`, `shipping_address_1`, `shipping_address_2`, `shipping_city`, `shipping_postcode`, `shipping_country`, `shipping_country_id`, `shipping_zone`, `shipping_zone_id`, `shipping_address_format`, `shipping_custom_field`, `shipping_method`, `shipping_code`, `comment`, `total`, `order_status_id`, `affiliate_id`, `commission`, `marketing_id`, `tracking`, `language_id`, `currency_id`, `currency_code`, `currency_value`, `ip`, `forwarded_ip`, `user_agent`, `accept_language`, `date_added`, `date_modified`) VALUES ('1', '0', 'INV-2016-00', '0', 'Opencart', 'http://localhost:8000/', '1', '1', 'Test', 'Test', 'test@mail.ru', '+7 (000) 000-00-00', '', '', 'Test', 'Test', '', 'Address', 'Address 2', 'Test', '111111', 'Russian Federation', '176', 'Rostov-na-Donu', '99', '', '[]', 'Cash on delivery', 'cod', 'Test', 'Test', '', 'Address', 'Address 2', 'Test', '111111', 'Russian Federation', '176', 'Rostov-na-Donu', '99', '', '[]', 'Flat Rate', 'flat.flat', 'test comment', '106.0000', '1', '0', '0.0000', '0', '', '1', '1', 'USD', '1.00000000', '172.21.0.1', '', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36', 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', '2018-06-07 13:51:10', '2018-06-07 13:51:23');
+INSERT INTO `oc_order` (`order_id`, `invoice_no`, `invoice_prefix`, `store_id`, `store_name`, `store_url`, `customer_id`, `customer_group_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `custom_field`, `payment_firstname`, `payment_lastname`, `payment_company`, `payment_address_1`, `payment_address_2`, `payment_city`, `payment_postcode`, `payment_country`, `payment_country_id`, `payment_zone`, `payment_zone_id`, `payment_address_format`, `payment_custom_field`, `payment_method`, `payment_code`, `shipping_firstname`, `shipping_lastname`, `shipping_company`, `shipping_address_1`, `shipping_address_2`, `shipping_city`, `shipping_postcode`, `shipping_country`, `shipping_country_id`, `shipping_zone`, `shipping_zone_id`, `shipping_address_format`, `shipping_custom_field`, `shipping_method`, `shipping_code`, `comment`, `total`, `order_status_id`, `affiliate_id`, `commission`, `marketing_id`, `tracking`, `language_id`, `currency_id`, `currency_code`, `currency_value`, `ip`, `forwarded_ip`, `user_agent`, `accept_language`, `date_added`, `date_modified`) VALUES ('2', '0', 'INV-2016-00', '0', 'Opencart', 'http://localhost:8000/', '0', '1', 'Test', 'Test', 'test@mail.ru', '+7 (000) 000-00-00', '', '[]', 'Test', 'Test', '', 'Address', 'Address 2', 'Test', '111111', 'Russian Federation', '176', 'Rostov-na-Donu', '99', '', '[]', 'Cash on delivery', 'cod', 'Test', 'Test', '', 'Address', 'Address 2', 'Test', '111111', 'Russian Federation', '176', 'Rostov-na-Donu', '99', '', '[]', 'Flat Rate', 'flat.flat', 'test comment', '85.0000', '1', '0', '0.0000', '0', '', '1', '1', 'USD', '1.00000000', '172.21.0.1', '', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36', 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', '2018-06-07 13:53:50', '2018-06-07 13:54:00');
+
+TRUNCATE TABLE `oc_order_history`;
+INSERT INTO `oc_order_history` (`order_history_id`, `order_id`, `order_status_id`, `notify`, `comment`, `date_added`) VALUES ('19', '2', '1', '0', '', '2018-06-07 13:54:00');
+INSERT INTO `oc_order_history` (`order_history_id`, `order_id`, `order_status_id`, `notify`, `comment`, `date_added`) VALUES ('18', '1', '1', '0', '', '2018-06-07 13:51:23');
+
+TRUNCATE TABLE `oc_order_option`;
+
+INSERT INTO `oc_order_option` (`order_option_id`, `order_id`, `order_product_id`, `product_option_id`, `product_option_value_id`, `name`, `value`, `type`) VALUES ('15', '2', '55', '226', '15', 'Select', 'Red', 'select');
+
+TRUNCATE TABLE `oc_order_product`;
+INSERT INTO `oc_order_product` (`order_product_id`, `order_id`, `product_id`, `name`, `model`, `quantity`, `price`, `total`, `tax`, `reward`) VALUES ('54', '1', '40', 'iPhone', 'product 11', '1', '101.0000', '101.0000', '18.0000', '20');
+INSERT INTO `oc_order_product` (`order_product_id`, `order_id`, `product_id`, `name`, `model`, `quantity`, `price`, `total`, `tax`, `reward`) VALUES ('55', '2', '30', 'Canon EOS 5D', 'Product 3', '1', '80.0000', '80.0000', '18.0000', '200');
+
+TRUNCATE TABLE `oc_order_recurring`;
+TRUNCATE TABLE `oc_order_recurring_transaction`;
+TRUNCATE TABLE `oc_order_total`;
+
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('162', '1', 'shipping', 'Flat Rate', '5.0000', '3');
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('161', '1', 'sub_total', 'Sub-Total', '101.0000', '1');
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('164', '2', 'sub_total', 'Sub-Total', '80.0000', '1');
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('165', '2', 'shipping', 'Flat Rate', '5.0000', '3');
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('163', '1', 'total', 'Total', '106.0000', '9');
+INSERT INTO `oc_order_total` (`order_total_id`, `order_id`, `code`, `title`, `value`, `sort_order`) VALUES ('166', '2', 'total', 'Total', '85.0000', '9');
+INSERT INTO `oc_product_special` (`product_id`, `customer_group_id`, `priority`, `price`,`date_start`, `date_end`) values ('42', '2', '1', '110.000', CURDATE(), ADDDATE(CURDATE(),INTERVAL 10 DAY));
+INSERT INTO `oc_product_special` (`product_id`, `customer_group_id`, `priority`, `price`,`date_start`, `date_end`) values ('40', '1', '1', '50.000', CURDATE(), ADDDATE(CURDATE(),INTERVAL 10 DAY));
+
+TRUNCATE TABLE `oc_order_voucher`;