{"version":3,"file":"daffodil-core-testing.mjs","sources":["../../../libs/core/testing/src/angular/mocks/pipes/currency.ts","../../../libs/core/testing/src/testing.module.ts","../../../libs/core/testing/src/unique/enforce.ts","../../../libs/core/testing/src/factories/factory.ts","../../../libs/core/testing/src/factories/identifiable.factory.ts","../../../libs/core/testing/src/factories/collection/numerically-paginable.factory.ts","../../../libs/core/testing/src/factories/collection/sort-option.factory.ts","../../../libs/core/testing/src/factories/collection/sort-options.factory.ts","../../../libs/core/testing/src/factories/collection/sortable.factory.ts","../../../libs/core/testing/src/factories/filters/type/equal.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric.ts","../../../libs/core/testing/src/factories/filters/filter.factory.ts","../../../libs/core/testing/src/factories/filters/type/equal/request.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric/request-option.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric/request.ts","../../../libs/core/testing/src/factories/filters/request.factory.ts","../../../libs/core/testing/src/factories/filters/type/equal/toggle-request.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric/toggle-request.ts","../../../libs/core/testing/src/factories/filters/toggle-request.ts","../../../libs/core/testing/src/factories/filters/type/equal/option.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric/option.ts","../../../libs/core/testing/src/factories/filters/type/range-numeric/pair.ts","../../../libs/core/testing/src/factories/collection/metadata.factory.ts","../../../libs/core/testing/src/factories/collection/request.factory.ts","../../../libs/core/testing/src/factories/collection/mock-collection.class.ts","../../../libs/core/testing/src/public_api.ts","../../../libs/core/testing/src/daffodil-core-testing.ts"],"sourcesContent":["import {\n  Pipe,\n  PipeTransform,\n} from '@angular/core';\n\n/**\n * @docs\n * A mock CurrencyPipe that does nothing to a given input.\n * This pipe is useful for asserting that a CurrencyPipe is in use via a spy,\n * but ignoring the actual underlying implementation\n */\n@Pipe({\n  name: 'currency',\n  standalone: false,\n})\nexport class DaffMockCurrencyPipe implements PipeTransform {\n  transform(value: number) {};\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffMockCurrencyPipe } from './angular/mocks/pipes/currency';\n\n@NgModule({\n  declarations: [\n    DaffMockCurrencyPipe,\n  ],\n})\nexport class DaffCoreTestingModule {}\n","import {\n  UniqueEnforcer,\n  EnforceOptions,\n} from 'enforce-unique';\n\ntype Func = (...args: Array<any>) => any;\n\nconst store = new Map<Func, UniqueEnforcer>();\n\n/**\n * Wraps `UniqueEnforcer` to provide function-specific instances.\n */\nexport const enforceUnique = <T extends Func>(func: T, options?: EnforceOptions): ReturnType<T> => {\n  if (!store.has(func)) {\n    store.set(func, new UniqueEnforcer());\n  }\n\n  return store.get(func)?.enforce(func, options);\n};\n","import {\n  range,\n  Constructable,\n} from '@daffodil/core';\n\nimport { IDaffModelFactory } from './factory.interface';\n\n/**\n * The base class for model factories.\n *\n * The mock class is passed as the first constructor arg\n * and any additional args are passed to the mock class constructor.\n *\n * The constructor args can be omitted if the `create` method is overridden.\n *\n * @example Injecting a different factory into a mock class\n * ```ts\n * class MyMockModel {\n *  constructor(\n *    private otherFactory: MyOtherFactory\n *  ) {}\n *\n *  private createOtherModel() {\n *    return this.otherFactory.create()\n *  }\n *\n *  otherModel = this.createOtherModel()\n * }\n *\n * @Injectable()\n * class TestFactory extends DaffModelFactory<MyMockModel> {\n *  constructor(\n *    otherFactory: MyOtherFactory\n *  ) {\n *    super(MyMockModel, otherFactory)\n *  }\n * }\n * ```\n */\nexport abstract class DaffModelFactory<T extends Record<string, any>, Klass extends Constructable<T> = Constructable<T>> implements IDaffModelFactory<T> {\n  _instantiationArgs: ConstructorParameters<Klass>;\n\n  constructor(\n    public type?: Klass,\n    ...args: ConstructorParameters<Klass>\n  ) {\n    this._instantiationArgs = args;\n  }\n\n  create<R extends T = T>(partial: Partial<T> & T extends R ? Partial<T> : R): T & R;\n  create(partial?: Partial<T>): T;\n  create(partial: Partial<T> = {}): T {\n    if (!this.type) {\n      throw new Error('`type` is required if `create` is not overriden.');\n    }\n    return {\n      ...new this.type(...this._instantiationArgs),\n      ...partial,\n    };\n  }\n\n  createMany(qty = 1, partial: Partial<T> = {}): T[] {\n    return range(0, qty - 1).map(() => this.create(partial));\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffIdentifiable } from '@daffodil/core';\n\nimport { DaffModelFactory } from './factory';\n\nexport class MockDaffIdentifiable implements DaffIdentifiable {\n  id = faker.string.uuid();\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffIdentifiableFactory extends DaffModelFactory<DaffIdentifiable>{\n  constructor(){\n    super(MockDaffIdentifiable);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffNumericallyPaginable } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\n\nclass MockDaffNumericallyPaginable implements DaffNumericallyPaginable {\n  totalPages = faker.number.int({ min: 1, max: 100 });\n  currentPage = faker.number.int({ min: 1, max: this.totalPages });\n  pageSize = faker.number.int({ min: 1, max: 100 });\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffNumericallyPaginableFactory extends DaffModelFactory<DaffNumericallyPaginable> {\n  constructor(){\n    super(MockDaffNumericallyPaginable);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffSortOption } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\n\nclass MockDaffSortOption implements DaffSortOption {\n  label = faker.lorem.word();\n  value = faker.lorem.word();\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffSortOptionFactory extends DaffModelFactory<DaffSortOption> {\n  constructor() {\n    super(MockDaffSortOption);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffSortOption,\n  DaffSortOptions,\n} from '@daffodil/core';\n\nimport { DaffSortOptionFactory } from './sort-option.factory';\nimport { DaffModelFactory } from '../factory';\n\nclass MockDaffSortOptions implements DaffSortOptions {\n  options = this.createOptions();\n  default = faker.helpers.arrayElement(this.options).value;\n\n  constructor(\n    private optionFactory: DaffSortOptionFactory,\n  ) {}\n\n  private createOptions(): DaffSortOption[] {\n    return this.optionFactory.createMany(faker.number.int({ min: 1, max: 5 }));\n  }\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffSortOptionsFactory extends DaffModelFactory<DaffSortOptions> {\n  constructor(\n    optionFactory: DaffSortOptionFactory,\n  ) {\n    super(MockDaffSortOptions, optionFactory);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffSortable,\n  DaffSortDirectionEnum,\n  DaffSortOptions,\n} from '@daffodil/core';\n\nimport { DaffSortOptionsFactory } from './sort-options.factory';\nimport { DaffModelFactory } from '../factory';\n\nclass MockDaffSortable implements DaffSortable {\n  sortOptions = this.createOptions();\n  appliedSortOption = faker.helpers.arrayElement(this.sortOptions.options).value;\n  appliedSortDirection = faker.helpers.arrayElement([DaffSortDirectionEnum.Ascending, DaffSortDirectionEnum.Descending]);\n\n  constructor(\n    private optionFactory: DaffSortOptionsFactory,\n  ) {}\n\n  private createOptions(): DaffSortOptions {\n    return this.optionFactory.create();\n  }\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffSortableFactory extends DaffModelFactory<DaffSortable> {\n  constructor(\n    optionFactory: DaffSortOptionsFactory,\n  ) {\n    super(MockDaffSortable, optionFactory);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterEqual,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../factory';\n\nexport class MockFilterEqual implements DaffFilterEqual {\n  type: DaffFilterType.Equal = DaffFilterType.Equal;\n  label = faker.lorem.word();\n  name = faker.string.uuid();\n  options = {};\n}\n\n/**\n * A factory for creating a {@link DaffFilterEqual}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterEqualFactory extends DaffModelFactory<DaffFilterEqual>{\n  constructor(){\n    super(MockFilterEqual);\n  }\n}\n\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterRangeNumeric,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../factory';\n\nexport class MockFilterRangeNumeric implements DaffFilterRangeNumeric {\n  type: DaffFilterType.RangeNumeric = DaffFilterType.RangeNumeric;\n  label = faker.lorem.word();\n  name = faker.string.uuid();\n  min = faker.number.int({ min: 1, max: 10 });\n  max = faker.number.int({ min: 10, max: 200 });\n  options = {};\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangeNumeric}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRangeNumericFactory extends DaffModelFactory<DaffFilterRangeNumeric>{\n  constructor(){\n    super(MockFilterRangeNumeric);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilter,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\nimport { DaffFilterEqualFactory } from './type/equal';\nimport { DaffFilterRangeNumericFactory } from './type/range-numeric';\n\nexport class MockDaffFilter {\n\n}\n\n/**\n * A factory for creating a {@link DaffFilter}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterFactory extends DaffModelFactory<DaffFilter>{\n\n  constructor(private equalFactory: DaffFilterEqualFactory, private rangeFactory: DaffFilterRangeNumericFactory){\n    super(<any>MockDaffFilter);\n  }\n\n  create(partial: Partial<DaffFilter> = {}): DaffFilter {\n    let factory;\n\n    switch (partial.type) {\n      case DaffFilterType.Equal:\n        factory = this.equalFactory;\n        break;\n      case DaffFilterType.RangeNumeric:\n        factory = this.rangeFactory;\n        break;\n      default:\n        factory = faker.number.int({ min: 1, max: 2 }) === 2\n          ? this.equalFactory\n          : this.rangeFactory;\n        break;\n    }\n    return {\n      ...new this.type(),\n      ...factory.create(partial),\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterEqualRequest,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterEqualRequest implements DaffFilterEqualRequest {\n  type: DaffFilterType.Equal = DaffFilterType.Equal;\n  name = faker.lorem.word();\n  value = [faker.string.uuid()];\n}\n\n/**\n * A factory for creating a {@link DaffFilterEqualRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRequestEqualFactory extends DaffModelFactory<DaffFilterEqualRequest>{\n  constructor(){\n    super(MockDaffFilterEqualRequest);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffFilterRangeRequestOption } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterRangeNumericRequestOption implements DaffFilterRangeRequestOption<number> {\n  min = faker.number.int({ min: 0, max: 100 });\n  max = faker.number.int({ min: 100, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangeRequestOption}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRangeNumericRequestOptionFactory extends DaffModelFactory<DaffFilterRangeRequestOption<number>>{\n  constructor(){\n    super(MockDaffFilterRangeNumericRequestOption);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterRangeNumericRequest,\n  DaffFilterType,\n  DaffFilterRangeRequestOption,\n} from '@daffodil/core';\n\nimport { DaffFilterRangeNumericRequestOptionFactory } from './request-option';\nimport { DaffModelFactory } from '../../../factory';\n\n\nexport class MockDaffFilterRangeNumericRequest implements DaffFilterRangeNumericRequest {\n  type: DaffFilterType.RangeNumeric = DaffFilterType.RangeNumeric;\n  name = faker.lorem.word();\n  value: DaffFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangeNumericRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRequestRangeNumericFactory extends DaffModelFactory<DaffFilterRangeNumericRequest>{\n  constructor(private option: DaffFilterRangeNumericRequestOptionFactory = new DaffFilterRangeNumericRequestOptionFactory()){\n    super(MockDaffFilterRangeNumericRequest);\n  }\n\n  create(partial: Partial<DaffFilterRangeNumericRequest> = {}) {\n    return {\n      ...new this.type(),\n      value: this.option.create(),\n      ...partial,\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffFilterRequest } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\nimport { DaffFilterRequestEqualFactory } from './type/equal/request';\nimport { DaffFilterRequestRangeNumericFactory } from './type/range-numeric/request';\n\n/**\n * A factory for creating a {@link DaffFilterRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRequestFactory extends DaffModelFactory<DaffFilterRequest>{\n  constructor(equalFactory: DaffFilterRequestEqualFactory, rangeFactory: DaffFilterRequestRangeNumericFactory){\n    super(faker.number.int({ min: 1, max: 2 }) === 2 ? equalFactory.type : rangeFactory.type);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterEqualToggleRequest,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterToggleEqualRequest implements DaffFilterEqualToggleRequest {\n  type: DaffFilterType.Equal = DaffFilterType.Equal;\n  name = faker.lorem.word();\n  value = faker.string.uuid();\n}\n\n/**\n * A factory for creating a {@link DaffFilterEqualToggleRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterToggleRequestEqualFactory extends DaffModelFactory<DaffFilterEqualToggleRequest>{\n  constructor(){\n    super(MockDaffFilterToggleEqualRequest);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterRangeNumericToggleRequest,\n  DaffFilterRangeRequestOption,\n  DaffFilterType,\n} from '@daffodil/core';\n\nimport { DaffFilterRangeNumericRequestOptionFactory } from './request-option';\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterToggleRangeNumericRequest implements DaffFilterRangeNumericToggleRequest {\n  type: DaffFilterType.RangeNumeric = DaffFilterType.RangeNumeric;\n  name = faker.lorem.word();\n  value: DaffFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangeNumericToggleRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterToggleRequestRangeNumericFactory extends DaffModelFactory<DaffFilterRangeNumericToggleRequest>{\n  constructor(private option: DaffFilterRangeNumericRequestOptionFactory) {\n    super(MockDaffFilterToggleRangeNumericRequest);\n  }\n\n  create(partial: Partial<DaffFilterRangeNumericToggleRequest> = {}): DaffFilterRangeNumericToggleRequest {\n    return {\n      ...new this.type(),\n      value: this.option.create(),\n      ...partial,\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffFilterToggleRequest } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\nimport { DaffFilterToggleRequestEqualFactory } from './type/equal/toggle-request';\nimport { DaffFilterToggleRequestRangeNumericFactory } from './type/range-numeric/toggle-request';\n\nexport class MockDaffFilterToggleRequest {\n\n}\n\n/**\n * A factory for creating a {@link DaffFilterToggleRequest}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterToggleRequestFactory extends DaffModelFactory<DaffFilterToggleRequest>{\n  constructor(private equalFactory: DaffFilterToggleRequestEqualFactory, private rangeFactory: DaffFilterToggleRequestRangeNumericFactory){\n    super(<any>MockDaffFilterToggleRequest);\n  }\n\n  create(partial?: Partial<DaffFilterToggleRequest>): DaffFilterToggleRequest {\n    return {\n      ...new this.type(),\n      ...faker.number.int({ min: 1, max: 2 }) === 2 ? this.equalFactory.create() : this.rangeFactory.create(),\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffFilterEqualOption } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterEqualOption implements DaffFilterEqualOption {\n  applied = false;\n  value = faker.string.uuid();\n  label = faker.lorem.word();\n  count = faker.number.int({ min: 1, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffFilterEqualOption}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterEqualOptionFactory extends DaffModelFactory<DaffFilterEqualOption> {\n  constructor(){\n    super(MockDaffFilterEqualOption);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffFilterRangeOption } from '@daffodil/core';\n\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockFilterRangeNumericOption implements DaffFilterRangeOption<number> {\n  value = faker.number.int({ min: 0, max: 10 });\n  label = faker.string.alpha({ length: 3 });\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangeOption}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRangeNumericOptionFactory extends DaffModelFactory<DaffFilterRangeOption<number>>{\n  constructor(){\n    super(MockFilterRangeNumericOption);\n  }\n}\n\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffFilterRangePair,\n  DaffFilterRangeOption,\n} from '@daffodil/core';\n\nimport { DaffFilterRangeNumericOptionFactory } from './option';\nimport { DaffModelFactory } from '../../../factory';\n\nexport class MockDaffFilterRangeNumericPair implements DaffFilterRangePair<number> {\n  applied = <const>true;\n  max: DaffFilterRangeOption<number>;\n  min: DaffFilterRangeOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffFilterRangePair}.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffFilterRangeNumericPairFactory extends DaffModelFactory<DaffFilterRangePair<number>>{\n  constructor(private option: DaffFilterRangeNumericOptionFactory){\n    super(MockDaffFilterRangeNumericPair);\n  }\n\n  create(partial: Partial<DaffFilterRangePair<number>> = {}) {\n    return {\n      ...new this.type(),\n      min: this.option.create({ value: faker.number.int({ min: 0, max: 100 }) }),\n      max: this.option.create({ value: faker.number.int({ min: 100, max: 1000 }) }),\n      ...partial,\n    };\n  }\n}\n\n\n\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffCollectionMetadata,\n  DaffFilters,\n  daffFilterArrayToDict,\n  DaffIdentifiable,\n  DaffSortDirectionEnum,\n  DaffSortOption,\n  DaffSortOptions,\n} from '@daffodil/core';\n\nimport { DaffNumericallyPaginableFactory } from './numerically-paginable.factory';\nimport { DaffSortableFactory } from './sortable.factory';\nimport { DaffModelFactory } from '../factory';\nimport { DaffFilterFactory } from '../filters/public_api';\n\n/**\n * Mocked {@link DaffCollectionMetadata} object.\n */\nexport class MockCollectionMetadata implements DaffCollectionMetadata {\n  currentPage: number;\n  totalPages: number;\n  pageSize: number;\n  sortOptions: DaffSortOptions;\n  appliedSortOption: DaffSortOption['value'];\n  appliedSortDirection: DaffSortDirectionEnum;\n  count: number;\n  ids: DaffIdentifiable['id'][];\n  filters: DaffFilters;\n\n  constructor(\n    pageInfoFactory: DaffNumericallyPaginableFactory,\n    sortFieldsFactory: DaffSortableFactory,\n    filterFactory: DaffFilterFactory,\n  ) {\n    const _pageInfo = pageInfoFactory.create();\n    const _sortFields = sortFieldsFactory.create();\n\n    this.count = faker.number.int({ min: 1, max: 1000 });\n    this.ids = new Array(this.count).fill(null).map<string>(() => faker.string.uuid());\n\n    this.currentPage = _pageInfo.currentPage;\n    this.totalPages = _pageInfo.totalPages;\n    this.pageSize = _pageInfo.pageSize;\n\n    this.appliedSortDirection = _sortFields.appliedSortDirection;\n    this.appliedSortOption = _sortFields.appliedSortOption;\n    this.sortOptions = _sortFields.sortOptions;\n    this.filters = daffFilterArrayToDict(filterFactory.createMany(faker.number.int({ min: 1, max: 5 })));\n  }\n}\n\n/**\n * Factory for creating {@link DaffCollectionMetadata}s.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffCollectionMetadataFactory extends DaffModelFactory<DaffCollectionMetadata> {\n  constructor(\n    pageInfoFactory: DaffNumericallyPaginableFactory,\n    sortFieldsFactory: DaffSortableFactory,\n    filterFactory: DaffFilterFactory,\n  ) {\n    super(MockCollectionMetadata, pageInfoFactory, sortFieldsFactory, filterFactory);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport {\n  DaffCollectionRequest,\n  DaffFilterRequest,\n  DaffSortDirectionEnum,\n} from '@daffodil/core';\n\nimport { DaffModelFactory } from '../factory';\nimport { DaffFilterRequestFactory } from '../filters/public_api';\n\n/**\n * Mocked {@link DaffCollectionRequest} object.\n */\nexport class MockCollectionRequest implements DaffCollectionRequest {\n  currentPage = faker.number.int({ min: 1, max: 100 });\n  appliedSortDirection = faker.helpers.arrayElement([DaffSortDirectionEnum.Ascending, DaffSortDirectionEnum.Descending]);\n  pageSize = faker.number.int({ min: 1, max: 100 });\n  appliedSortOption = faker.lorem.word();\n  filterRequests = this.createFilterRequests();\n\n  constructor(\n    private filterRequestFactory: DaffFilterRequestFactory,\n  ) {}\n\n  private createFilterRequests(): DaffFilterRequest[] {\n    return this.filterRequestFactory.createMany(faker.number.int({ min: 1, max: 5 }));\n  }\n}\n\n/**\n * Factory for creating {@link DaffCollectionRequest}s.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class DaffCollectionRequestFactory extends DaffModelFactory<DaffCollectionRequest> {\n  constructor(\n    filterRequestFactory: DaffFilterRequestFactory,\n  ) {\n    super(MockCollectionRequest, filterRequestFactory);\n  }\n}\n","import {\n  daffIdentifiableArrayToDict,\n  DaffCollection,\n  DaffCollectionMetadata,\n  DaffIdentifiable,\n} from '@daffodil/core';\n\nimport { DaffCollectionMetadataFactory } from './metadata.factory';\nimport { DaffModelFactory } from '../factory';\n\n/**\n * Mocked {@link DaffCollection} object.\n *\n * It should be customized by passing the factory for the contained entity as the first constructor argument.\n */\nexport class MockCollection<T extends DaffIdentifiable = DaffIdentifiable> implements DaffCollection<T> {\n  private _items = this.createItems();\n  metadata = this.createMetadata();\n  data = daffIdentifiableArrayToDict(this._items);\n\n  constructor(\n    private itemFactory: DaffModelFactory<T>,\n    private metadataFactory: DaffCollectionMetadataFactory,\n  ) {}\n\n  private createItems(): T[] {\n    return this.itemFactory.createMany();\n  }\n\n  private createMetadata(): DaffCollectionMetadata {\n    return this.metadataFactory.create({\n      ids: this._items.map(({ id }) => id),\n      count: this._items.length,\n    });\n  }\n}\n","//@angular/core\nexport { DaffMockCurrencyPipe } from './angular/mocks/pipes/currency';\n\n//Core\nexport { DaffCoreTestingModule } from './testing.module';\nexport { enforceUnique } from './unique/enforce';\n\nexport * from './factories/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffSortOptionFactory","i1.DaffSortOptionsFactory","i1.DaffFilterEqualFactory","i2.DaffFilterRangeNumericFactory","i1.DaffFilterRangeNumericRequestOptionFactory","i1.DaffFilterRequestEqualFactory","i2.DaffFilterRequestRangeNumericFactory","i1.DaffFilterToggleRequestEqualFactory","i2.DaffFilterToggleRequestRangeNumericFactory","i1.DaffFilterRangeNumericOptionFactory","i1.DaffNumericallyPaginableFactory","i2.DaffSortableFactory","i3.DaffFilterFactory","i1.DaffFilterRequestFactory"],"mappings":"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"}