From bdc69a6fc6bc473ff4ad6b03fcf52306fec61ac6 Mon Sep 17 00:00:00 2001 From: Emili Castells Guasch Date: Thu, 2 Mar 2023 09:11:17 +0100 Subject: [PATCH] Fix return subscription plan id --- .env.e2e.example | 3 +++ modules/ppcp-button/src/Assets/SmartButton.php | 2 +- tests/playwright/subscriptions-api.spec.js | 12 ++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.env.e2e.example b/.env.e2e.example index 8a6843556..0e6b07190 100644 --- a/.env.e2e.example +++ b/.env.e2e.example @@ -7,6 +7,9 @@ AUTHORIZATION="Bearer ABC123" WP_MERCHANT_USER="admin" WP_MERCHANT_PASSWORD="admin" +WP_CUSTOMER_USER="customer" +WP_CUSTOMER_PASSWORD="password" + CUSTOMER_EMAIL="customer@example.com" CUSTOMER_PASSWORD="password" diff --git a/modules/ppcp-button/src/Assets/SmartButton.php b/modules/ppcp-button/src/Assets/SmartButton.php index d26a91216..624d1e556 100644 --- a/modules/ppcp-button/src/Assets/SmartButton.php +++ b/modules/ppcp-button/src/Assets/SmartButton.php @@ -1361,7 +1361,7 @@ class SmartButton implements SmartButtonInterface { assert( $product instanceof WC_Product ); if ( $product->get_type() === 'subscription' && $product->meta_exists( 'ppcp_subscription_plan' ) ) { - return $product->get_meta( 'ppcp_subscription_plan' ); + return $product->get_meta( 'ppcp_subscription_plan' )->id; } } diff --git a/tests/playwright/subscriptions-api.spec.js b/tests/playwright/subscriptions-api.spec.js index 173f8395f..eaa978812 100644 --- a/tests/playwright/subscriptions-api.spec.js +++ b/tests/playwright/subscriptions-api.spec.js @@ -2,6 +2,8 @@ const {test, expect} = require('@playwright/test'); const { WP_MERCHANT_USER, WP_MERCHANT_PASSWORD, + WP_CUSTOMER_USER, + WP_CUSTOMER_PASSWORD, AUTHORIZATION } = process.env; @@ -15,6 +17,16 @@ async function loginAsAdmin(page) { ]); } +async function loginAsCustomer(page) { + await page.goto('/wp-admin'); + await page.locator('input[name="log"]').fill(WP_CUSTOMER_USER); + await page.locator('input[name="pwd"]').fill(WP_CUSTOMER_PASSWORD); + await Promise.all([ + page.waitForNavigation(), + page.locator('text=Log In').click() + ]); +} + test.describe.serial('Merchant', () => { const title = (Math.random() + 1).toString(36).substring(7); let product_id = '';