Skip to content

Commit 78b4826

Browse files
committed
Merge remote-tracking branch 'origin/MC-17940' into 2.2-develop-pr35
2 parents f812450 + 85e1712 commit 78b4826

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="SearchByEmailInCustomerGridTest">
11+
<annotations>
12+
<features value="Customer"/>
13+
<stories value="Customer grid search"/>
14+
<title value="Admin customer grid email searching"/>
15+
<description value="Admin customer grid searching by email in keyword"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-18137"/>
18+
<useCaseId value="MC-17940"/>
19+
<group value="customer"/>
20+
</annotations>
21+
<before>
22+
<createData entity="Simple_US_Customer" stepKey="createFirstCustomer"/>
23+
<createData entity="Simple_US_Customer" stepKey="createSecondCustomer"/>
24+
<actionGroup ref="LoginAsAdmin" stepKey="login"/>
25+
</before>
26+
<after>
27+
<deleteData createDataKey="createFirstCustomer" stepKey="deleteFirstCustomer"/>
28+
<deleteData createDataKey="createSecondCustomer" stepKey="deleteSecondCustomer"/>
29+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomersGridPage"/>
30+
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearCustomerGridFilter"/>
31+
<actionGroup ref="logout" stepKey="logout"/>
32+
</after>
33+
<!--Step 1: Go to Customers > All Customers-->
34+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomersGridPage"/>
35+
<!--Step 2: On Customers grid page search customer by keyword-->
36+
<actionGroup ref="searchAdminDataGridByKeyword" stepKey="searchCustomer">
37+
<argument name="keyword" value="$$createSecondCustomer.email$$"/>
38+
</actionGroup>
39+
<!--Step 3: Check if customer is placed in a first row and clear grid filter-->
40+
<actionGroup ref="AdminAssertCustomerInCustomersGrid" stepKey="checkCustomerInGrid">
41+
<argument name="text" value="$$createSecondCustomer.email$$"/>
42+
<argument name="row" value="1"/>
43+
</actionGroup>
44+
</test>
45+
</tests>

lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/FulltextFilter.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
*/
1616
class FulltextFilter implements FilterApplierInterface
1717
{
18+
/**
19+
* Patterns using for escaping special characters
20+
*/
21+
private $escapePatterns = [
22+
'/[@\.]/' => '\_',
23+
'/([+\-><\(\)~*]+)/' => ' ',
24+
];
25+
1826
/**
1927
* Returns list of columns from fulltext index (doesn't support more then one FTI per table)
2028
*
@@ -70,7 +78,7 @@ function ($column) use ($alias) {
7078
*/
7179
private function escapeAgainstValue(string $value): string
7280
{
73-
return preg_replace('/([+\-><\(\)~*@]+)/', ' ', $value);
81+
return preg_replace(array_keys($this->escapePatterns), array_values($this->escapePatterns), $value);
7482
}
7583

7684
/**

0 commit comments

Comments
 (0)