public void deserializes_the_json_and_uses_the_property_binders() { var recorder = new Recorder(); var now = DateTime.Today; var time = MockRepository.GenerateStub <ISystemTime>(); time.Stub(x => x.UtcNow()).Return(now); using (var server = new IntegrationJsonBindingRegistry(recorder, time).ToRuntime()) { server.Scenario(_ => { _.Post.Input <IntegratedJsonBindingTarget>().ContentType("application/json"); _.Request.Body.JsonInputIs( "{Name:'Josh',Child:{ChildName:'Joel'},DynamicData:{test:{name:'nested'}}}"); _.StatusCodeShouldBeOk(); }); Recorder.Target.Name.ShouldBe("Josh"); Recorder.Target.Child.ChildName.ShouldBe("Joel"); Recorder.Target.Child.CurrentTime.ShouldBe(now); var child = Recorder.Target.DynamicData.Value <JObject>("test"); child["name"].ToString().ShouldBe("nested"); } }
public void deserializes_the_json_and_uses_the_property_binders() { var recorder = new Recorder(); var now = DateTime.Today; var time = MockRepository.GenerateStub<ISystemTime>(); time.Stub(x => x.UtcNow()).Return(now); using (var server = new IntegrationJsonBindingRegistry(recorder, time).ToRuntime()) { server.Scenario(_ => { _.Post.Input<IntegratedJsonBindingTarget>().ContentType("application/json"); _.Request.Body.JsonInputIs( "{Name:'Josh',Child:{ChildName:'Joel'},DynamicData:{test:{name:'nested'}}}"); _.StatusCodeShouldBeOk(); }); Recorder.Target.Name.ShouldBe("Josh"); Recorder.Target.Child.ChildName.ShouldBe("Joel"); Recorder.Target.Child.CurrentTime.ShouldBe(now); var child = Recorder.Target.DynamicData.Value<JObject>("test"); child["name"].ToString().ShouldBe("nested"); } }