From 149161e7f81854726f21e285f1b8308fb03a36ae Mon Sep 17 00:00:00 2001 From: indykoning <15870933+indykoning@users.noreply.github.com> Date: Thu, 13 Nov 2025 17:06:47 +0100 Subject: [PATCH 01/13] Fixed email is not valid spam --- resources/js/components/Checkout/CheckoutLogin.vue | 1 - resources/views/checkout/steps/login.blade.php | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/js/components/Checkout/CheckoutLogin.vue b/resources/js/components/Checkout/CheckoutLogin.vue index 3df17648d..5173b87b1 100644 --- a/resources/js/components/Checkout/CheckoutLogin.vue +++ b/resources/js/components/Checkout/CheckoutLogin.vue @@ -5,7 +5,6 @@ import { useDebounceFn } from '@vueuse/core' const debouncePromise = useDebounceFn(async function (self) { self.isEmailAvailable = await isEmailAvailable(self.email || '') - await self.handleGuest() }, 300) export default { diff --git a/resources/views/checkout/steps/login.blade.php b/resources/views/checkout/steps/login.blade.php index f889a5943..5829c9c99 100644 --- a/resources/views/checkout/steps/login.blade.php +++ b/resources/views/checkout/steps/login.blade.php @@ -11,6 +11,7 @@ type="email" v-model="checkoutLogin.email" v-bind:disabled="loggedIn" + v-on:blur="() => checkoutLogin.go()" required /> From bfcfb578720b953f50e521252d95c350e0c91905 Mon Sep 17 00:00:00 2001 From: indykoning <15870933+indykoning@users.noreply.github.com> Date: Thu, 13 Nov 2025 17:14:02 +0100 Subject: [PATCH 02/13] Change email input event from blur to change --- resources/views/checkout/steps/login.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/checkout/steps/login.blade.php b/resources/views/checkout/steps/login.blade.php index 5829c9c99..ddd5d1480 100644 --- a/resources/views/checkout/steps/login.blade.php +++ b/resources/views/checkout/steps/login.blade.php @@ -11,7 +11,7 @@ type="email" v-model="checkoutLogin.email" v-bind:disabled="loggedIn" - v-on:blur="() => checkoutLogin.go()" + v-on:change="() => checkoutLogin.go()" required /> From f443aacba2ffbcac63e393feadb3dccf926a9137 Mon Sep 17 00:00:00 2001 From: indy koning Date: Tue, 18 Nov 2025 13:01:03 +0100 Subject: [PATCH 03/13] Fix tests --- resources/js/fetch.js | 5 ++++- resources/js/stores/useUser.js | 11 ++++++----- resources/views/checkout/pages/onestep.blade.php | 2 +- resources/views/checkout/steps/login.blade.php | 8 ++++++++ tests/playwright/pages/CheckoutPage.js | 3 +++ 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/resources/js/fetch.js b/resources/js/fetch.js index 0416f72e7..8bc9fddb4 100644 --- a/resources/js/fetch.js +++ b/resources/js/fetch.js @@ -151,7 +151,10 @@ export const magentoGraphQL = (window.magentoGraphQL = async ( console.error(data.errors) data?.errors?.forEach((error) => { - if (!['graphql-authorization', 'graphql-authentication'].includes(error?.extensions?.category)) { + if ( + !['graphql-authorization', 'graphql-authentication'].includes(error?.extensions?.category) + || error.path.includes('generateCustomerToken') + ) { return } diff --git a/resources/js/stores/useUser.js b/resources/js/stores/useUser.js index 669c81d5f..f05dcce32 100644 --- a/resources/js/stores/useUser.js +++ b/resources/js/stores/useUser.js @@ -128,7 +128,7 @@ export const register = async function (email, firstname, lastname, password, in } export const login = async function (email, password) { - return magentoGraphQL( + const response = await magentoGraphQL( 'mutation generateCustomerToken ($email: String!, $password: String!) { generateCustomerToken (email: $email, password: $password) { token } }', { email: email, @@ -137,10 +137,11 @@ export const login = async function (email, password) { { notifyOnError: false, }, - ).then(async (response) => { - await loginByToken(response.data.generateCustomerToken.token) - return response - }) + ) + + await loginByToken(response.data.generateCustomerToken.token) + + return response; } export const loginByToken = async function (customerToken) { diff --git a/resources/views/checkout/pages/onestep.blade.php b/resources/views/checkout/pages/onestep.blade.php index e6cd40ee0..ce0ced8aa 100644 --- a/resources/views/checkout/pages/onestep.blade.php +++ b/resources/views/checkout/pages/onestep.blade.php @@ -17,7 +17,7 @@ ).catch(); }">
- @include('rapidez::checkout.steps.login') + @include('rapidez::checkout.steps.login', ['onestep' => true])

@lang('Shipping address')

diff --git a/resources/views/checkout/steps/login.blade.php b/resources/views/checkout/steps/login.blade.php index ddd5d1480..4fdc95e81 100644 --- a/resources/views/checkout/steps/login.blade.php +++ b/resources/views/checkout/steps/login.blade.php @@ -63,5 +63,13 @@ @lang('Create an account') + @if($onestep ?? false) + + @endif diff --git a/tests/playwright/pages/CheckoutPage.js b/tests/playwright/pages/CheckoutPage.js index 25e807ec3..b92c51872 100644 --- a/tests/playwright/pages/CheckoutPage.js +++ b/tests/playwright/pages/CheckoutPage.js @@ -139,6 +139,9 @@ export class CheckoutPage { if (email) { await this.login(email, password, register) + await this.page.getByTestId('login').click() + await this.page.waitForTimeout(500) + await this.page.waitForLoadState('networkidle') } await this.shippingAddress() From 0ca9928c6fb286c7d0431211fe3e36a8905f61df Mon Sep 17 00:00:00 2001 From: indykoning Date: Tue, 18 Nov 2025 12:01:37 +0000 Subject: [PATCH 04/13] Apply fixes from Duster --- resources/views/checkout/steps/login.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/checkout/steps/login.blade.php b/resources/views/checkout/steps/login.blade.php index 4fdc95e81..d5f14249d 100644 --- a/resources/views/checkout/steps/login.blade.php +++ b/resources/views/checkout/steps/login.blade.php @@ -63,7 +63,7 @@ @lang('Create an account') - @if($onestep ?? false) + @if ($onestep ?? false)