"""Factory class for seeding test data.""" from datetime import datetime import random from product.models import product_localization class ProductLocalizationFactory: """Product Localization factory class.""" @classmethod def build(cls, **kwargs): """Build a ProductLocalization object.""" default_values = { 'product_id': str(random.randint(1, 100000)), 'language_id': str(random.randint(100, 100000)), 'last_updated': datetime.now() } default_values.update(kwargs) default_data = { 'product_name': 'Name {}'.format(str(random.randint(1, 100000))), 'short_synopsis': 'Short {}'.format( str(random.randint(1, 100000))), 'long_synopsis': 'Long {}'.format(str(random.randint(1, 100000))) } obj = product_localization.ProductLocalization(**default_values) obj.data = product_localization.AdditionalData(**default_data) return obj @classmethod def build_batch(cls, size, **kwargs): """Build a batch of ProductLocalization objects.""" return [cls.build(**kwargs) for _ in range(size)]