From f7b235c4a0348e75068589cfd5ef26b7488a9ac2 Mon Sep 17 00:00:00 2001 From: Aashish Gurung <101558497+aashishgurung@users.noreply.github.com> Date: Thu, 26 Sep 2024 09:53:58 +0700 Subject: [PATCH] Resolve cart loading issue. (#477) --- .../gateways/abstract-omise-block-apm.php | 4 +--- .../gateways/abstract-omise-block-payment.php | 4 +--- .../gateways/omise-block-credit-card.php | 20 ++++++++++++++----- .../abstract-omise-block-apm-test.php | 1 - .../abstract-omise-block-payment-test.php | 1 - .../gateways/omise-block-credit-card-test.php | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/includes/blocks/gateways/abstract-omise-block-apm.php b/includes/blocks/gateways/abstract-omise-block-apm.php index b462dbe6..b94ba9c9 100644 --- a/includes/blocks/gateways/abstract-omise-block-apm.php +++ b/includes/blocks/gateways/abstract-omise-block-apm.php @@ -41,15 +41,13 @@ public function is_active() { public function get_payment_method_script_handles() { if ( ! wp_script_is( 'wc-omise-one-click-apms-payments-blocks', 'enqueued' ) ) { $script_asset = require_once __DIR__ . '/../assets/js/build/omise-one-click-apms.asset.php'; - wp_register_script( + wp_enqueue_script( "wc-omise-one-click-apms-payments-blocks", plugin_dir_url( __DIR__ ) . 'assets/js/build/omise-one-click-apms.js', $script_asset[ 'dependencies' ], $script_asset[ 'version' ], true ); - - wp_enqueue_script( 'wc-omise-one-click-apms-payments-blocks' ); } return [ 'wc-omise-one-click-apms-payments-blocks' ]; diff --git a/includes/blocks/gateways/abstract-omise-block-payment.php b/includes/blocks/gateways/abstract-omise-block-payment.php index 218a05cb..638b531e 100644 --- a/includes/blocks/gateways/abstract-omise-block-payment.php +++ b/includes/blocks/gateways/abstract-omise-block-payment.php @@ -46,15 +46,13 @@ public function is_active() { public function get_payment_method_script_handles() { if (!wp_script_is("wc-{$this->name}-payments-blocks", 'enqueued')) { $script_asset = require_once __DIR__ . "/../assets/js/build/{$this->name}.asset.php"; - wp_register_script( + wp_enqueue_script( "wc-{$this->name}-payments-blocks", plugin_dir_url(__DIR__) . "assets/js/build/{$this->name}.js", $script_asset['dependencies'], $script_asset['version'], true ); - - wp_enqueue_script("wc-{$this->name}-payments-blocks"); } return ["wc-{$this->name}-payments-blocks"]; diff --git a/includes/blocks/gateways/omise-block-credit-card.php b/includes/blocks/gateways/omise-block-credit-card.php index 84f6083b..107138cd 100644 --- a/includes/blocks/gateways/omise-block-credit-card.php +++ b/includes/blocks/gateways/omise-block-credit-card.php @@ -41,11 +41,18 @@ public function is_active() { * @return array */ public function get_payment_method_script_handles() { - if ( is_checkout() && $this->is_active() ) { - $script_asset = require_once __DIR__ . '/../assets/js/build/credit_card.asset.php'; + if ($this->is_active()) { + $script_asset_path = __DIR__ . '/../assets/js/build/credit_card.asset.php'; + $script_asset = file_exists( $script_asset_path ) + ? require_once( $script_asset_path ) + : [ + 'dependencies' => [], + 'version' => '1.0.0' + ]; - if (is_array($script_asset)) { - wp_register_script( + // Load the script related to OmiseJS in checkout + if (is_checkout()) { + wp_enqueue_script( 'embedded-js', plugins_url( '../../assets/javascripts/omise-embedded-card.js', __FILE__ ), ['omise-js'], @@ -54,8 +61,11 @@ public function get_payment_method_script_handles() { ); $script_asset['dependencies'] = array_merge($script_asset['dependencies'], ['embedded-js']); + } - wp_register_script( + // Load the script for UI in checkout and cart page. + if (is_checkout() || is_cart() || is_page('cart')) { + wp_enqueue_script( "{$this->name}-payments-blocks", plugin_dir_url( __DIR__ ) . 'assets/js/build/credit_card.js', $script_asset[ 'dependencies' ], diff --git a/tests/unit/includes/blocks/gateways/abstract-omise-block-apm-test.php b/tests/unit/includes/blocks/gateways/abstract-omise-block-apm-test.php index 4019988c..2f93a0ea 100644 --- a/tests/unit/includes/blocks/gateways/abstract-omise-block-apm-test.php +++ b/tests/unit/includes/blocks/gateways/abstract-omise-block-apm-test.php @@ -88,7 +88,6 @@ public function get_payment_method_data() public function get_payment_method_script_handles() { Monkey\Functions\expect('wp_script_is')->andReturn(false); - Monkey\Functions\expect('wp_register_script'); Monkey\Functions\expect('plugin_dir_url'); Monkey\Functions\expect('wp_enqueue_script'); diff --git a/tests/unit/includes/blocks/gateways/abstract-omise-block-payment-test.php b/tests/unit/includes/blocks/gateways/abstract-omise-block-payment-test.php index d44d53c4..c49681de 100644 --- a/tests/unit/includes/blocks/gateways/abstract-omise-block-payment-test.php +++ b/tests/unit/includes/blocks/gateways/abstract-omise-block-payment-test.php @@ -98,7 +98,6 @@ public function get_payment_method_script_handles() $name_property->setValue($this->obj, 'omise_atome'); Monkey\Functions\expect('wp_script_is')->andReturn(false); - Monkey\Functions\expect('wp_register_script'); Monkey\Functions\expect('plugin_dir_url'); Monkey\Functions\expect('wp_enqueue_script'); diff --git a/tests/unit/includes/blocks/gateways/omise-block-credit-card-test.php b/tests/unit/includes/blocks/gateways/omise-block-credit-card-test.php index 68e1b0cd..6a68099f 100644 --- a/tests/unit/includes/blocks/gateways/omise-block-credit-card-test.php +++ b/tests/unit/includes/blocks/gateways/omise-block-credit-card-test.php @@ -92,7 +92,7 @@ public function get_payment_method_data() public function get_payment_method_script_handles() { Monkey\Functions\expect('wp_script_is'); - Monkey\Functions\expect('wp_register_script'); + Monkey\Functions\expect('wp_enqueue_script'); Monkey\Functions\expect('plugin_dir_url'); Monkey\Functions\expect('plugins_url'); Monkey\Functions\expect('is_checkout')->andReturn(true);