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")); }
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 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"); }
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); }
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"); }
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); }
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); }
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); }
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())); } }
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); }
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)); }
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)); }
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> >()); } }
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)); }
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())); } }