99 wiersze
2.4 KiB
Python
99 wiersze
2.4 KiB
Python
from factory import Factory, Faker, SubFactory
|
|
from factory.django import DjangoModelFactory, FileField
|
|
|
|
|
|
class ProductAuthorFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductAuthor"
|
|
|
|
name = Faker("name")
|
|
surname = Faker("name")
|
|
email = Faker("email")
|
|
phone = Faker("phone_number")
|
|
street = Faker("street_address")
|
|
city = Faker("city")
|
|
zip_code = Faker("postcode")
|
|
country = Faker("country")
|
|
display_name = Faker("name")
|
|
|
|
|
|
class ProductCategoryFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductCategory"
|
|
|
|
name = Faker("name")
|
|
|
|
|
|
class ProductTemplateFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductTemplate"
|
|
|
|
title = Faker("name")
|
|
description = Faker("text")
|
|
code = Faker("name")
|
|
author = SubFactory(ProductAuthorFactory)
|
|
category = SubFactory(ProductCategoryFactory)
|
|
|
|
|
|
class ProductTemplateParamFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductTemplateParam"
|
|
|
|
key = Faker("name")
|
|
template = SubFactory(ProductTemplateFactory)
|
|
param_type = "str"
|
|
|
|
|
|
class ProductTemplateParamValueFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductTemplateParamValue"
|
|
|
|
param = SubFactory(ProductTemplateParamFactory)
|
|
value = Faker("name")
|
|
|
|
|
|
class ProductFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.Product"
|
|
|
|
name = Faker("name")
|
|
price = Faker("pydecimal", left_digits=5, right_digits=2, positive=True)
|
|
available = Faker("boolean")
|
|
template = SubFactory(ProductTemplateFactory)
|
|
|
|
|
|
class ProductParamFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.ProductParam"
|
|
|
|
product = SubFactory(ProductFactory)
|
|
param = SubFactory(ProductTemplateParamValueFactory)
|
|
|
|
|
|
class PaymentMethodFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.PaymentMethod"
|
|
|
|
name = Faker("name")
|
|
description = Faker("text")
|
|
active = Faker("boolean")
|
|
|
|
|
|
class OrderFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.Order"
|
|
|
|
payment_method = SubFactory(PaymentMethodFactory)
|
|
created_at = Faker("date_time")
|
|
updated_at = Faker("date_time")
|
|
sent = Faker("boolean")
|
|
|
|
|
|
class DocumentTemplateFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "store.DocumentTemplate"
|
|
|
|
name = Faker("name")
|
|
file = FileField(filename="doc.odt")
|
|
doc_type = "agreement"
|