@@ -25,7 +25,7 @@ public class SearchRequestFormatterFacetTests
25
25
public void BodyContainsStatisticalFacet()
26
26
{
27
27
var expectedFacet = new StatisticalFacet("TotalSales", "OrderTotal");
28
-
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new [] { expectedFacet }) };
28
+
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };
29
29
30
30
var formatter = new SearchRequestFormatter(defaultConnection, mapping, searchRequest);
31
31
var body = JObject.Parse(formatter.Body);
@@ -51,18 +51,68 @@ public void BodyContainsFilterFacet()
51
51
[Fact]
52
52
public void BodyContainsTermsFacet()
53
53
{
54
-
var expectedFacet = new TermsFacet("Totals", "OrderTotal", "OrderCost");
54
+
const int expectedSize = 1234;
55
+
var expectedFacet = new TermsFacet("Totals", expectedSize, "OrderTotal", "OrderCost");
55
56
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };
56
57
57
58
var formatter = new SearchRequestFormatter(defaultConnection, mapping, searchRequest);
58
59
var body = JObject.Parse(formatter.Body);
59
60
60
-
var actualFields = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type, "fields").ToArray();
61
+
var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);
61
62
62
-
foreach(var expectedField in expectedFacet.Fields)
63
+
Assert.Equal(expectedSize.ToString(CultureInfo.InvariantCulture), result.TraverseWithAssert("size").ToString());
64
+
65
+
var actualFields = result.TraverseWithAssert("fields").ToArray();
66
+
foreach (var expectedField in expectedFacet.Fields)
63
67
Assert.Contains(expectedField, actualFields);
64
68
}
65
69
70
+
[Fact]
71
+
public void BodyContainsTermsFacetWithNoSizeWhenNotSpecified()
72
+
{
73
+
var expectedFacet = new TermsFacet("Totals", null, "OrderTotal");
74
+
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };
75
+
76
+
var formatter = new SearchRequestFormatter(defaultConnection, mapping, searchRequest);
77
+
var body = JObject.Parse(formatter.Body);
78
+
79
+
var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);
80
+
81
+
Assert.False(result.Contains("size"));
82
+
}
83
+
84
+
[Fact]
85
+
public void BodyContainsTermsFacetWithDefaultSizeFromConnection()
86
+
{
87
+
const int expectedSize = 678;
88
+
var sizedConnection = new ElasticConnection(defaultConnection.Endpoint, options:new ElasticConnectionOptions { SearchSizeDefault = expectedSize });
89
+
var expectedFacet = new TermsFacet("Totals", null, "OrderTotal", "OrderCost");
90
+
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };
91
+
92
+
var formatter = new SearchRequestFormatter(sizedConnection, mapping, searchRequest);
93
+
var body = JObject.Parse(formatter.Body);
94
+
95
+
var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);
96
+
97
+
Assert.Equal(expectedSize.ToString(CultureInfo.InvariantCulture), result.TraverseWithAssert("size").ToString());
98
+
}
99
+
100
+
[Fact]
101
+
public void BodyContainsTermsFacetWithSpecifiedSizeOverridingDefaultSizeFromConnection()
102
+
{
103
+
const int expectedSize = 678;
104
+
var sizedConnection = new ElasticConnection(defaultConnection.Endpoint, options: new ElasticConnectionOptions { SearchSizeDefault = 911 });
105
+
var expectedFacet = new TermsFacet("Totals", expectedSize, "OrderTotal", "OrderCost");
106
+
var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };
107
+
108
+
var formatter = new SearchRequestFormatter(sizedConnection, mapping, searchRequest);
109
+
var body = JObject.Parse(formatter.Body);
110
+
111
+
var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);
112
+
113
+
Assert.Equal(expectedSize.ToString(CultureInfo.InvariantCulture), result.TraverseWithAssert("size").ToString());
114
+
}
115
+
66
116
[Fact]
67
117
public void BodyContainsTermsStatsFacet()
68
118
{
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4