Ejemplo n.º 1
0
class DealFactory(DjangoModelFactory):
    tenant = SubFactory(TenantFactory)
    account = SubFactory(AccountFactory, tenant=SelfAttribute('..tenant'))
    contact = SubFactory(ContactFactory, tenant=SelfAttribute('..tenant'))
    amount_once = FuzzyDecimal(42.7)
    amount_recurring = FuzzyDecimal(42.7)
    assigned_to = SubFactory(LilyUserFactory, tenant=SelfAttribute('..tenant'))
    card_sent = FuzzyChoice([True, False])
    contacted_by = SubFactory(DealContactedByFactory,
                              tenant=SelfAttribute('..tenant'))
    currency = FuzzyChoice(dict(CURRENCIES).keys())
    found_through = SubFactory(DealFoundThroughFactory,
                               tenant=SelfAttribute('..tenant'))
    is_checked = FuzzyChoice([True, False])
    name = LazyAttribute(lambda o: faker.word())
    new_business = FuzzyChoice([True, False])
    next_step = SubFactory(DealNextStepFactory,
                           tenant=SelfAttribute('..tenant'))
    next_step_date = FuzzyDate(past_date, future_date)
    status = SubFactory(DealStatusFactory, tenant=SelfAttribute('..tenant'))
    twitter_checked = FuzzyChoice([True, False])
    why_customer = SubFactory(DealWhyCustomerFactory,
                              tenant=SelfAttribute('..tenant'))
    why_lost = SubFactory(DealWhyLostFactory, tenant=SelfAttribute('..tenant'))
    closed_date = LazyAttribute(
        lambda o: faker.date_time_between_dates(past_date, current_date, utc)
        if o.status.is_won or o.status.is_lost else None)

    class Meta:
        model = Deal
Ejemplo n.º 2
0
class TableFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Table

    max_capacity = FuzzyInteger(2, 12)
    shape = factory.Iterator(['rectangular', 'oval'])
    coordinates = FuzzyDecimal(0, 100)
    size = FuzzyDecimal(0, 100)
Ejemplo n.º 3
0
class TrafficFactory(WuFactory):
    class Meta:
        model = Traffic
    # TODO: `unique` constraint not met
    timetag = FuzzyInteger(low=timetag_today() - 21,
                           high=timetag_today())
    ip = Faker('ipv4')
    input = FuzzyDecimal(low=0, high=10*1024*1024)
    output = FuzzyDecimal(low=0, high=10*1024*1024)
Ejemplo n.º 4
0
class CityFactory(factory.DjangoModelFactory):
    FACTORY_FOR = City
    name = factory.Sequence(lambda n: u'Ciudad {0}'.format(n))
    # entre Rio Turbio y CABA
    longitude = FuzzyDecimal(-72.3367, -58.37723, precision=4)
    # entre Ushuaia y La Quiaca
    latitude = FuzzyDecimal(-54.8, -22.1023, precision=4)
    region = factory.SubFactory(RegionFactory, name=u'Córdoba')
    country = factory.SubFactory(CountryFactory, name=u'Argentina')
Ejemplo n.º 5
0
class StockFactory(BaseModelFactory):
    class Meta:
        model = Stock

    ticker_symbol = FuzzyText(length=4)
    s_open = FuzzyDecimal(.01, 5000)
    s_close = FuzzyDecimal(.01, 5000)
    s_high = FuzzyDecimal(.01, 5000)
    s_low = FuzzyDecimal(.01, 5000)
    user = factory.SubFactory(UserFactory)
Ejemplo n.º 6
0
class OfferFactory(DjangoModelFactory):
    title = Sequence(lambda n: f'Offer {n}')
    value = FuzzyDecimal(low=20.00, high=40.00)
    discounted_value = FuzzyDecimal(low=10.00, high=15.00)
    expiration_ts = FuzzyDateTime(
        start_dt=timezone.now() + datetime.timedelta(days=7),
        end_dt=timezone.now() + datetime.timedelta(days=17))

    class Meta:
        model = Offer
Ejemplo n.º 7
0
class SeatFactory(factory.DjangoModelFactory):
    type = FuzzyChoice([name for name, __ in Seat.SEAT_TYPE_CHOICES])
    price = FuzzyDecimal(0.0, 650.0)
    currency = factory.Iterator(Currency.objects.all())
    upgrade_deadline = FuzzyDateTime(datetime(2014, 1, 1, tzinfo=UTC))
    course_run = factory.SubFactory(CourseRunFactory)
    credit_price = FuzzyDecimal(0.0, 650.0)

    class Meta:
        model = Seat
Ejemplo n.º 8
0
class AccountFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Account

    id = factory.Sequence(lambda n: f'A{n}')
    group = factory.SubFactory(GroupFactory)
    status = factory.Faker('random_element', elements=Account.STATUS.list())
    amount = FuzzyDecimal(0.5, 9999.9)
    balance = FuzzyDecimal(0.5, 9999.9)
    num_payments = FuzzyInteger(1, 8)
Ejemplo n.º 9
0
class AccountFactory(factory.Factory):
    class Meta:
        model = Account

    person = factory.SubFactory(PersonFactory)
    balance = FuzzyDecimal(10.0, 100.0, 3)
    daily_withdraw_limit = FuzzyDecimal(5.0, 10.0, 3)
    active_flag = True
    account_type = FuzzyChoice([
        AccountTypeEnum.individual, AccountTypeEnum.company
    ])
class PantsFactory(DjangoModelFactory):  # pylint: disable=too-many-ancestors
    class Meta:
        model = Pants

    brand = FuzzyText(length=20)
    model = FuzzyChoice(choices=[m[0] for m in MODEL_CHOICE_FIELD])
    color = FuzzyText(length=20)
    material = FuzzyChoice(choices=[m[0] for m in MATERIAL_CHOICE_FIELD])
    cost_price = FuzzyDecimal(low=100, high=499)
    sell_price = FuzzyDecimal(low=500, high=999)
    taxes = FuzzyDecimal(low=1, high=99)
Ejemplo n.º 11
0
class PaymentFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = 'payments.PaymentCalendar'

    id = random.randrange(200, 99999)
    account = factory.SubFactory(AccountFactory)
    num_payment = random.randrange(1, 4)
    amount = FuzzyDecimal(0.5, 9999.9)
    balance = FuzzyDecimal(0.5, 9999.9)
    payment_date = FuzzyDate(datetime.datetime.now())
    status = factory.Faker('random_element',
                           elements=[x[1] for x in PaymentCalendar.STATUS])
Ejemplo n.º 12
0
 class Params:  # pylint: disable=missing-docstring
     percent = Trait(
         amount_type='percent-discount',
         amount=FuzzyDecimal(0, 1),
     )
     fixed = Trait(
         amount_type='fixed-discount',
         amount=FuzzyDecimal(50, 1000),
     )
     program = Trait(content_object=SubFactory(ProgramFactory))
     course = Trait(content_object=SubFactory(CourseFactory))
     course_run = Trait(content_object=SubFactory(CourseRunFactory))
Ejemplo n.º 13
0
class OrderRoundFactory(DjangoModelFactory):
    """
    Creates an OPEN order round
    """
    class Meta:
        model = "ordering.OrderRound"

    open_for_orders = datetime.datetime.now(tz=UTC)
    closed_for_orders = open_for_orders + datetime.timedelta(days=4)
    collect_datetime = closed_for_orders + datetime.timedelta(days=5)

    transaction_costs = FuzzyDecimal(low=0.01, high=0.40)
    markup_percentage = FuzzyDecimal(low=1, high=10)
Ejemplo n.º 14
0
class SavedProductFactory(factory.django.DjangoModelFactory):
    """
    Stock items factory
    """
    class Meta:
        model = "orders.SavedProduct"

    product = factory.SubFactory(ProductFactory)
    width = FuzzyDecimal(10, 100)
    height = FuzzyDecimal(10, 100)
    length = FuzzyDecimal(10, 100)
    weight = FuzzyDecimal(10, 100)
    retail_price = FuzzyDecimal(100, 500)
Ejemplo n.º 15
0
class BarFactory(DjangoModelFactory):
    """Construct bar data."""

    asset = factory.SubFactory(AssetFactory)
    t = FuzzyInteger(1, 2100000000)
    o = FuzzyDecimal(1, 1000)
    h = FuzzyDecimal(1, 1000)
    l = FuzzyDecimal(1, 1000)
    c = FuzzyDecimal(1, 1000)
    v = FuzzyInteger(1, 10000000)

    class Meta:
        model = Bar
Ejemplo n.º 16
0
class DealFactory(DjangoModelFactory):
    tenant = SubFactory(TenantFactory)
    name = LazyAttribute(lambda o: faker.word())
    account = SubFactory(AccountFactory, tenant=SelfAttribute('..tenant'))
    amount_once = FuzzyDecimal(42.7)
    amount_recurring = FuzzyDecimal(42.7)
    expected_closing_date = FuzzyDate(datetime.date(2015, 1, 1),
                                      datetime.date(2016, 1, 1))
    assigned_to = SubFactory(LilyUserFactory, tenant=SelfAttribute('..tenant'))
    stage = FuzzyChoice(dict(Deal.STAGE_CHOICES).keys())

    class Meta:
        model = Deal
Ejemplo n.º 17
0
class TimezoneFactory(factory.django.DjangoModelFactory):
    country = factory.SubFactory(CountryFactory)
    timezone_name = factory.sequence(lambda s: f'timezone-{s}')
    gmt_offset = FuzzyDecimal(99.9, precision=3)
    dst_offset = FuzzyDecimal(99.9, precision=3)
    raw_offset = FuzzyDecimal(99.9, precision=3)

    class Meta:
        model = 'core.Timezone'
        django_get_or_create = (
            'country',
            'timezone_name',
        )
Ejemplo n.º 18
0
class CitiesFactory(factory.django.DjangoModelFactory):
    country = factory.SubFactory(CountryFactory)
    state = factory.SubFactory(StatesFactory)
    city_name = factory.sequence(lambda s: f'city-{s}')
    city_name_ascii = factory.sequence(lambda s: f'city_ascii-{s}')
    latitude = FuzzyDecimal(50.0)
    longitude = FuzzyDecimal(89.2)

    class Meta:
        model = 'core.Cities'
        django_get_or_create = (
            'country',
            'state',
            'city_name',
        )
Ejemplo n.º 19
0
class AlertFactory(factory.django.DjangoModelFactory):
    amount = FuzzyDecimal(0.0)
    user = factory.SubFactory(UserFactory)
    campaign = factory.SubFactory(CampaignFactory)

    class Meta:
        model = "alerts.Alert"
Ejemplo n.º 20
0
class TokenFactory(factory.django.DjangoModelFactory):

    amount = FuzzyInteger(1, 1000)
    price = FuzzyDecimal(1.0, 1000.0)

    class Meta:
        model = "tokens.Token"
Ejemplo n.º 21
0
class OrderFactory(factory.DjangoModelFactory):
    class Meta:
        model = Order

    contact_name = FuzzyText(length=50)
    contact_email = FuzzyText(length=50)
    order_total = FuzzyDecimal(0.50, 1000.00)
Ejemplo n.º 22
0
def get_transaction_amount(force_high=None) -> Decimal:
    low, high = TRANSACTIONS_AMOUNT_TIER.flip()

    force_high = high or force_high
    high = max(high, force_high)
    low = min(low, high)
    return FuzzyDecimal(low=low, high=high).fuzz()
Ejemplo n.º 23
0
class PersonFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Person

    age = FuzzyInteger(21, 99)
    eye_color = FuzzyChoice([Person.EYE_BLUE, Person.EYE_BROWN])
    name = factory.Sequence(lambda n: f"Person{n}")
    gender = FuzzyChoice([Person.GENDER_MALE, Person.GENDER_FEMALE])
    phone = factory.Sequence(lambda n: "0486-992-%03d" % n)
    email = factory.LazyAttribute(lambda obj: f"{obj.name}@test.com".lower())
    address = factory.Faker("address")
    registered = FuzzyDateTime(datetime.datetime(2020, 1, 1, tzinfo=UTC))
    company = factory.SubFactory(CompanyFactory)
    about = FuzzyText()
    greeting = FuzzyText()
    balance = FuzzyDecimal(low=0)

    @factory.post_generation
    def favourite_foods(self, create, extracted, **kwargs):
        if not create:
            return

        if extracted:
            for food in extracted:
                self.favourite_foods.add(food)

    @factory.post_generation
    def friends(self, create, extracted, **kwargs):
        if not create:
            return

        if extracted:
            for friend in extracted:
                self.friends.add(friend)
Ejemplo n.º 24
0
class CourseSkillsFactory(factory.django.DjangoModelFactory):
    course_id = FuzzyText()
    skill = factory.SubFactory(SkillFactory)
    confidence = FuzzyDecimal(0.0, 1.0)

    class Meta:
        model = CourseSkills
class CuppingFactory(BaseFactory):
    class Meta:
        model = Cupping

    name = factory.Sequence(lambda n: u'Coffee %d' % n)
    scores = FuzzyAttribute(_generate_scores)
    overall_score = FuzzyDecimal(60, 100, precision=1)
Ejemplo n.º 26
0
class CouponFactory(DjangoModelFactory):
    """Factory for Coupon"""
    coupon_code = FuzzyText()
    coupon_type = Coupon.STANDARD
    amount_type = Coupon.PERCENT_DISCOUNT
    amount = FuzzyDecimal(0, 1)

    class Meta:
        model = Coupon

    content_object = SubFactory(ProgramFactory,
                                financial_aid_availability=True)

    class Params:  # pylint: disable=missing-docstring
        percent = Trait(
            amount_type='percent-discount',
            amount=FuzzyDecimal(0, 1),
        )
        fixed = Trait(
            amount_type='fixed-discount',
            amount=FuzzyDecimal(50, 1000),
        )
        program = Trait(content_object=SubFactory(ProgramFactory))
        course = Trait(content_object=SubFactory(CourseFactory))
        course_run = Trait(content_object=SubFactory(CourseRunFactory))
Ejemplo n.º 27
0
class OrderInputDTOFactory(factory.Factory):  # type: ignore
    class Meta:
        model = OrderInputDTO

    code = FuzzyInteger(10000, 99999)
    value = FuzzyDecimal(100.00, 100000.00)
    retailer_document = str(FuzzyInteger(10000000000, 99999999999))
Ejemplo n.º 28
0
class ReceiptFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = models.Receipt

    tax_number = factory.Faker("pyint")
    tabc_permit = FuzzyText(length=6, prefix="MB", chars=string.digits)
    taxpayer_name = factory.Faker("company")
    date = FuzzyDate(start_date=date(1970, 1, 1))
    liquor = FuzzyDecimal(low=0, high=1000, precision=2)
    beer = FuzzyDecimal(low=0, high=1000, precision=2)
    wine = FuzzyDecimal(low=0, high=1000, precision=2)
    cover = FuzzyDecimal(low=0, high=1000, precision=2)
    total = FuzzyDecimal(low=0, high=10000, precision=2)
    location_number = 1
    county_code = 255

    location = factory.SubFactory(LocationFactory)
Ejemplo n.º 29
0
class CourseEntitlementFactory(factory.DjangoModelFactory):
    mode = FuzzyChoice([name for name, __ in CourseEntitlement.COURSE_MODE_CHOICES])
    price = FuzzyDecimal(1.0, 650.0)
    currency = factory.Iterator(Currency.objects.all())
    course = factory.SubFactory(CourseFactory)

    class Meta:
        model = CourseEntitlement
Ejemplo n.º 30
0
class ProductFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Product

    category = factory.SubFactory(CategoryFactory)
    name = factory.Faker('name')
    price = FuzzyDecimal(0.5, 42.7, 2)
    image = 'products_imgs/pinkRose.jpeg'