summaryrefslogtreecommitdiff
path: root/RhSolutions.Api.Tests/ProductQueryModifierTests.cs
blob: 7166899555eee4fedaf0596bcf9d85ee91739ba0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System.Web;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
public abstract class ProductQueryModifierTests
{
	protected ProductQueryModifierFactory _factory;

	[SetUp]
	public void Setup()
	{
		_factory = new ProductQueryModifierFactory();
	}
	public void Execute(string productType, string query, string modified)
	{
		Dictionary<string, StringValues> queryPair = new()
		{
			["query"] = new StringValues(query)
		};
		QueryCollection collection = new(queryPair);		
		var modifier = _factory.GetModifier(productType);
		
		Assert.True(modifier.TryQueryModify(collection, out var actual));
		string? result = HttpUtility.ParseQueryString(actual.ToString())["query"];
		Assert.That(result, Is.EqualTo(modified));
	}
}