using GB5Shared.DTO.Framework.Login;
using TCMSDAL.DTO;
namespace TCMSBLL.Interfaces;
public interface ITCMSImportBLL
{
///
/// Pulls PIE UAT scenarios via PIE.QC.GetPIETestTemplates and creates MTCMSTESTCASE records.
/// Idempotent: second call does not duplicate — PIESCENID dedup check.
///
Task ImportFromPIEAsync(TCMSImportFromPIERequestDTO request, LoginDTO login, CancellationToken ct);
///
/// Parses a Gherkin .feature file string and creates test cases + steps.
/// Feature name → MTCMSFEATURE (created if not exists); scenario → MTCMSTESTCASE; steps → MTCMSTESTSTEP.
///
Task ImportFromGherkinAsync(TCMSImportFromGherkinRequestDTO request, LoginDTO login, CancellationToken ct);
///
/// Returns all test cases for a module formatted as a downloadable .feature file string.
///
Task ExportGherkinAsync(int moduleId, LoginDTO login, CancellationToken ct);
///
/// Generates a UAT checklist as a ClosedXML workbook byte array.
/// One row per test case; columns: TC_ID, Feature, Scenario, Priority, Given/When/Then, Tester, Status, Notes, Sign-off.
///
Task ExportUATChecklistAsync(int moduleId, int? testRunId, LoginDTO login, CancellationToken ct);
}