<?xml version="1.0" encoding="utf-8" ?>
<!--
  EN: Shared coverage settings for all .NET services.
      Enforces 80% line coverage threshold via coverlet.collector.
  VI: Cài đặt coverage dùng chung cho tất cả .NET services.
      Yêu cầu ít nhất 80% line coverage thông qua coverlet.collector.
-->
<RunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="XPlat Code Coverage">
        <Configuration>
          <!-- EN: Output format / VI: Định dạng output -->
          <Format>cobertura</Format>

          <!-- EN: Exclude test assemblies from coverage calculation
               VI: Loại trừ các assembly test khỏi tính toán coverage -->
          <Exclude>[*.UnitTests]*,[*.FunctionalTests]*,[*.Tests]*</Exclude>

          <!-- EN: Include only production code layers
               VI: Chỉ tính coverage cho các layer production -->
          <Include>[*.Domain]*,[*.API]*,[*.Infrastructure]*</Include>

          <!-- EN: Enforce 80% minimum line coverage — build fails if below
               VI: Yêu cầu tối thiểu 80% line coverage — build thất bại nếu dưới ngưỡng -->
          <Threshold>80</Threshold>
          <ThresholdType>line</ThresholdType>
          <ThresholdStat>total</ThresholdStat>
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
</RunSettings>
