示例#1
0
        public async Task Should_BindTo_Local_With_GlobalConfigutation()
        {
            // Given
            var model = new FakeSerializerModel()
            {
                CreatedOn = new DateTime(2016, 05, 06, 9, 0, 0)
            };

            var bootstrapper = new ConfigurableBootstrapper(
                configuration =>
            {
                configuration.Configure(
                    environment => environment.Globalization(supportedCultureNames: new[] { "en-US" }, dateTimeStyles: DateTimeStyles.AssumeLocal));
                configuration.Modules(new Type[] { typeof(SerializerTestModule) });
            });

            var browser = new Browser(bootstrapper);

            //When
            var result = await browser.Post("/serializer/date", with =>
            {
                with.JsonBody(model);
                with.Accept("application/json");
            });

            var resultModel = result.Body.DeserializeJson <FakeSerializerModel>();

            // Then
            Assert.Equal(model.CreatedOn, resultModel.CreatedOn);
        }
示例#2
0
        public async Task Should_BindTo_Existing_Instance_Using_Body_Serializer()
        {
            // Given
            var model = new FakeSerializerModel {
                Name = "Marsellus Wallace"
            };

            // When
            var result = await browser.Post("/serializer", with =>
            {
                with.JsonBody(model);
                with.Accept("application/json");
            });

            var resultModel = result.Body.DeserializeJson <FakeSerializerModel>();

            // Then
            Assert.Equal("Marsellus Wallace", resultModel.Name);
            Assert.Equal(new DateTime(2014, 01, 30), resultModel.CreatedOn);
        }
示例#3
0
        public async Task Should_BindTo_Utc_by_Default()
        {
            // Given
            var model = new FakeSerializerModel()
            {
                CreatedOn = new DateTime(2016, 05, 06, 7, 0, 0)
            };

            //When
            var result = await browser.Post("/serializer/date", with =>
            {
                with.Body("{\"createdOn\":\"2016-05-06T09:00:00.0000000+02:00\",\"name\":null}", "application/json");
                with.Accept("application/json");
            });

            var resultModel = result.Body.DeserializeJson <FakeSerializerModel>();

            // Then
            Assert.Equal(model.CreatedOn, resultModel.CreatedOn);
        }