Skip to content

Commit 10ec1b5

Browse files
committed
ACP2E-222: Magento forms can be submitted before the Google Recaptcha appears in the form
1 parent 77b0565 commit 10ec1b5

File tree

4 files changed

+32
-27
lines changed

4 files changed

+32
-27
lines changed

app/code/Magento/Customer/view/frontend/templates/form/login.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ $loginButtonViewModel = $block->getData('login_button_view_model');
5555
</fieldset>
5656
</form>
5757
</div>
58-
<?php // phpcs:ignore Magento2.Legacy.PhtmlTemplate?>
58+
<?php // phpcs:ignore Magento2.Legacy.PhtmlTemplate ?>
5959
<script type="text/x-magento-init">
6060
{
6161
"*": {

app/code/Magento/Customer/view/frontend/templates/form/register.phtml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ script;
352352
$regionId = (int) $formData->getRegionId();
353353
$countriesWithOptionalZip = /* @noEscape */ $directoryHelper->getCountriesWithOptionalZip(true);
354354
?>
355+
<?php // phpcs:ignore Magento2.Legacy.PhtmlTemplate ?>
355356
<script type="text/x-magento-init">
356357
{
357358
"#country": {
@@ -369,7 +370,7 @@ script;
369370
}
370371
</script>
371372
<?php endif; ?>
372-
373+
<?php // phpcs:ignore Magento2.Legacy.PhtmlTemplate ?>
373374
<script type="text/x-magento-init">
374375
{
375376
".field.password": {

dev/tests/integration/testsuite/Magento/Customer/Block/Form/LoginTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Magento\TestFramework\Helper\Bootstrap;
1313
use Magento\TestFramework\Helper\Xpath;
1414
use PHPUnit\Framework\TestCase;
15+
use Magento\Customer\ViewModel\LoginButton;
1516

1617
/**
1718
* Class checks login form view
@@ -48,6 +49,7 @@ protected function setUp(): void
4849
$this->layout = $this->objectManager->get(LayoutInterface::class);
4950
$this->block = $this->layout->createBlock(Login::class);
5051
$this->block->setTemplate('Magento_Customer::form/login.phtml');
52+
$this->block->setLoginButtonViewModel($this->objectManager->get(LoginButton::class));
5153

5254
parent::setUp();
5355
}

dev/tests/integration/testsuite/Magento/Customer/Block/Form/RegisterTest.php

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Magento\Customer\ViewModel\Address\RegionProvider;
1010
use Magento\Framework\View\Element\Template;
1111
use Magento\TestFramework\Helper\Bootstrap;
12+
use Magento\Customer\ViewModel\CreateAccountButton;
1213

1314
/**
1415
* Test class for \Magento\Customer\Block\Form\Register
@@ -27,7 +28,8 @@ public function testCompanyDefault(): void
2728
/** @var \Magento\Customer\Block\Widget\Company $block */
2829
$block = Bootstrap::getObjectManager()->create(Register::class)
2930
->setTemplate('Magento_Customer::form/register.phtml')
30-
->setShowAddressFields(true);
31+
->setShowAddressFields(true)
32+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
3133
$this->setAttributeDataProvider($block);
3234
$this->setRegionProvider($block);
3335

@@ -42,10 +44,10 @@ public function testCompanyDefault(): void
4244
public function testTelephoneDefault(): void
4345
{
4446
/** @var \Magento\Customer\Block\Widget\Company $block */
45-
$block = Bootstrap::getObjectManager()->create(
46-
Register::class
47-
)->setTemplate('Magento_Customer::form/register.phtml')
48-
->setShowAddressFields(true);
47+
$block = Bootstrap::getObjectManager()->create(Register::class)
48+
->setTemplate('Magento_Customer::form/register.phtml')
49+
->setShowAddressFields(true)
50+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
4951
$this->setAttributeDataProvider($block);
5052
$this->setRegionProvider($block);
5153

@@ -60,10 +62,10 @@ public function testTelephoneDefault(): void
6062
public function testFaxDefault(): void
6163
{
6264
/** @var \Magento\Customer\Block\Widget\Company $block */
63-
$block = Bootstrap::getObjectManager()->create(
64-
Register::class
65-
)->setTemplate('Magento_Customer::form/register.phtml')
66-
->setShowAddressFields(true);
65+
$block = Bootstrap::getObjectManager()->create(Register::class)
66+
->setTemplate('Magento_Customer::form/register.phtml')
67+
->setShowAddressFields(true)
68+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
6769
$this->setAttributeDataProvider($block);
6870
$this->setRegionProvider($block);
6971

@@ -85,10 +87,10 @@ public function testCompanyDisabled(): void
8587
$model->save();
8688

8789
/** @var \Magento\Customer\Block\Widget\Company $block */
88-
$block = Bootstrap::getObjectManager()->create(
89-
Register::class
90-
)->setTemplate('Magento_Customer::form/register.phtml')
91-
->setShowAddressFields(true);
90+
$block = Bootstrap::getObjectManager()->create(Register::class)
91+
->setTemplate('Magento_Customer::form/register.phtml')
92+
->setShowAddressFields(true)
93+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
9294
$this->setAttributeDataProvider($block);
9395
$this->setRegionProvider($block);
9496

@@ -110,10 +112,10 @@ public function testTelephoneDisabled(): void
110112
$model->save();
111113

112114
/** @var \Magento\Customer\Block\Widget\Company $block */
113-
$block = Bootstrap::getObjectManager()->create(
114-
Register::class
115-
)->setTemplate('Magento_Customer::form/register.phtml')
116-
->setShowAddressFields(true);
115+
$block = Bootstrap::getObjectManager()->create(Register::class)
116+
->setTemplate('Magento_Customer::form/register.phtml')
117+
->setShowAddressFields(true)
118+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
117119
$this->setAttributeDataProvider($block);
118120
$this->setRegionProvider($block);
119121

@@ -135,10 +137,10 @@ public function testFaxEnabled(): void
135137
$model->save();
136138

137139
/** @var \Magento\Customer\Block\Widget\Company $block */
138-
$block = Bootstrap::getObjectManager()->create(
139-
Register::class
140-
)->setTemplate('Magento_Customer::form/register.phtml')
141-
->setShowAddressFields(true);
140+
$block = Bootstrap::getObjectManager()->create(Register::class)
141+
->setTemplate('Magento_Customer::form/register.phtml')
142+
->setShowAddressFields(true)
143+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
142144
$this->setAttributeDataProvider($block);
143145
$this->setRegionProvider($block);
144146

@@ -151,10 +153,10 @@ public function testFaxEnabled(): void
151153
public function testCityWithStoreLabel(): void
152154
{
153155
/** @var \Magento\Customer\Block\Form\Register $block */
154-
$block = Bootstrap::getObjectManager()->create(
155-
Register::class
156-
)->setTemplate('Magento_Customer::form/register.phtml')
157-
->setShowAddressFields(true);
156+
$block = Bootstrap::getObjectManager()->create(Register::class)
157+
->setTemplate('Magento_Customer::form/register.phtml')
158+
->setShowAddressFields(true)
159+
->setCreateAccountButtonViewModel(Bootstrap::getObjectManager()->create(CreateAccountButton::class));
158160
$this->setAttributeDataProvider($block);
159161
$this->setRegionProvider($block);
160162

0 commit comments

Comments
 (0)