UNPKG

@comparaonline/offers-models-factories

Version:
277 lines (188 loc) 6.23 kB
## Offers Models Factories Package This library contains the factories for test support on Marketplace related projects ### How to use: Add the ```@comparaonline/offers-models-factories``` to project. #### Use as the example: ```typescript import { countryFactory } from '@comparaonline/offers-models-factories' const country = countryFactory.build(); ``` #### Passing custom data to Factory: As FactoryGirls or similar libraries you can pass custom objects variables. ```typescript import { countryFactory } from '@comparaonline/offers-models-factories' countryParams = { code: 'cl', name: 'Chile' }; const country = countryFactory.build(countryParams); ``` ### Contains Types definition for: #### BusinessUnit ```typescript import { businessUnitFactory } from '@comparaonline/offers-models-factories' const bu = businessUnitFactory.build(); ``` #### Company ```typescript import { companyFactory } from '@comparaonline/offers-models-factories' const company = companyFactory.build(); ``` #### Country ```typescript import { countryFactory } from '@comparaonline/offers-models-factories' const company = companyFactory.build(); ``` #### Division ```typescript import { divisionFactory } from '@comparaonline/offers-models-factories' const division = divisionFactory.build(); ``` #### Entity ```typescript import { entityFactory } from '@comparaonline/offers-models-factories' const entity = entityFactory.build(); ``` ##### EntityMoneyInstallment ```typescript import { entityMoneyInstallmentFactory } from '@comparaonline/offers-models-factories' const entityMoneyInstallment = entityMoneyInstallmentFactory.build(); ``` ##### EntityList ```typescript import { entityListFactory } from '@comparaonline/offers-models-factories' const entityList = entityListFactory.build(); ``` ##### EntityMoney ```typescript import { entityMoneyFactory } from '@comparaonline/offers-models-factories' const entityMoney = entityMoneyFactory.build(); ``` ##### EntityNumber ```typescript import { entityNumberFactory } from '@comparaonline/offers-models-factories' const entityNumber = entityNumberFactory.build(); ``` ##### EntityPercentage ```typescript import { entityPercentageFactory } from '@comparaonline/offers-models-factories' const entityPercentage = entityPercentageFactory.build(); ``` ##### EntityTerm ```typescript import { entityTermFactory } from '@comparaonline/offers-models-factories' const entityTerm = entityTermFactory.build(); ``` #### EntityFilter ```typescript import { entityFilterFactory } from '@comparaonline/offers-models-factories' const entityFilter = entityFilterFactory.build(); ``` #### Filter ```typescript import { filterFactory } from '@comparaonline/offers-models-factories' const filter = filterFactory.build(); ``` #### FormatMoney ```typescript import { formatMoneyFactory } from '@comparaonline/offers-models-factories' const formatMoney = formatMoneyFactory.build(); ``` #### FormatNumber ```typescript import { formatNumberFactory } from '@comparaonline/offers-models-factories' const formatNumber = formatNumberFactory.build(); ``` #### FormatPercentage ```typescript import { formatPercentageFactory } from '@comparaonline/offers-models-factories' const formatPercentage = formatPercentageFactory.build(); ``` #### FormatUnit ```typescript import { formatUnitFactory } from '@comparaonline/offers-models-factories' const formatUnitFactory = formatUnitFactory.build(); ``` #### Offer ```typescript import { offerFactory } from '@comparaonline/offers-models-factories' const offer = offerFactory.build(); ``` #### Product ```typescript import { productFactory } from '@comparaonline/offers-models-factories' const product = productFactory.build(); ``` #### ProductAttribute: - \#build default Mode: With default mode the value will be defined ramdonly in base of a ramdon selection of the entity type. ```typescript import { productAttributeFactory } from '@comparaonline/offers-models-factories' const productAttribute = productAttributeFactory.build(); ``` - \#buildType (Force entityType): ```typescript import { productAttributeFactory } from '@comparaonline/offers-models-factories' const productAttribute = productAttributeFactory.buildType('money'); ``` Types supported: ```[integer, money-installment, list, money, percentage, string, term] ``` #### Fixed Attributes Factories These factories are the same as ```productAttributeFactory.buildType()``` with supported the ```value``` type when you pass the custom variables. ##### MoneyInstallmentAttribute ```typescript import { moneyInstallmentAttributeFactory } from '@comparaonline/offers-models-factories' const value: { total: { value: 100000 }, installments: [ { number: 1, price: 100000, total: ( 100000 * 1 ) }, { number: 2, price: 50000, total: (2 * 50000) }, { number: 3, price: 33333, total: 3 * 33333 } ] } const moneyInstallmentAttribute = moneyInstallmentAttributeFactory.build({ value }); ``` ##### IntegerAttribute ```typescript import { integerAttributeFactory } from '@comparaonline/offers-models-factories' const value:Number = 1000000; const integerAttribute = integerAttributeFactory.build({ value: value }); ``` ##### StringAttribute ```typescript import { stringAttributeFactory } from '@comparaonline/offers-models-factories' const value:string = 'Hello'; const stringAttribute = stringAttributeFactory.build({ value: value }); ``` ##### ListAttribute ```typescript import { listAttributeFactory } from '@comparaonline/offers-models-factories' const value:string[] = ['Hello', 'how', 'are', 'you', '?']; const listAttribute = listAttributeFactory.build({ value: value }); ``` ##### MoneyAttribute ```typescript import { moneyAttributeFactory } from '@comparaonline/offers-models-factories' const value: = { type: 'clp', value: 10000 }; const moneyAttribute = moneyAttributeFactory.build({ value: value }); ``` ##### TermAttribute ```typescript import { termAttributeFactory } from '@comparaonline/offers-models-factories' const value: = { datePart: 'years', value: 20 }; const termAttribute = termAttributeFactory.build({ value: value }); ```