public void Should_convert_name_to_id()
        {
            var input =
                new NamedContentData()
                .AddField("field1",
                          new ContentFieldData()
                          .AddValue("en", "EN"))
                .AddField("field2",
                          new ContentFieldData()
                          .AddValue("iv", 1))
                .AddField("array",
                          new ContentFieldData()
                          .AddValue("iv",
                                    JsonValue.Array(
                                        JsonValue.Object()
                                        .Add("nested1", 100)
                                        .Add("nested2", 200)
                                        .Add("invalid", 300))))
                .AddField("invalid",
                          new ContentFieldData()
                          .AddValue("iv", 2));

            var hideRoot   = FieldConverters.ExcludeHidden;
            var hideNested = FieldConverters.ForValues(ValueConverters.ForNested(ValueConverters.ExcludeHidden));

            var actual = input.ConvertName2IdCloned(schema, hideRoot, hideNested);

            var expected =
                new IdContentData()
                .AddField(1,
                          new ContentFieldData()
                          .AddValue("en", "EN"))
                .AddField(7,
                          new ContentFieldData()
                          .AddValue("iv",
                                    JsonValue.Array(
                                        JsonValue.Object()
                                        .Add("72", 200))));

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 2
0
 public IdContentData ToMongoModel(NamedContentData result, Schema schema)
 {
     return(result.ConvertName2IdCloned(schema, encodeJsonConverters));
 }