コード例 #1
0
        public async Task GetAsync_ReturnsCorrectly()
        {
            var actualStrapiResponse =
                @"[{""id"":1,""title"":""Title"",""slug"":""slug"",""content"":""Hello\\n"",""published_at"":""2021-03-23T06:11:20.018Z"",""created_at"":""2021-03-23T06:11:10.154Z"",""updated_at"":""2021-03-23T06:11:20.035Z""}]";
            var mockHttp = CreateMockHttp("https://example.com?_start=1", actualStrapiResponse);

            var strapiClient = new StrapiClient(BaseEndpoint, mockHttp.ToHttpClient());
            var queryBuilder = new StrapiQueryBuilder <PostContent>()
                               .Start(1);

            // Act
            var postContents = await strapiClient.GetAsync(queryBuilder);

            Assert.Equal(new[]
            {
                new PostContent
                {
                    Title           = "Title",
                    Slug            = "slug",
                    ContentMarkdown = "Hello\\n",
                    PublishedAt     = new DateTime(2021, 3, 23, 6, 11, 20, 18, DateTimeKind.Utc)
                }
            },
                         postContents);
        }
コード例 #2
0
        public void Works()
        {
            var builder1 = new StrapiQueryBuilder <FakeContent>();

            var actual1 = builder1
                          .Eq(m => m.Name, "hello")
                          .Limit(5)
                          .Start(1)
                          .OrderByDescending(m => m.PublishedAt)
                          .Build();

            Assert.Equal("?Name_eq=hello&_limit=5&_start=1&_sort=publishedAt%3aDESC", actual1);

            var builder2 = new StrapiQueryBuilder <FakeContent>();

            var actual2 = builder2
                          .Eq(m => m.Name, "hello")
                          .Limit(5)
                          .Start(1)
                          .Order(m => m.PublishedAt)
                          .Build();

            Assert.Equal("?Name_eq=hello&_limit=5&_start=1&_sort=publishedAt%3aASC", actual2);
        }