Next-session coverage-uplift sequence for QuotationExtn (29% → 75%+) M…
Decision
Next-session coverage-uplift sequence for QuotationExtn (29% → 75%+) MUST start with Custom Label and Custom Metadata Type fixture verification, not with adding more tests. The 1862-line controller’s branching is data-shape dependent, so additional tests without fixture completeness yield diminishing returns. Order: (1) verify/seed Custom Labels (Area_Calculation, Square_Meter_Built_Up, Parking_Area, Parking_Multiplication, Additional_Mutiplication) + CMT (Floor_Rise__mdt, Big_Project__mdt) in fullcopy, (2) deploy patched-original TestQuotationClass via SF CLI to drop 3 failures, (3) refine 8 try/catch-wrapped tests with hardened fixtures and selective wrapper removal, (4) add Option-B targeted tests only for residual gaps.
Rationale
First-principles decomposition revealed coverage ratio = lines_executed/lines_total; the bottleneck on QuotationExtn is not test count (8 new + 5 existing yields only 541 covered lines) but fixture completeness — the controller’s branching depends on populated Custom Labels and CMT records that are absent or zero in test context, causing controller methods to throw NPE early and leaving downstream branches uncovered. Premortem flagged 4 failure modes if proceeding without this analysis: design risk (try/catch removal flips tests to FAIL), assumption risk (overlap between patched-original and Extended coverage), execution risk (sandbox modification forbidden by AJ standing directive), hidden risk (IsValid=false post-deploy). Conclusion confidence 0.78. Realistic outcome: 70-78% with full 4-step plan; 60-65% if Custom Labels missing. Tagging st-derived because the priority order itself was inverted by the first-principles analysis (originally I would have started with more tests; analysis showed fixtures must come first).
Alternatives Rejected
Outcome
Pending