import datetime from django.utils import timezone from factory import SubFactory from factory.fuzzy import FuzzyText, FuzzyInteger, FuzzyDateTime, FuzzyDate, FuzzyDecimal, FuzzyChoice from factory.django import DjangoModelFactory from companies.factories import CompanyFactory from products.models import Product class ProductFactory(DjangoModelFactory): company = SubFactory(CompanyFactory) sku = FuzzyText(prefix='SKU_', length=10) name = FuzzyText(prefix='NAME_', length=10) description = FuzzyText(prefix='DECRIPTION', length=100) url = FuzzyText(prefix='http://WEB-LINK-', suffix='.test', length=10) price = FuzzyDecimal(low=1.00) shipping_cost = FuzzyDecimal(low=1.00) shipping_terms = FuzzyText(prefix='SHIPPING_TERMS', length=100) source = FuzzyChoice(choices=[x[1] for x in Product.SOURCES]) sourcing_date = FuzzyDateTime(start_dt=timezone.now()) update_date = FuzzyDateTime(start_dt=timezone.now()) discount = FuzzyDecimal(low=0.00, high=100.00) stock = FuzzyInteger(low=0) tags = ['test'] category = 'top-category' # main tag category attributes = ['programming/python', 'testing'] identifiers = FuzzyText(prefix='IDENTIFIERS_', length=100) class Meta: model = Product