"""Factory for creating release records in tests.""" import factory from product_digital.models import release from product_digital.models import release_status class ReleaseFactory(factory.Factory): """Factory for test releases.""" class Meta: """Meta class around the release model.""" model = release.Release release_id = factory.Sequence(lambda n: n) upc = factory.Sequence(lambda n: n) project_id = factory.Sequence(lambda n: n) product_code = factory.Sequence(lambda n: 'TESTPROD{}'.format(n)) distribution_format_id = 1 artist_id = factory.Sequence(lambda n: n) release_name = factory.Sequence(lambda n: 'Test Release {}'.format(n)) release_status = 'label_processing' label = 'DIG for Gold Records' version = 'Extremely Explicit Version' # NOTE: genre_id will never be 0. The jsonschema Draft3Validator evaluates # 0 as none. genre_id = factory.Sequence(lambda n: n + 1) release_format = 'Full Length' special_instructions = 'Listen to something else instead' itunes_previewable = 'no' meta_language = 'eng' c_line = '2017 Trump' release_date = None sale_start_date = None p_line = '2020 PLINE' preorder_date = None class ReleaseStatusFactory(factory.Factory): """Factory for test releases.""" class Meta: """Meta class around the release_status model.""" model = release_status.ReleaseStatus release_status_id = factory.Sequence(lambda n: n) release_id = 123 status = 'label_processing' changed_by = 456 changed_by_type = 'vendor'