feat(data): implement basic facets handling

Related to #1
This commit is contained in:
Jovan Krunić
2019-03-05 18:02:29 +01:00
parent 2558163ad6
commit b6f92a7449
6 changed files with 291 additions and 59 deletions

View File

@@ -14,8 +14,9 @@
*/
import {TestBed} from '@angular/core/testing';
import {Client} from '@openstapps/api/lib/client';
import {SCMessage, SCSaveableThing, SCSearchQuery, SCSearchResponse,
SCSearchValueFilter, SCThing, SCThingOriginType, SCThings, SCThingType} from '@openstapps/core';
import {SCDish, SCMessage, SCSaveableThing, SCSearchQuery,
SCSearchResponse, SCSearchValueFilter, SCThing, SCThingOriginType, SCThings, SCThingType} from '@openstapps/core';
import {sampleThingsMap} from '../../_helpers/data/sampleThings';
import {StorageProvider} from '../storage/storage.provider';
import {DataModule} from './data.module';
import {DataProvider, DataScope} from './data.provider';
@@ -24,31 +25,9 @@ import {StAppsWebHttpClient} from './stapps-web-http-client.provider';
describe('DataProvider', () => {
let dataProvider: DataProvider;
let storageProvider: StorageProvider;
const sampleThing: SCMessage = sampleThingsMap.message[0] as SCMessage;
const sampleResponse: SCSearchResponse = {
data: [
{
categories: ['main dish'],
name: 'foo dish',
origin: {
indexed: '12345',
name: 'bar',
type: SCThingOriginType.Remote,
},
type: SCThingType.Dish,
uid: '123',
},
{
categories: ['dessert'],
name: 'foo dessert',
origin: {
indexed: '12345',
name: 'bar',
type: SCThingOriginType.Remote,
},
type: SCThingType.Dish,
uid: '123',
},
],
data: sampleThingsMap.dish as SCDish[],
facets: [
{
buckets: [],
@@ -75,18 +54,6 @@ describe('DataProvider', () => {
filter: sampleFilter,
};
const sampleThing: SCMessage = {
audiences: ['students'],
message: 'Foo Message',
name: 'foo',
origin: {
indexed: 'SOME-DATE',
name: 'some name',
type: SCThingOriginType.Remote,
},
type: SCThingType.Message,
uid: '123',
};
const sampleSavable: SCSaveableThing<SCThings> = {
data: sampleThing,
name: sampleThing.name,
@@ -97,7 +64,7 @@ describe('DataProvider', () => {
type: SCThingType.Message,
uid: sampleThing.uid,
};
const otherSampleThing: SCMessage = {...sampleThing, uid: '456', name: 'bar'};
const otherSampleThing: SCMessage = {...sampleThing, uid: 'message-456', name: 'bar'};
beforeEach(async () => {
TestBed.configureTestingModule({