コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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");
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        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");
        }