diff --git a/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsDisabledActionGroup.xml b/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsDisabledActionGroup.xml new file mode 100644 index 0000000000000..57d39e35d539e --- /dev/null +++ b/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsDisabledActionGroup.xml @@ -0,0 +1,24 @@ + + + + + + + + Verify search button has disabled attribute + + + + + + $grabSearchButtonDisabledAttribute + true + + + diff --git a/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsEnabledActionGroup.xml b/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsEnabledActionGroup.xml new file mode 100644 index 0000000000000..2e1f8d4b68d36 --- /dev/null +++ b/app/code/Magento/Search/Test/Mftf/ActionGroup/AssertStorefrontVerifySearchButtonIsEnabledActionGroup.xml @@ -0,0 +1,23 @@ + + + + + + + + Verify search button does not disabled attribute + + + + + + $grabSearchButtonAttribute + + + diff --git a/app/code/Magento/Search/Test/Mftf/ActionGroup/StoreFrontFillSearchActionGroup.xml b/app/code/Magento/Search/Test/Mftf/ActionGroup/StoreFrontFillSearchActionGroup.xml new file mode 100644 index 0000000000000..f90297df02c1f --- /dev/null +++ b/app/code/Magento/Search/Test/Mftf/ActionGroup/StoreFrontFillSearchActionGroup.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonDisabledTillMinimumSearchLengthHitTest.xml b/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonDisabledTillMinimumSearchLengthHitTest.xml new file mode 100644 index 0000000000000..742807d2c24e2 --- /dev/null +++ b/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonDisabledTillMinimumSearchLengthHitTest.xml @@ -0,0 +1,29 @@ + + + + + + + + + <description value="Storefront verify search button is disabled if search term is less than minimum search length"/> + <severity value="AVERAGE"/> + <testCaseId value="MC-37380"/> + <group value="searchFrontend"/> + </annotations> + + <actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openStoreFrontHomePage"/> + + <actionGroup ref="StoreFrontFillSearchActionGroup" stepKey="fillSearchByTextLessThanMinimumSearchLength"> + <argument name="query" value="Te"/> + </actionGroup> + + <actionGroup ref="AssertStorefrontVerifySearchButtonIsDisabledActionGroup" stepKey="assertSearchButtonIsDisabled"/> + </test> +</tests> diff --git a/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonEnabledAfterMinimumSearchLengthHitTest.xml b/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonEnabledAfterMinimumSearchLengthHitTest.xml new file mode 100644 index 0000000000000..172fae919623c --- /dev/null +++ b/app/code/Magento/Search/Test/Mftf/Test/StorefrontVerifySearchButtonEnabledAfterMinimumSearchLengthHitTest.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="StorefrontVerifySearchButtonEnabledAfterMinimumSearchLengthHitTest"> + <annotations> + <stories value="Search Button Not Disabled"/> + <title value="Verify search button is not disabled if search term is equal or greater than minimum search length"/> + <description value="Storefront verify search button is not disabled if search term is equal or greater than minimum search length"/> + <severity value="AVERAGE"/> + <testCaseId value="MC-37381"/> + <group value="searchFrontend"/> + </annotations> + + <actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openStoreFrontHomePage"/> + + <actionGroup ref="StoreFrontFillSearchActionGroup" stepKey="fillSearchByTextMoreThanMinimumSearchLength"> + <argument name="query" value="Magento"/> + </actionGroup> + + <actionGroup ref="AssertStorefrontVerifySearchButtonIsEnabledActionGroup" stepKey="assertSearchButtonIsNotDisabled"/> + </test> +</tests> diff --git a/app/code/Magento/Search/view/frontend/web/js/form-mini.js b/app/code/Magento/Search/view/frontend/web/js/form-mini.js index b4493c5f38089..9b4c814f73d73 100644 --- a/app/code/Magento/Search/view/frontend/web/js/form-mini.js +++ b/app/code/Magento/Search/view/frontend/web/js/form-mini.js @@ -232,8 +232,10 @@ define([ break; case $.ui.keyCode.ENTER: - this.searchForm.trigger('submit'); - e.preventDefault(); + if (this.element.val().length >= parseInt(this.options.minSearchLength, 10)) { + this.searchForm.trigger('submit'); + e.preventDefault(); + } break; case $.ui.keyCode.DOWN: @@ -294,9 +296,10 @@ define([ dropdown = $('<ul role="listbox"></ul>'), value = this.element.val(); - this.submitBtn.disabled = isEmpty(value); + this.submitBtn.disabled = true; if (value.length >= parseInt(this.options.minSearchLength, 10)) { + this.submitBtn.disabled = false; $.getJSON(this.options.url, { q: value }, $.proxy(function (data) {