Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ public async Task GetAutocompleteResultsShouldReturnResultWithHiddenFields()
AutocompleteRequest req = new AutocompleteRequest("item1")
{
UserInfo = UserInfo,
HiddenFields = new List<string> { "testField" }
FmtOptions = new FmtOptions { HiddenFields = new List<string> { "testField" } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
AutocompleteResponse res = await constructorio.Autocomplete.GetAutocompleteResults(req);
Expand Down
27 changes: 21 additions & 6 deletions src/Constructorio_NET.Tests/client/modules/BrowseTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,7 @@ public async Task GetBrowseResultsShouldReturnResultWithHiddenFields()
BrowseRequest req = new BrowseRequest(this.FilterName, this.FilterValue)
{
UserInfo = this.UserInfo,
HiddenFields = new List<string> { requestedHiddenField }
FmtOptions = new FmtOptions { HiddenFields = new List<string> { requestedHiddenField } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
BrowseResponse res = await constructorio.Browse.GetBrowseResults(req);
Expand All @@ -606,7 +606,7 @@ public async Task GetBrowseResultsShouldReturnResultWithHiddenFacets()
BrowseRequest req = new BrowseRequest(this.FilterName, this.FilterValue)
{
UserInfo = this.UserInfo,
HiddenFacets = new List<string> { requestedHiddenFacet }
FmtOptions = new FmtOptions { HiddenFacets = new List<string> { requestedHiddenFacet } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
BrowseResponse res = await constructorio.Browse.GetBrowseResults(req);
Expand Down Expand Up @@ -865,6 +865,23 @@ public async Task GetBrowseItemsResultsWithResultParams()
Assert.IsNotNull(res.ResultId, "ResultId should exist");
}

[Test]
public async Task GetBrowseItemsResultsShouldReturnResultWithHiddenFields()
{
string requestedHiddenField = "testField";
BrowseItemsRequest req = new BrowseItemsRequest(this.ItemIds)
{
UserInfo = this.UserInfo,
FmtOptions = new FmtOptions { HiddenFields = new List<string> { requestedHiddenField } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
BrowseResponse res = await constructorio.Browse.GetBrowseItemsResult(req);
var returnedHiddenField = res.Response.Results[0].Data.Metadata[requestedHiddenField];

Assert.NotNull(res.ResultId, "Result id exists");
Assert.NotNull(returnedHiddenField, "Hidden field returned");
}

[Test]
public async Task GetBrowseFacetsResults()
{
Expand Down Expand Up @@ -913,8 +930,7 @@ public async Task GetBrowseFacetsWithFmtOptionParams()
BrowseFacetsRequest req = new BrowseFacetsRequest
{
UserInfo = this.UserInfo,
ShowHiddenFacets = true,
ShowProtectedFacets = true
FmtOptions = new FmtOptions { ShowHiddenFacets = true, ShowProtectedFacets = true }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
BrowseFacetsResponse res = await constructorio.Browse.GetBrowseFacetsResult(req);
Expand Down Expand Up @@ -956,8 +972,7 @@ public async Task GetBrowseFacetOptionsWithFmtOptionParams()
BrowseFacetOptionsRequest req = new BrowseFacetOptionsRequest(this.FilterName)
{
UserInfo = this.UserInfo,
ShowHiddenFacets = true,
ShowProtectedFacets = true
FmtOptions = new FmtOptions { ShowHiddenFacets = true, ShowProtectedFacets = true }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
BrowseFacetOptionsResponse res = await constructorio.Browse.GetBrowseFacetOptionsResult(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,37 @@ public async Task GetRecommendationsResultsWithPreFilterExpression()
Assert.IsNotNull(res.Request["pre_filter_expression"], "PreFilterExpression was passed as parameter");
}

[Test]
public async Task GetRecommendationsResultsShouldReturnResultWithHiddenFields()
{
string requestedHiddenField = "testField";
RecommendationsRequest req = new RecommendationsRequest("filtered_items")
{
UserInfo = this.UserInfo,
Filters = new Dictionary<string, List<string>>()
{
{ "Brand", new List<string>() { "XYZ" } }
},
FmtOptions = new FmtOptions { HiddenFields = new List<string> { requestedHiddenField } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
RecommendationsResponse res = await constructorio.Recommendations.GetRecommendationsResults(req);

Assert.NotNull(res.ResultId, "Result id exists");
Assert.Greater(res.Response.Results.Count, 0, "Results expected to be greater than 0");

var metadata = res.Response.Results[0].Data?.Metadata;
Assert.IsNotNull(metadata, "Result metadata exists");
Assert.IsTrue(
metadata.ContainsKey(requestedHiddenField),
"Requested hidden field is present in result metadata"
);
Assert.IsNotNull(
metadata[requestedHiddenField],
"Requested hidden field has a non-null value in result metadata"
);
}

[Test]
public async Task GetRecommendationsResultsWithPreFilterExpressionJson()
{
Expand Down
10 changes: 6 additions & 4 deletions src/Constructorio_NET.Tests/client/modules/SearchTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,11 @@ public async Task GetSearchResultsShouldReturnResultWithVaritionsSlice()
SearchRequest req = new SearchRequest("item1") { UserInfo = this.UserInfo };
ConstructorIO constructorio = new ConstructorIO(this.Config);
SearchResponse res = await constructorio.Search.GetSearchResults(req);
string sliceAttribute = res.Response.Results[0].VariationSlice["Color"][0];

Assert.AreEqual("Blue", sliceAttribute);
Assert.IsNotNull(res.Response.Results[0].VariationSlice, "VariationSlice should exist");
Assert.IsTrue(res.Response.Results[0].VariationSlice.ContainsKey("Color"), "VariationSlice should contain Color key");
Assert.Greater(res.Response.Results[0].VariationSlice["Color"].Count, 0, "Color slice should have at least one value");
Assert.IsNotEmpty(res.Response.Results[0].VariationSlice["Color"][0], "Color slice value should not be empty");
}

[Test]
Expand Down Expand Up @@ -678,7 +680,7 @@ public async Task GetSearchResultsShouldReturnResultWithHiddenFields()
SearchRequest req = new SearchRequest("item1")
{
UserInfo = this.UserInfo,
HiddenFields = new List<string> { requestedHiddenField }
FmtOptions = new FmtOptions { HiddenFields = new List<string> { requestedHiddenField } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
SearchResponse res = await constructorio.Search.GetSearchResults(req);
Expand All @@ -695,7 +697,7 @@ public async Task GetSearchResultsShouldReturnResultWithHiddenFacets()
SearchRequest req = new SearchRequest("item1")
{
UserInfo = this.UserInfo,
HiddenFacets = new List<string> { requestedHiddenFacet }
FmtOptions = new FmtOptions { HiddenFacets = new List<string> { requestedHiddenFacet } }
};
ConstructorIO constructorio = new ConstructorIO(this.Config);
SearchResponse res = await constructorio.Search.GetSearchResults(req);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,66 @@ public void GetRequestParameters()
Assert.AreEqual(this.FilterName, requestParameters[Constants.FACET_NAME]);
}

[Test]
public void GetRequestParametersWithShowHiddenFacets()
{
BrowseFacetOptionsRequest req = new BrowseFacetOptionsRequest(FilterName)
{
FmtOptions = new FmtOptions { ShowHiddenFacets = true },
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithShowProtectedFacets()
{
BrowseFacetOptionsRequest req = new BrowseFacetOptionsRequest(FilterName)
{
FmtOptions = new FmtOptions { ShowProtectedFacets = true },
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_PROTECTED_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithFmtOptions()
{
BrowseFacetOptionsRequest req = new BrowseFacetOptionsRequest(FilterName)
{
FmtOptions = new FmtOptions()
{
GroupsMaxDepth = 3,
ShowHiddenFacets = true,
ShowProtectedFacets = true,
},
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("3", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.GROUPS_MAX_DEPTH}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_PROTECTED_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithFmtOptionsAndShowHiddenFacets()
{
BrowseFacetOptionsRequest req = new BrowseFacetOptionsRequest(FilterName)
{
FmtOptions = new FmtOptions()
{
GroupsMaxDepth = 3,
ShowHiddenFacets = true,
},
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("3", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.GROUPS_MAX_DEPTH}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
}

[Test]
public void GetRequestHeaders()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,66 @@ public void GetRequestParameters()
Assert.AreEqual(this.Offset, requestParameters[Constants.OFFSET]);
}

[Test]
public void GetRequestParametersWithShowHiddenFacets()
{
BrowseFacetsRequest req = new BrowseFacetsRequest()
{
FmtOptions = new FmtOptions { ShowHiddenFacets = true },
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithShowProtectedFacets()
{
BrowseFacetsRequest req = new BrowseFacetsRequest()
{
FmtOptions = new FmtOptions { ShowProtectedFacets = true },
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_PROTECTED_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithFmtOptions()
{
BrowseFacetsRequest req = new BrowseFacetsRequest()
{
FmtOptions = new FmtOptions()
{
GroupsMaxDepth = 3,
ShowHiddenFacets = true,
ShowProtectedFacets = true,
},
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("3", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.GROUPS_MAX_DEPTH}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_PROTECTED_FACETS}]"]);
}

[Test]
public void GetRequestParametersWithFmtOptionsAndShowHiddenFacets()
{
BrowseFacetsRequest req = new BrowseFacetsRequest()
{
FmtOptions = new FmtOptions()
{
GroupsMaxDepth = 3,
ShowHiddenFacets = true,
},
};

Hashtable requestParameters = req.GetRequestParameters();
Assert.AreEqual("3", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.GROUPS_MAX_DEPTH}]"]);
Assert.AreEqual("true", requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.SHOW_HIDDEN_FACETS}]"]);
}

[Test]
public void GetRequestHeaders()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,23 @@ public void GetRequestParametersWithVariationIds()
Assert.AreEqual(this.VariationIds, requestParameters["variation_id"]);
}

[Test]
public void GetRequestParametersWithFmtOptions()
{
RecommendationsRequest req = new RecommendationsRequest(this.Pod)
{
UserInfo = this.UserInfo,
FmtOptions = new FmtOptions
{
HiddenFields = new List<string> { "inventory" },
},
};

Hashtable requestParameters = req.GetRequestParameters();
List<string> hiddenFields = (List<string>)requestParameters[$"{Constants.FMT_OPTIONS}[{Constants.HIDDEN_FIELDS}]"];
Assert.AreEqual(new List<string> { "inventory" }, hiddenFields);
}

[Test]
public void RecommendationsRequestWithInvalidPod()
{
Expand Down
Loading
Loading