package com.cmvr.aima.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;

/**
 * 爱玛测试用例对象 aima_test_case
 * 
 * @author cmvr-iot
 * @since 2026-06-22
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Builder
@ApiModel("爱玛测试用例")
public class AimaTestCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @Excel(name = "用例编码")
    @ApiModelProperty("用例编码")
    private String caseCode;

    @Excel(name = "用例名称")
    @ApiModelProperty("用例名称")
    private String caseName;

    @Excel(name = "用例分类")
    @ApiModelProperty("用例分类(功能测试/性能测试/安全测试等)")
    private String caseCategory;

    @Excel(name = "测试描述")
    @ApiModelProperty("测试描述")
    private String testDescription;

    @Excel(name = "前置条件")
    @ApiModelProperty("前置条件")
    private String precondition;

    @Excel(name = "测试步骤")
    @ApiModelProperty("测试步骤")
    private String testSteps;

    @Excel(name = "预期结果")
    @ApiModelProperty("预期结果")
    private String expectedResult;

    @Excel(name = "优先级")
    @ApiModelProperty("优先级(1高 2中 3低)")
    private String priority;

    @Excel(name = "是否启用")
    @ApiModelProperty("是否启用(0启用 1禁用)")
    private String enabled;

    @Excel(name = "排序号")
    @ApiModelProperty("排序号")
    private Integer sortOrder;

    @Excel(name = "预计执行时长")
    @ApiModelProperty("预计执行时长(秒)")
    private Integer estimatedDuration;

    /** 检测项配置id（关联test模块） */
    @ApiModelProperty("检测项配置id")
    private String detectItemId;

}
