namespace PIEDAL.DTO.QC;
// ── Behavior Matrix ───────────────────────────────────────────────────────────
///
/// One row in the behavior matrix: a single PIE variant with its implication summary.
/// Returned by GET /PIE/QC/GetPIEBehaviorMatrix.
///
public sealed class PIEBehaviorMatrixRowDTO
{
public Guid VariantId { get; set; }
public string VariantCode { get; set; } = string.Empty;
public string VariantName { get; set; } = string.Empty;
public string? VariantDescription { get; set; }
public int ImplicationCount { get; set; }
public decimal TotalEffortDelta { get; set; }
/// 1 if any implication has a risk note; 0 otherwise.
public int HasRiskNotes { get; set; }
public Guid ModuleId { get; set; }
}
///
/// Full behavior matrix for one PIE module — header + rows.
///
public sealed class PIEBehaviorMatrixDTO
{
public Guid ModuleId { get; set; }
public string ModuleName { get; set; } = string.Empty;
public int TotalBehaviors { get; set; }
/// Sum of distinct config-item references across all variants.
public int TotalConfigItems { get; set; }
public List Rows { get; set; } = new();
}
// ── Test Templates ────────────────────────────────────────────────────────────
///
/// A UAT scenario exported as a test template — used by TCMS ImportFromPIE.
/// Returned by GET /PIE/QC/GetPIETestTemplates.
///
public sealed class PIETestTemplateDTO
{
public Guid ScenId { get; set; }
public string Title { get; set; } = string.Empty;
public string? Preconditions { get; set; }
/// Ordered Given/When/Then steps stored as JSONB in MPIEUATSCENARIO.STEPS.
public string? Steps { get; set; }
public string? ExpectedResult { get; set; }
/// 1=Simple 2=Medium 3=Complex — maps to MPIEUATSCENARIO.COMPLEXITY
public short ComplexityLevel { get; set; }
public Guid ModuleId { get; set; }
public string ModuleName { get; set; } = string.Empty;
}