diff options
Diffstat (limited to 'RhSolutions.Api.Tests')
-rw-r--r-- | RhSolutions.Api.Tests/ProductQueryModifierTests.cs | 11 | ||||
-rw-r--r-- | RhSolutions.Api.Tests/RautitanFittingsTests.cs | 2 | ||||
-rw-r--r-- | RhSolutions.Api.Tests/RautitanPipesTests.cs | 30 |
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 |