public void CalledWithDifferentType_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery<Ticket>();
            query.WithCustomFilter("name", "cheese factory").WithPaging(3, 15);

            // When 
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:ticket+name:cheese factory&sort_by=created_at&sort_order=desc&page=3&per_page=15"));
        }
        public void CalledWithOrderSet_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery<Ticket>();
            query.WithCustomFilter("name", "cheese factory").WithPaging(3, 15).WithOrdering(OrderBy.priority, Order.Asc);

            // When 
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:ticket+name:cheese factory&sort_by=priority&sort_order=asc&page=3&per_page=15"));
        }
        public void CalledWithCustomFieldsGreaterThan_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery<Organization>();
            query.WithCustomFilter("updated_at", "10/15/14", FilterOperator.LessThan);

            // When 
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:organization+updated_at<10%2f15%2f14&sort_by=created_at&sort_order=desc&page=1&per_page=15"));
        }
        public void CalledWithCustomFields_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery<Organization>();
            query.WithCustomFilter("name", "cheese factory");

            // When 
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:organization+name:cheese factory&sort_by=created_at&sort_order=desc&page=1&per_page=15"));
        }
        public void CalledWithCustomFieldsAndPage_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Organization>();

            query.WithCustomFilter("name", "cheese factory").WithPaging(3, 15);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:organization+name:cheese+factory&sort_by=created_at&sort_order=desc&page=3&per_page=15"));
        }
Exemplo n.º 6
0
        public void CalledWithCustomFieldsGreaterThan_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Organization>();

            query.WithCustomFilter("updated_at", "10/15/14", FilterOperator.LessThan);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.That(queryString, Is.EqualTo("query=type:organization+updated_at<10%2f15%2f14&sort_by=created_at&sort_order=desc&page=1&per_page=15"));
        }
Exemplo n.º 7
0
        public void CalledWithCustomFieldsEquals_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Organization>();

            query.WithCustomFilter("name", "cheese factory", FilterOperator.Equals);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal(queryString, "query=type:organization+name:cheese+factory&sort_by=created_at&sort_order=desc&page=1&per_page=15");
        }
Exemplo n.º 8
0
        public void CalledWithOrderSet_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Ticket>();

            query.WithCustomFilter("name", "cheese factory", FilterOperator.Equals).WithPaging(3, 15).WithOrdering(OrderBy.priority, Order.Asc);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal(queryString, "query=type:ticket+name:cheese+factory&sort_by=priority&sort_order=asc&page=3&per_page=15");
        }
        public void CalledWithOrderSet_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery().WithTypeFilter <TicketResponse>();

            query.WithFilter("name", "cheese factory", FilterOperator.Equals).WithOrdering(SortBy.Priority, SortOrder.Asc);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal("query=type:ticket+name:cheese+factory&sort_by=priority&sort_order=asc", queryString);
        }
Exemplo n.º 10
0
        public void CalledWithDifferentType_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Ticket>();

            query.WithCustomFilter("name", "cheese factory", FilterOperator.Equals).WithPaging(3, 15);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal(queryString, "query=type:ticket+name:cheese+factory&sort_by=created_at&sort_order=desc&page=3&per_page=15");
        }
Exemplo n.º 11
0
        public void CalledWithCustomFieldsAndPage_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery().WithTypeFilter <Organization>();

            query.WithFilter("name", "cheese factory", FilterOperator.Equals);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal("query=type:organization+name:cheese+factory", queryString);
        }
Exemplo n.º 12
0
        public void CalledWithDifferentType_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery().WithTypeFilter <TicketResponse>();

            query.WithFilter("name", "cheese factory", FilterOperator.Equals);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal("query=type:ticket+name:cheese+factory", queryString);
        }
Exemplo n.º 13
0
        public void CalledWithCustomFieldsGreaterThan_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery().WithTypeFilter <Organization>();

            query.WithFilter("updated_at", "10/15/14", FilterOperator.LessThan);

            // When
            var queryString = query.BuildQuery();

            // Then
            Assert.Equal("query=type:organization+updated_at<10%2F15%2F14", queryString);
        }
Exemplo n.º 14
0
        public async Task <SearchResponse <ISearchResult> > SearchAsync(Action <IZendeskQuery> builder, PagerParameters pager = null)
        {
            var query = new ZendeskQuery();

            builder(query);

            using (_loggerScope(_logger, "SearchAsync"))
                using (var client = _apiClient.CreateClient())
                {
                    var response = await client.GetAsync($"{SearchUri}?{query.BuildQuery()}", pager).ConfigureAwait(false);

                    return(await response.Content.ReadAsAsync <SearchResponse <ISearchResult> >(new SearchJsonConverter()));
                }
        }
Exemplo n.º 15
0
        public void CalledWithCustomFieldsGreaterThan_BuildsQuery()
        {
            // Given
            var query = new ZendeskQuery <Organization>();

            query.WithCustomFilter("updated_at", "10/15/14", FilterOperator.LessThan);

            // When
            var queryString = query.BuildQuery();

            // Then
            const string expected = "query=type:organization+updated_at<10%2f15%2f14&sort_by=created_at&sort_order=desc&page=1&per_page=15";

            Assert.Equal(queryString, expected, ignoreCase: true);
        }
Exemplo n.º 16
0
        public async Task <SearchResponse <ISearchResult> > SearchAsync(
            Action <IZendeskQuery> builder,
            PagerParameters pager = null,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            var query = new ZendeskQuery();

            builder(query);

            return(await GetAsync <SearchResponse <ISearchResult> >(
                       $"{SearchUri}?{query.BuildQuery()}",
                       "list-search-results",
                       "SearchAsync",
                       pager,
                       new SearchJsonConverter(),
                       cancellationToken));
        }
Exemplo n.º 17
0
        public async Task <DeletedTicketsListResponse> GetAllAsync(
            Action <IZendeskQuery> builder,
            PagerParameters pager = null,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            var query = new ZendeskQuery();

            builder(query);

            return(await GetAsync <DeletedTicketsListResponse>(
                       $"{ResourceUri}?{query.BuildQuery()}",
                       "show-deleted-tickets",
                       "GetAllAsync",
                       pager,
                       new SearchJsonConverter(),
                       cancellationToken));
        }
Exemplo n.º 18
0
        public async Task <SearchResponse <T> > SearchAsync <T>(Action <IZendeskQuery> builder, PagerParameters pager = null,
                                                                CancellationToken cancellationToken = default(CancellationToken)) where T : ISearchResult
        {
            var query = new ZendeskQuery();

            builder(query);

            query.WithTypeFilter <T>();

            using (_loggerScope(_logger, "SearchAsync"))
                using (var client = _apiClient.CreateClient())
                {
                    var response = await client.GetAsync($"{SearchUri}?{query.BuildQuery()}", pager, cancellationToken)
                                   .ConfigureAwait(false);

                    return(await response.Content.ReadAsAsync <SearchResponse <T> >());
                }
        }
Exemplo n.º 19
0
        public async Task <SearchResponse <T> > SearchAsync <T>(
            Action <IZendeskQuery> builder,
            PagerParameters pager = null,
            CancellationToken cancellationToken = default(CancellationToken))
            where T : ISearchResult
        {
            var query = new ZendeskQuery();

            builder(query);

            query.WithTypeFilter <T>();

            return(await GetAsync <SearchResponse <T> >(
                       $"{SearchUri}?{query.BuildQuery()}",
                       "list-search-results",
                       "SearchAsync",
                       pager,
                       cancellationToken : cancellationToken));
        }
Exemplo n.º 20
0
        public async Task <DeletedTicketsListResponse> GetAllAsync(Action <IZendeskQuery> builder, PagerParameters pager = null)
        {
            var query = new ZendeskQuery();

            builder(query);

            using (_loggerScope(_logger, nameof(GetAllAsync)))
                using (var client = _apiClient.CreateClient())
                {
                    var response = await client.GetAsync($"{ResourceUri}.json?{query.BuildQuery()}", pager).ConfigureAwait(false);

                    if (!response.IsSuccessStatusCode)
                    {
                        throw await new ZendeskRequestExceptionBuilder()
                              .WithResponse(response)
                              .WithHelpDocsLink("core/tickets#show-deleted-tickets")
                              .Build();
                    }

                    return(await response.Content.ReadAsAsync <DeletedTicketsListResponse>(new SearchJsonConverter()));
                }
        }