Esempio n. 1
0
        public void Works()
        {
            var builder1 = new MicroCmsQueryBuilder <FakeContent>();

            var actual1 = builder1
                          .Limit(5)
                          .Offset(3)
                          .OrderByDescending(m => m.PublishedAt)
                          .Build();

            Assert.Equal("?fields=Name%2cpublishedAt&limit=5&offset=3&order=-publishedAt", actual1);

            var builder2 = new MicroCmsQueryBuilder <FakeContent>();

            var actual2 = builder2
                          .Limit(5)
                          .Offset(3)
                          .Order(m => m.PublishedAt)
                          .Build();

            Assert.Equal("?fields=Name%2cpublishedAt&limit=5&offset=3&order=publishedAt", actual2);


            var builder3 = new MicroCmsQueryBuilder <FakeContent>();

            var actual3 = builder3
                          .ContentIdIs("slug")
                          .Build();

            Assert.Equal("slug?fields=Name%2cpublishedAt", actual3);
        }
Esempio n. 2
0
        public async Task GetContentAsync_ReturnsCorrectly()
        {
            const string apiUrl           = "https://example.com";
            const string expectedEndpoint = apiUrl + "/test?fields=Id";
            const string apiKey           = "https://example.com";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When(HttpMethod.Get, expectedEndpoint)
            .WithHeaders("X-API-KEY", apiKey)
            .Respond("application/json", "{ \"Id\": \"hello\" }");

            var queryBuilder = new MicroCmsQueryBuilder <FakeContent>()
                               .ContentIdIs("test");
            var subject = new MicroCmsClient(mockHttp.ToHttpClient(), apiUrl, apiKey);

            var actual = await subject.GetContentAsync(queryBuilder);

            mockHttp.VerifyNoOutstandingRequest();
            Assert.Equal("hello", actual?.Id);
        }