"""Contract tests for submission routes""" import pytest import io import os import yaml @pytest.fixture def test_product(app): """Create a test product""" with app.app_context(): # Create test product directory and config product_dir = os.path.join(app.config['DATA_DIR'], 'products', 'test-product') os.makedirs(product_dir, exist_ok=True) # Create product config config_file = os.path.join(product_dir, 'config.yaml') config_data = { 'product_id': 'test-product', 'name': 'Test Product', 'submission_url_slug': 'test-product', 'owner_language': 'en', 'assigned_owner_ids': ['usr_0001'], 'status': 'active' } with open(config_file, 'w') as f: yaml.dump(config_data, f) yield 'test-product' @pytest.mark.contract def test_get_submission_form(client, test_product): """T030: Contract test for GET /submit/{product_slug} Expected: 200 OK with HTML form containing textarea and file inputs """ response = client.get('/submit/test-product') assert response.status_code == 200 assert b'