コード例 #1
0
        public void CreatePatch()
        {
            var mapper = new ApiPostServerModelMapper();
            var model  = new ApiPostServerRequestModel();

            model.SetProperties(1, 1, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), "A", 1, 1, 1, 1, 1, "A", "A", 1);

            JsonPatchDocument <ApiPostServerRequestModel> patch = mapper.CreatePatch(model);
            var response = new ApiPostServerRequestModel();

            patch.ApplyTo(response);
            response.AcceptedAnswerId.Should().Be(1);
            response.AnswerCount.Should().Be(1);
            response.Body.Should().Be("A");
            response.ClosedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.CommentCount.Should().Be(1);
            response.CommunityOwnedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.CreationDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.FavoriteCount.Should().Be(1);
            response.LastActivityDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.LastEditDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.LastEditorDisplayName.Should().Be("A");
            response.LastEditorUserId.Should().Be(1);
            response.OwnerUserId.Should().Be(1);
            response.ParentId.Should().Be(1);
            response.PostTypeId.Should().Be(1);
            response.Score.Should().Be(1);
            response.Tag.Should().Be("A");
            response.Title.Should().Be("A");
            response.ViewCount.Should().Be(1);
        }
コード例 #2
0
        public void MapServerResponseToRequest()
        {
            var mapper = new ApiPostServerModelMapper();
            var model  = new ApiPostServerResponseModel();

            model.SetProperties(1, 1, 1, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), "A", 1, 1, 1, 1, 1, "A", "A", 1);
            ApiPostServerRequestModel response = mapper.MapServerResponseToRequest(model);

            response.Should().NotBeNull();
            response.AcceptedAnswerId.Should().Be(1);
            response.AnswerCount.Should().Be(1);
            response.Body.Should().Be("A");
            response.ClosedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.CommentCount.Should().Be(1);
            response.CommunityOwnedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.CreationDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.FavoriteCount.Should().Be(1);
            response.LastActivityDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.LastEditDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.LastEditorDisplayName.Should().Be("A");
            response.LastEditorUserId.Should().Be(1);
            response.OwnerUserId.Should().Be(1);
            response.ParentId.Should().Be(1);
            response.PostTypeId.Should().Be(1);
            response.Score.Should().Be(1);
            response.Tag.Should().Be("A");
            response.Title.Should().Be("A");
            response.ViewCount.Should().Be(1);
        }
コード例 #3
0
        public virtual async void TestUpdate()
        {
            var builder = new WebHostBuilder()
                          .UseEnvironment("Production")
                          .UseStartup <TestStartup>();
            TestServer testServer = new TestServer(builder);

            var client = new ApiClient(testServer.CreateClient());

            client.SetBearerToken(JWTTestHelper.GenerateBearerToken());
            var mapper = new ApiPostServerModelMapper();
            ApplicationDbContext       context = testServer.Host.Services.GetService(typeof(ApplicationDbContext)) as ApplicationDbContext;
            IPostService               service = testServer.Host.Services.GetService(typeof(IPostService)) as IPostService;
            ApiPostServerResponseModel model   = await service.Get(1);

            ApiPostClientRequestModel request = mapper.MapServerResponseToClientRequest(model);

            request.SetProperties(2, 2, "B", DateTime.Parse("1/1/1988 12:00:00 AM"), 2, DateTime.Parse("1/1/1988 12:00:00 AM"), DateTime.Parse("1/1/1988 12:00:00 AM"), 2, DateTime.Parse("1/1/1988 12:00:00 AM"), DateTime.Parse("1/1/1988 12:00:00 AM"), "B", 1, 1, 1, 1, 2, "B", "B", 2);

            UpdateResponse <ApiPostClientResponseModel> updateResponse = await client.PostUpdateAsync(model.Id, request);

            context.Entry(context.Set <Post>().ToList()[0]).Reload();
            updateResponse.Record.Should().NotBeNull();
            updateResponse.Success.Should().BeTrue();
            updateResponse.Record.Id.Should().Be(1);
            context.Set <Post>().ToList()[0].AcceptedAnswerId.Should().Be(2);
            context.Set <Post>().ToList()[0].AnswerCount.Should().Be(2);
            context.Set <Post>().ToList()[0].Body.Should().Be("B");
            context.Set <Post>().ToList()[0].ClosedDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Post>().ToList()[0].CommentCount.Should().Be(2);
            context.Set <Post>().ToList()[0].CommunityOwnedDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Post>().ToList()[0].CreationDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Post>().ToList()[0].FavoriteCount.Should().Be(2);
            context.Set <Post>().ToList()[0].LastActivityDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Post>().ToList()[0].LastEditDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Post>().ToList()[0].LastEditorDisplayName.Should().Be("B");
            context.Set <Post>().ToList()[0].LastEditorUserId.Should().Be(1);
            context.Set <Post>().ToList()[0].OwnerUserId.Should().Be(1);
            context.Set <Post>().ToList()[0].ParentId.Should().Be(1);
            context.Set <Post>().ToList()[0].PostTypeId.Should().Be(1);
            context.Set <Post>().ToList()[0].Score.Should().Be(2);
            context.Set <Post>().ToList()[0].Tag.Should().Be("B");
            context.Set <Post>().ToList()[0].Title.Should().Be("B");
            context.Set <Post>().ToList()[0].ViewCount.Should().Be(2);

            updateResponse.Record.Id.Should().Be(1);
            updateResponse.Record.AcceptedAnswerId.Should().Be(2);
            updateResponse.Record.AnswerCount.Should().Be(2);
            updateResponse.Record.Body.Should().Be("B");
            updateResponse.Record.ClosedDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.CommentCount.Should().Be(2);
            updateResponse.Record.CommunityOwnedDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.CreationDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.FavoriteCount.Should().Be(2);
            updateResponse.Record.LastActivityDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.LastEditDate.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.LastEditorDisplayName.Should().Be("B");
            updateResponse.Record.LastEditorUserId.Should().Be(1);
            updateResponse.Record.OwnerUserId.Should().Be(1);
            updateResponse.Record.ParentId.Should().Be(1);
            updateResponse.Record.PostTypeId.Should().Be(1);
            updateResponse.Record.Score.Should().Be(2);
            updateResponse.Record.Tag.Should().Be("B");
            updateResponse.Record.Title.Should().Be("B");
            updateResponse.Record.ViewCount.Should().Be(2);
        }