Skip to content

Commit

Permalink
Includes headers in taxonomy & type queries #23
Browse files Browse the repository at this point in the history
  • Loading branch information
Enngage committed Sep 15, 2017
1 parent 39e0ee1 commit cdc195f
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 13 deletions.
11 changes: 9 additions & 2 deletions lib/query/taxonomy/base-taxonomy-query.class.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ import { QueryConfig } from '../../models/common/query.config';
// base query
import { BaseQuery } from '../common/base-query.class';

// models
import { IHeader } from '../../interfaces/common/iheader.interface';

// rxjs
import { Observable } from 'rxjs/Rx';

Expand All @@ -28,6 +31,10 @@ export abstract class BaseTaxonomyQuery extends BaseQuery {
super(config)
}

getHeaders(): IHeader[] {
return super.getHeadersInternal(this.queryConfig);
}

protected getTaxonomyQueryUrl(taxonomyCodename: string): string {
var action = '/' + this.taxonomiesEndpoint + '/' + taxonomyCodename;

Expand All @@ -41,10 +48,10 @@ export abstract class BaseTaxonomyQuery extends BaseQuery {
}

protected runTaxonomyQuery(codename: string): Observable<TaxonomyResponses.TaxonomyResponse> {
return super.getTaxonomy(this.getTaxonomyQueryUrl(codename));
return super.getTaxonomy(this.getTaxonomyQueryUrl(codename), this.queryConfig);
}

protected runTaxonomiesQuery(): Observable<TaxonomyResponses.TaxonomiesResponse> {
return super.getTaxonomies(this.getTaxonomiesQueryUrl());
return super.getTaxonomies(this.getTaxonomiesQueryUrl(), this.queryConfig);
}
}
11 changes: 9 additions & 2 deletions lib/query/type/base-type-query.class.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ import { ItemQueryConfig } from '../../models/item/item-query.config';
// base query
import { BaseQuery } from '../common/base-query.class';

// models
import { IHeader } from '../../interfaces/common/iheader.interface';

// rxjs
import { Observable } from 'rxjs/Rx';

Expand All @@ -27,6 +30,10 @@ export abstract class BaseTypeQuery extends BaseQuery {
super(config)
}

getHeaders(): IHeader[] {
return super.getHeadersInternal(this._queryConfig);
}

protected getSingleTypeQueryUrl(codename: string): string {
var action = '/types/' + codename;

Expand All @@ -40,10 +47,10 @@ export abstract class BaseTypeQuery extends BaseQuery {
}

protected runMultipleTypesQuery(): Observable<TypeResponses.DeliveryTypeListingResponse> {
return super.getMultipleTypes(this.getMultipleTypesQueryUrl());
return super.getMultipleTypes(this.getMultipleTypesQueryUrl(), this._queryConfig);
}

protected runSingleTypeQuery(codename: string): Observable<TypeResponses.DeliveryTypeResponse> {
return super.getSingleType(this.getSingleTypeQueryUrl(codename));
return super.getSingleType(this.getSingleTypeQueryUrl(codename), this._queryConfig);
}
}
16 changes: 8 additions & 8 deletions lib/services/query.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,8 @@ export abstract class QueryService {
});
}

protected getSingleType(url: string): Observable<TypeResponses.DeliveryTypeResponse> {
return ajax.getJSON(url)
protected getSingleType(url: string, queryConfig: IQueryConfig): Observable<TypeResponses.DeliveryTypeResponse> {
return ajax.getJSON(url, this.getHeadersJson(queryConfig))
.map(json => {
return this.getSingleTypeResponse(json)
})
Expand All @@ -261,8 +261,8 @@ export abstract class QueryService {
});
}

protected getMultipleTypes(url: string): Observable<TypeResponses.DeliveryTypeListingResponse> {
return ajax.getJSON(url)
protected getMultipleTypes(url: string, queryConfig: IQueryConfig): Observable<TypeResponses.DeliveryTypeListingResponse> {
return ajax.getJSON(url, this.getHeadersJson(queryConfig))
.map(json => {
return this.getMultipleTypeResponse(json)
})
Expand All @@ -271,8 +271,8 @@ export abstract class QueryService {
});
}

protected getTaxonomy(url: string): Observable<TaxonomyResponses.TaxonomyResponse> {
return ajax.getJSON(url)
protected getTaxonomy(url: string, queryConfig: IQueryConfig): Observable<TaxonomyResponses.TaxonomyResponse> {
return ajax.getJSON(url, this.getHeadersJson(queryConfig))
.map(json => {
return this.getTaxonomyResponse(json)
})
Expand All @@ -281,8 +281,8 @@ export abstract class QueryService {
});
}

protected getTaxonomies(url: string): Observable<TaxonomyResponses.TaxonomiesResponse> {
return ajax.getJSON(url)
protected getTaxonomies(url: string, queryConfig: IQueryConfig): Observable<TaxonomyResponses.TaxonomiesResponse> {
return ajax.getJSON(url, this.getHeadersJson(queryConfig))
.map(json => {
return this.getTaxonomiesResponse(json)
})
Expand Down
14 changes: 13 additions & 1 deletion test/isolated-tests/url/preview-url.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,24 @@ describe('Preview URL', () => {
expect(url).toContain(context.projectId)
});

it(`preview authorization header should be defined (global config)'`, () => {
it(`preview authorization header should be defined when getting items (global config)'`, () => {
var headers = context.deliveryClient.items().getHeaders();
var authorizationHeader = headers.find(m => m.header === 'authorization');
expect(authorizationHeader).toBeDefined()
});

it(`preview authorization header should be defined when getting taxonomies (global config)'`, () => {
var headers = context.deliveryClient.types().getHeaders();
var authorizationHeader = headers.find(m => m.header === 'authorization');
expect(authorizationHeader).toBeDefined()
});

it(`preview authorization header should be defined for getting types (global config)'`, () => {
var headers = context.deliveryClient.taxonomies().getHeaders();
var authorizationHeader = headers.find(m => m.header === 'authorization');
expect(authorizationHeader).toBeDefined()
});

it(`preview authorization header should contain preview API key (global config)'`, () => {
var headers = context.deliveryClient.items().getHeaders();
var authorizationHeader = headers.find(m => m.header === 'authorization');
Expand Down

0 comments on commit cdc195f

Please sign in to comment.