public void CanWriteSelectAllAndExpandToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            SelectAll <Order> expandOrder = new SelectAll <Order>();

            expandOrder.Model = _edmModel;
            expandOrder.UseInstanceForProperties = true;
            expandOrder.Instance = new Order
            {
                Id    = 21,
                Title = "new Order21"
            };

            SelectAllAndExpand <Customer> selectExpand = new SelectAllAndExpand <Customer>();
            MockPropertyContainer         container    = new MockPropertyContainer();

            container.Properties["Orders"]        = expandOrder; // expanded
            selectExpand.Container                = container;
            selectExpand.Model                    = _edmModel;
            selectExpand.UseInstanceForProperties = true;
            selectExpand.Instance                 = new Customer
            {
                Id       = 2,
                Name     = "abc",
                Location = new Address
                {
                    Street = "37TH PL",
                    City   = "Reond"
                }
            };

            JSelectExpandWrapperConverter converter = new JSelectExpandWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, selectExpand, true);

            // Assert
            Assert.Equal(@"{
  ""Orders"": {
    ""Id"": 21,
    ""Title"": ""new Order21""
  },
  ""Id"": 2,
  ""Name"": ""abc"",
  ""Location"": {
    ""Street"": ""37TH PL"",
    ""City"": ""Reond""
  }
}", json);
        }
Esempio n. 2
0
 public override void Write(Utf8JsonWriter writer, SelectAllAndExpand <TEntity> value, JsonSerializerOptions options)
 {
     JsonSerializer.Serialize(writer, value.ToDictionary(SelectExpandWrapperConverter.MapperProvider), options);
 }