summaryrefslogtreecommitdiff
path: root/RhSolutions.Api.Tests
diff options
context:
space:
mode:
authorSerghei Cebotari <serghei@cebotari.ru>2023-10-08 16:17:59 +0300
committerSerghei Cebotari <serghei@cebotari.ru>2023-10-08 16:17:59 +0300
commit9501c4ed8be12373499622046f92f473b2ec0892 (patch)
tree7ee80529b01ecb38a1a47172651d210b47ae157e /RhSolutions.Api.Tests
parent22f058d53cdc743746707b48047de41f45b874c1 (diff)
Update pipe modifiers
Diffstat (limited to 'RhSolutions.Api.Tests')
-rw-r--r--RhSolutions.Api.Tests/ProductQueryModifierTests.cs11
-rw-r--r--RhSolutions.Api.Tests/RautitanFittingsTests.cs2
-rw-r--r--RhSolutions.Api.Tests/RautitanPipesTests.cs30
3 files changed, 37 insertions, 6 deletions
diff --git a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs b/RhSolutions.Api.Tests/ProductQueryModifierTests.cs
index 4bc394b..3875777 100644
--- a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs
+++ b/RhSolutions.Api.Tests/ProductQueryModifierTests.cs
@@ -1,3 +1,4 @@
+using System.Web;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using RhSolutions.Api.Services;
@@ -16,11 +17,11 @@ public abstract class ProductQueryModifierTests
{
["query"] = new StringValues(query)
};
- QueryCollection collection = new(queryPair);
- QueryString expected = new($"?query={Uri.EscapeDataString(modified)}");
+ QueryCollection collection = new(queryPair);
var modifier = _factory.GetModifier(productType);
- bool result = modifier.TryQueryModify(collection, out var actual);
- Assert.True(result);
- Assert.That(actual, Is.EqualTo(expected));
+
+ Assert.True(modifier.TryQueryModify(collection, out var actual));
+ string? result = HttpUtility.ParseQueryString(actual.ToString())["query"];
+ Assert.That(result, Is.EqualTo(modified));
}
} \ No newline at end of file
diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs
index 7833dc8..f00e2bd 100644
--- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs
+++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs
@@ -45,4 +45,4 @@ public class RautitanFittingsTests : ProductQueryModifierTests
[TestCase("Тройник RAUTITAN RX+ с наружной резьбой 20-20-R 3/4", "Тройник RAUTITAN с наружной резьбой 20-20-R 3/4")]
public void ThreadTPieceExternalTest(string query, string modified)
=> Execute(productType: "Тройник RAUTITAN резьбовой наружный", query, modified);
-} \ No newline at end of file
+}
diff --git a/RhSolutions.Api.Tests/RautitanPipesTests.cs b/RhSolutions.Api.Tests/RautitanPipesTests.cs
new file mode 100644
index 0000000..5e6bbbe
--- /dev/null
+++ b/RhSolutions.Api.Tests/RautitanPipesTests.cs
@@ -0,0 +1,30 @@
+namespace RhSolutions.Api.Tests;
+
+public class RautitanPipesTests : ProductQueryModifierTests
+{
+ [TestCase("Унив.труба RAUTITAN flex 16x2,2, бухта 100м", "Труба Flex 16x2,2 бухта")]
+ [TestCase("Труба flex 16", "Труба Flex 16x2,2 бухта")]
+ [TestCase("Унив.труба RAUTITAN flex 32x4,4, прям.отрезки 6м", "Труба Flex 32x4,4 прям.отрезки")]
+ [TestCase("Труба flex 32", "Труба Flex 32x4,4 прям.отрезки")]
+ public void FlexPipeTest(string query, string modified)
+ => Execute(productType: "Flex", query, modified);
+
+ [TestCase("Унив. труба RAUTITAN pink+ 16х2,2 мм, бухта 120 м", "Труба Pink+ 16x2,2 бухта")]
+ [TestCase("труба pink 16", "Труба Pink+ 16x2,2 бухта")]
+ [TestCase("Унив. труба RAUTITAN pink+ 32х4,4 мм, бухта 50 м", "Труба Pink+ 32x4,4 бухта")]
+ [TestCase("труба pink 32", "Труба Pink+ 32x4,4 прямые отрезки")]
+ public void PinkPipeTest(string query, string modified)
+ => Execute(productType: "Pink", query, modified);
+
+ [TestCase("Универсальн.труба RAUTITAN stabil 16,2х2,6 мм, бухта 100 м", "Труба Stabil -PLATINUM 16,2х2,6 бухта")]
+ [TestCase("труба stabil 16", "Труба Stabil -PLATINUM 16,2х2,6 бухта")]
+ [TestCase("Универсальн.труба RAUTITAN stabil 32х4,7 мм, прям.отрезки 5м", "Труба Stabil -PLATINUM 32х4,7 прям.отрезки")]
+ [TestCase("труба stabil 32", "Труба Stabil -PLATINUM 32х4,7 прям.отрезки")]
+ public void StabilPipeTest(string query, string modified)
+ => Execute(productType: "Stabil", query, modified);
+
+ [TestCase("Отоп.труба РЕХАУ BLACK 16х2,2 мм, бухта 200 м", "Труба Black 16х2,2 бухта")]
+ [TestCase("труба BLACK 16", "Труба Black 16х2,2 бухта")]
+ public void BlackPipeTest(string query, string modified)
+ => Execute(productType: "Black", query, modified);
+} \ No newline at end of file