@comparaonline/offers-models-factories

Models for comparaonline offers

Usage no npm install needed!

<script type="module">
  import comparaonlineOffersModelsFactories from 'https://cdn.skypack.dev/@comparaonline/offers-models-factories';
</script>

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 });