public void AtrrayShouldBeAddedAsTag() { //Arrange var config = new List<AlgoliaTagConfig> { new AlgoliaTagConfig { FieldName = "data" } }; var doc = new JObject(); doc["data"] = new JArray() { "first", "second" }; var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert doc["_tags"].Count().Should().Be(2); (doc["_tags"]).First(token => token.Value<string>() == "first"); (doc["_tags"]).First(token => token.Value<string>() == "second"); }
public void OverridenTagsShouldNotBeDuplicated() { //Arrange var config = new List<AlgoliaTagConfig> { new AlgoliaTagConfig { FieldName = "tag" }, }; var doc = new JObject(); doc["tag"] = "myId"; doc["_tags"] = new JArray() { new JValue ("myId") }; var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert var tags = (doc["_tags"]).ToObject<string[]>(); tags.Count(t => t == "myId").Should().Be(1); }
public void EmptyConfigShouldNotFail() { //Arrange var config = new List<AlgoliaTagConfig>(); var doc = new JObject(); var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert doc.Should().NotBeNull(); }
public void FieldShouldBeAddedAsTag() { //Arrange var config = new List<AlgoliaTagConfig> { new AlgoliaTagConfig { FieldName = "_id" } }; var doc = new JObject(); doc["_id"] = "myId"; var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert ((string) doc["_id"]).Should().Be("myId"); (doc["_tags"]).First(token => token.Value<string>() == "myId"); }
public void NoFieldShouldNotFail() { //Arrange var config = new List<AlgoliaTagConfig> { new AlgoliaTagConfig { FieldName = "_id" } }; var doc = new JObject(); var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert doc.Should().NotBeNull(); doc["_id"].Should().BeNull(); doc["_tags"].Should().BeNull(); }
public void ConfigWithHideFieldShouldRemoveField() { //Arrange var config = new List<AlgoliaTagConfig> { new AlgoliaTagConfig { FieldName = "_id", HideField = true } }; var doc = new JObject(); doc["_id"] = "myId"; var sut = new AlgoliaTagsProcessor(config); //Act sut.ProcessDocument(doc); //Assert doc["_id"].Should().BeNull(); (doc["_tags"]).First(token => token.Value<string>() == "myId"); }