@comparaonline/offers-models-factories
v4.9.3
Published
Models for comparaonline offers
Downloads
65
Readme
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:
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.
import { countryFactory } from '@comparaonline/offers-models-factories'
countryParams = { code: 'cl', name: 'Chile' };
const country = countryFactory.build(countryParams);
Contains Types definition for:
BusinessUnit
import { businessUnitFactory } from '@comparaonline/offers-models-factories'
const bu = businessUnitFactory.build();
Company
import { companyFactory } from '@comparaonline/offers-models-factories'
const company = companyFactory.build();
Country
import { countryFactory } from '@comparaonline/offers-models-factories'
const company = companyFactory.build();
Division
import { divisionFactory } from '@comparaonline/offers-models-factories'
const division = divisionFactory.build();
Entity
import { entityFactory } from '@comparaonline/offers-models-factories'
const entity = entityFactory.build();
EntityMoneyInstallment
import { entityMoneyInstallmentFactory } from '@comparaonline/offers-models-factories'
const entityMoneyInstallment = entityMoneyInstallmentFactory.build();
EntityList
import { entityListFactory } from '@comparaonline/offers-models-factories'
const entityList = entityListFactory.build();
EntityMoney
import { entityMoneyFactory } from '@comparaonline/offers-models-factories'
const entityMoney = entityMoneyFactory.build();
EntityNumber
import { entityNumberFactory } from '@comparaonline/offers-models-factories'
const entityNumber = entityNumberFactory.build();
EntityPercentage
import { entityPercentageFactory } from '@comparaonline/offers-models-factories'
const entityPercentage = entityPercentageFactory.build();
EntityTerm
import { entityTermFactory } from '@comparaonline/offers-models-factories'
const entityTerm = entityTermFactory.build();
EntityFilter
import { entityFilterFactory } from '@comparaonline/offers-models-factories'
const entityFilter = entityFilterFactory.build();
Filter
import { filterFactory } from '@comparaonline/offers-models-factories'
const filter = filterFactory.build();
FormatMoney
import { formatMoneyFactory } from '@comparaonline/offers-models-factories'
const formatMoney = formatMoneyFactory.build();
FormatNumber
import { formatNumberFactory } from '@comparaonline/offers-models-factories'
const formatNumber = formatNumberFactory.build();
FormatPercentage
import { formatPercentageFactory } from '@comparaonline/offers-models-factories'
const formatPercentage = formatPercentageFactory.build();
FormatUnit
import { formatUnitFactory } from '@comparaonline/offers-models-factories'
const formatUnitFactory = formatUnitFactory.build();
Offer
import { offerFactory } from '@comparaonline/offers-models-factories'
const offer = offerFactory.build();
Product
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.
import { productAttributeFactory } from '@comparaonline/offers-models-factories'
const productAttribute = productAttributeFactory.build();
- #buildType (Force entityType):
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
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
import { integerAttributeFactory } from '@comparaonline/offers-models-factories'
const value:Number = 1000000;
const integerAttribute = integerAttributeFactory.build({ value: value });
StringAttribute
import { stringAttributeFactory } from '@comparaonline/offers-models-factories'
const value:string = 'Hello';
const stringAttribute = stringAttributeFactory.build({ value: value });
ListAttribute
import { listAttributeFactory } from '@comparaonline/offers-models-factories'
const value:string[] = ['Hello', 'how', 'are', 'you', '?'];
const listAttribute = listAttributeFactory.build({ value: value });
MoneyAttribute
import { moneyAttributeFactory } from '@comparaonline/offers-models-factories'
const value: = {
type: 'clp',
value: 10000
};
const moneyAttribute = moneyAttributeFactory.build({ value: value });
TermAttribute
import { termAttributeFactory } from '@comparaonline/offers-models-factories'
const value: = {
datePart: 'years',
value: 20
};
const termAttribute = termAttributeFactory.build({ value: value });