diff --git a/composer.json b/composer.json index 7bffffe..a298fba 100644 --- a/composer.json +++ b/composer.json @@ -13,6 +13,7 @@ "require-dev": { "ext-json": "*", "ext-mbstring": "*", + "ext-simplexml": "*", "phpunit/phpunit": "6.*" } } diff --git a/src/include/class-wc-retailcrm-icml.php b/src/include/class-wc-retailcrm-icml.php index b703c16..bdc6ec4 100644 --- a/src/include/class-wc-retailcrm-icml.php +++ b/src/include/class-wc-retailcrm-icml.php @@ -413,7 +413,9 @@ if ( ! class_exists( 'WC_Retailcrm_Icml' ) ) : 'name' => $term->name ); - $thumbnail_id = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true); + $thumbnail_id = function_exists('get_term_meta') + ? get_term_meta($term->term_id, 'thumbnail_id', true) + : get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true); $picture = wp_get_attachment_url($thumbnail_id); if ($picture) { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index ed438a0..c2e29d6 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -17,6 +17,7 @@ function _manually_load_plugin() { require $plugin_dir . 'src/include/class-wc-retailcrm-ga.php'; require $plugin_dir . 'src/include/class-wc-retailcrm-daemon-collector.php'; require $plugin_dir . 'src/include/class-wc-retailcrm-history.php'; + require $plugin_dir . 'src/include/class-wc-retailcrm-icml.php'; require $plugin_dir . 'src/retailcrm.php'; } diff --git a/tests/test-wc-retailcrm-icml.php b/tests/test-wc-retailcrm-icml.php new file mode 100644 index 0000000..883f721 --- /dev/null +++ b/tests/test-wc-retailcrm-icml.php @@ -0,0 +1,36 @@ + 'Test', + 'slug' => 'test' + ) + ); + } + + public function testGenerate() + { + $icml = new WC_Retailcrm_Icml(); + $icml->generate(); + + $this->assertFileExists(ABSPATH . 'retailcrm.xml'); + $xml = simplexml_load_file(ABSPATH . 'retailcrm.xml'); + $res = $xml->xpath('/yml_catalog/shop/categories/category[@id]'); + + $this->assertNotEmpty($res); + + foreach ($res as $node) { + $this->assertEquals('category', $node->getName()); + } + } +} diff --git a/tests/test-wc-retailcrm-plugin.php b/tests/test-wc-retailcrm-plugin.php index d762c2d..f858c87 100644 --- a/tests/test-wc-retailcrm-plugin.php +++ b/tests/test-wc-retailcrm-plugin.php @@ -42,6 +42,19 @@ class WC_Retailcrm_Plugin_Test extends WC_Retailcrm_Test_Case_Helper } } + public function test_filter_cron_schedules() + { + $plugin = WC_Retailcrm_Plugin::getInstance(dirname(__DIR__ . '/../src/retailcrm.php')); + $schedules = $plugin->filter_cron_schedules(array()); + + $this->assertNotEmpty($schedules['five_minutes']); + $this->assertEquals(300, $schedules['five_minutes']['interval']); + $this->assertNotEmpty($schedules['three_hours']); + $this->assertEquals(10800, $schedules['three_hours']['interval']); + $this->assertNotEmpty($schedules['fiveteen_minutes']); + $this->assertEquals(900, $schedules['fiveteen_minutes']['interval']); + } + private function getResponseData() { return array(