Fix coupling modifier
This commit is contained in:
parent
8252e962db
commit
942c60beea
@ -14,6 +14,7 @@ public class RautitanFittingsTests : ProductQueryModifierTests
|
|||||||
[TestCase("муфта 20", "Муфта соединительная равнопроходная 20")]
|
[TestCase("муфта 20", "Муфта соединительная равнопроходная 20")]
|
||||||
[TestCase("переходник 20-16", "Муфта соединительная переходная 20-16")]
|
[TestCase("переходник 20-16", "Муфта соединительная переходная 20-16")]
|
||||||
[TestCase("Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")]
|
[TestCase("Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")]
|
||||||
|
[TestCase("Муфта соединительная переходная 20x16 для труб из сшитого полиэтилена аксиальный", "Муфта соединительная переходная 20-16")]
|
||||||
public void CouplingTest(string query, string modified)
|
public void CouplingTest(string query, string modified)
|
||||||
=> Execute(productType: "Муфта соединительная", query, modified);
|
=> Execute(productType: "Муфта соединительная", query, modified);
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ namespace RhSolutions.Api.Services
|
|||||||
{
|
{
|
||||||
public class CouplingModifier : IProductQueryModifier
|
public class CouplingModifier : IProductQueryModifier
|
||||||
{
|
{
|
||||||
private string pattern { get; } = @"\b(16|20|25|32|40|50|63)\b";
|
private string pattern { get; } = @"([\b\D]|^)?(?<Diameter>16|20|25|32|40|50|63)([\b\D]|$)?";
|
||||||
public bool TryQueryModify(IQueryCollection collection, out QueryString queryString)
|
public bool TryQueryModify(IQueryCollection collection, out QueryString queryString)
|
||||||
{
|
{
|
||||||
queryString = QueryString.Empty;
|
queryString = QueryString.Empty;
|
||||||
@ -23,13 +23,13 @@ namespace RhSolutions.Api.Services
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
QueryBuilder qb = new();
|
QueryBuilder qb = new();
|
||||||
if (matches.Count < 2 || matches.Count > 1 && matches[0].Value == matches[1].Value)
|
if (matches.Count < 2 || matches.Count > 1 && matches[0].Groups["Diameter"].Value == matches[1].Groups["Diameter"].Value)
|
||||||
{
|
{
|
||||||
qb.Add("query", $"Муфта соединительная равнопроходная {matches[0]}");
|
qb.Add("query", $"Муфта соединительная равнопроходная {matches[0].Groups["Diameter"].Value}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qb.Add("query", $"Муфта соединительная переходная {matches[0]}-{matches[1]}");
|
qb.Add("query", $"Муфта соединительная переходная {matches[0].Groups["Diameter"].Value}-{matches[1].Groups["Diameter"].Value}");
|
||||||
}
|
}
|
||||||
queryString = qb.ToQueryString();
|
queryString = qb.ToQueryString();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user