0
0
RhSolutions-Api/RhSolutions.Api.Tests/ProductQueryModifierTests.cs

27 lines
780 B
C#
Raw Normal View History

2023-10-08 16:17:59 +03:00
using System.Web;
2023-09-29 10:07:41 +03:00
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using RhSolutions.Api.Services;
2023-10-03 21:57:33 +03:00
public abstract class ProductQueryModifierTests
2023-09-29 10:07:41 +03:00
{
2023-10-03 21:57:33 +03:00
protected ProductQueryModifierFactory _factory;
2023-09-29 10:07:41 +03:00
2023-10-01 22:14:47 +03:00
[SetUp]
public void Setup()
{
_factory = new ProductQueryModifierFactory();
}
2023-10-03 21:57:33 +03:00
public void Execute(string productType, string query, string modified)
2023-10-01 22:14:47 +03:00
{
Dictionary<string, StringValues> queryPair = new()
{
["query"] = new StringValues(query)
};
2023-10-08 16:17:59 +03:00
QueryCollection collection = new(queryPair);
2023-10-01 22:14:47 +03:00
var modifier = _factory.GetModifier(productType);
2023-10-08 16:17:59 +03:00
Assert.True(modifier.TryQueryModify(collection, out var actual));
string? result = HttpUtility.ParseQueryString(actual.ToString())["query"];
Assert.That(result, Is.EqualTo(modified));
2023-10-01 22:14:47 +03:00
}
2023-09-29 10:07:41 +03:00
}