"""Test file for vendor default template model.""" from salessheets.models import vendor_default_template from tests.factories import template_details as template_factory from tests.factories import vendor_default_template as vendor_template_factory from tests.test_utils import db @db.test_schema def test_get_vendor_template_exist(): """Test get template returns template if it exists.""" default_template = template_factory.TemplateDetailsFactory() vendor_template = vendor_template_factory.VendorDefaultTemplateFactory( template_details_id=default_template.template_id) db.seed_ss_models([default_template, vendor_template]) data = vendor_default_template.get_vendor_default_template( vendor_template.vendor_id) assert data.message == { 'vendor_id': vendor_template.vendor_id, 'template_id': vendor_template.template_details_id, } @db.test_schema def test_get_vendor_template_by_id_missed(): """Test get vendor template fails if template not exists.""" data = vendor_default_template.get_vendor_default_template(42) assert not data @db.test_schema def test_set_vendor_template_success(): """Test that vendor template is created.""" template = template_factory.TemplateDetailsFactory() db.seed_ss_models([template]) vendor_id = 1 vendor_template = vendor_default_template.set_vendor_template( vendor_id, template.template_id) assert vendor_template details_id = vendor_template.message['template_id'] assert details_id == template.template_id @db.test_schema def test_set_vendor_template_recreate(): """Test that vendor template is recreated.""" vendor_id = 1 template1 = template_factory.TemplateDetailsFactory() template2 = template_factory.TemplateDetailsFactory() existing_vendor = vendor_template_factory.VendorDefaultTemplateFactory( vendor_id=vendor_id, template_details_id=template1.template_id) db.seed_ss_models([template1, template2, existing_vendor]) vendor_template = vendor_default_template.set_vendor_template( vendor_id, template2.template_id) assert vendor_template details_id = vendor_template.message['template_id'] assert details_id == template2.template_id