added basic tests for Product

This commit is contained in:
Sam
2021-01-22 13:44:12 +00:00
parent d405e04178
commit 1624fe6a82
2 changed files with 273 additions and 1 deletions

36
products/factories.py Normal file
View File

@@ -0,0 +1,36 @@
import datetime
from django.utils import timezone
from factory import SubFactory
from factory.fuzzy import FuzzyText, FuzzyInteger, FuzzyDateTime, FuzzyDate, FuzzyDecimal, FuzzyChoice, FuzzyDateTime
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)
image = None
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 = models.ManyToMany(Tag, null=True, blank=True )
# category = models.ForeignKey(Tag, null=true) # main tag category
# attributes = models.ManyToMany(Tag, null=True, blank=True )
identifiers = FuzzyText(prefix='IDENTIFIERS_', length=100)
class Meta:
model = Product