<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="32" time="6.163" timestamp="2026-10-28T08:51:05.518366+00:00" hostname="Mac"><testcase classname="tests.test_materials" name="test_new_read_paths_staff_only_and_mutations_csrf" time="0.276" /><testcase classname="tests.test_materials" name="test_business_job_customer_and_catalogue_isolation" time="0.225" /><testcase classname="tests.test_materials" name="test_same_name_customers_filter_by_id_and_historical_jobs" time="0.196" /><testcase classname="tests.test_materials" name="test_exact_costs_fractional_quantity_and_rounding" time="0.175" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity-0]" time="0.160" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity--1]" time="0.159" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity-NaN]" time="0.161" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity-1.0001]" time="0.191" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity-1000001]" time="0.154" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[quantity-True]" time="0.156" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price--1]" time="0.155" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-1.001]" time="0.156" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-NaN]" time="0.186" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-Infinity]" time="0.155" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-1e999999999]" time="0.156" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-1000000.01]" time="0.154" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[cost_price-True]" time="0.160" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[status-paid]" time="0.152" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[name-   ]" time="0.204" /><testcase classname="tests.test_materials" name="test_invalid_material_input_writes_nothing[ordered_date-2026-02-30]" time="0.155" /><testcase classname="tests.test_materials" name="test_supplier_references_safe_and_preserved" time="0.170" /><testcase classname="tests.test_materials" name="test_stages_dates_versions_archival_and_no_reparenting" time="0.180" /><testcase classname="tests.test_materials" name="test_bulk_all_or_nothing_foreign_ids_stale_versions_and_retry" time="0.204" /><testcase classname="tests.test_materials" name="test_catalogue_snapshot_reference_only_no_financial_changes" time="0.187" /><testcase classname="tests.test_materials" name="test_catalogue_uniqueness_archive_restore_and_versions" time="0.293" /><testcase classname="tests.test_materials" name="test_catalogue_optional_charge_price_and_invalid_prices" time="0.173" /><testcase classname="tests.test_materials" name="test_catalogue_add_override_and_retry" time="0.168" /><testcase classname="tests.test_materials" name="test_cost_free_order_projection_and_no_partial_foreign_export" time="0.169" /><testcase classname="tests.test_materials" name="test_csv_preview_payload_atomic_import_and_retry" time="0.196" /><testcase classname="tests.test_materials" name="test_price_history_business_scope_exact_match_and_archive" time="0.199" /><testcase classname="tests.test_materials" name="test_concurrent_material_edits_cannot_overwrite" time="0.164" /><testcase classname="tests.test_materials" name="test_additive_schema_preserves_v01_records_and_materials_restart" time="0.372" /></testsuite></testsuites>