//
//  UITestHomeMenuCatalog.swift
//  suixinkanUITests
//
//  Created by Codex on 2026/6/26.
//

import Foundation

/// 首页调试菜单覆盖目录，按去重后的目标页组织。
enum UITestHomeMenuCatalog {
    /// 打开菜单后的期望结果。
    enum Expectation: Equatable {
        case navigationTitle(String)
        case anyNavigationTitle([String])
        case tab(TabBarNavigator.Tab)
        case staticText(String)
        case unsupportedPlaceholder(title: String)
    }

    /// 单个调试菜单用例。
    struct Entry: Equatable {
        let menuTitle: String
        let expectation: Expectation
    }

    /// 去重后的首页路由覆盖表，同义 URI 只保留一个菜单标题。
    static let entries: [Entry] = [
        Entry(menuTitle: "空间设置", expectation: .navigationTitle("个人空间配置")),
        Entry(menuTitle: "相册管理", expectation: .navigationTitle("相册管理")),
        Entry(menuTitle: "相册预览上传", expectation: .navigationTitle("相册预览上传")),
        Entry(menuTitle: "我的钱包", expectation: .navigationTitle("我的钱包")),
        Entry(menuTitle: "立即收款", expectation: .navigationTitle("收款详情")),
        Entry(menuTitle: "相册云盘", expectation: .navigationTitle("相册云盘")),
        Entry(menuTitle: "传输管理", expectation: .navigationTitle("传输记录")),
        Entry(menuTitle: "素材管理", expectation: .navigationTitle("素材管理")),
        Entry(menuTitle: "上传素材", expectation: .navigationTitle("上传素材")),
        Entry(menuTitle: "任务管理", expectation: .navigationTitle("任务管理")),
        Entry(menuTitle: "发布任务", expectation: .navigationTitle("发布任务")),
        Entry(menuTitle: "日程管理", expectation: .navigationTitle("日程管理")),
        Entry(menuTitle: "消息中心", expectation: .navigationTitle("消息中心")),
        Entry(menuTitle: "打卡点管理", expectation: .navigationTitle("打卡点管理")),
        Entry(menuTitle: "样片管理", expectation: .navigationTitle("样片管理")),
        Entry(menuTitle: "上传样片", expectation: .navigationTitle("上传样片")),
        Entry(menuTitle: "直播管理", expectation: .navigationTitle("直播管理")),
        Entry(menuTitle: "直播相册", expectation: .navigationTitle("直播相册")),
        Entry(menuTitle: "景区选择", expectation: .navigationTitle("景区选择")),
        Entry(menuTitle: "景区申请", expectation: .navigationTitle("景区申请")),
        Entry(menuTitle: "权限申请", expectation: .navigationTitle("申请权限")),
        Entry(menuTitle: "权限申请状态", expectation: .anyNavigationTitle(["权限申请", "权限申请状态"])),
        Entry(menuTitle: "景区结算", expectation: .navigationTitle("景区结算")),
        Entry(menuTitle: "结算审核", expectation: .navigationTitle("结算审核")),
        Entry(menuTitle: "核销订单", expectation: .tab(.orders)),
        Entry(menuTitle: "景区订单", expectation: .tab(.orders)),
        Entry(menuTitle: "数据统计", expectation: .tab(.statistics)),
        Entry(menuTitle: "项目管理", expectation: .navigationTitle("项目管理")),
        Entry(menuTitle: "店铺项目管理", expectation: .navigationTitle("店铺项目管理")),
        Entry(menuTitle: "位置上报", expectation: .navigationTitle("位置上报")),
        Entry(menuTitle: "举报摄影师", expectation: .navigationTitle("举报摄影师")),
        Entry(menuTitle: "注册邀请", expectation: .navigationTitle("摄影师邀请")),
        Entry(menuTitle: "邀请记录", expectation: .navigationTitle("邀请记录")),
        Entry(menuTitle: "店铺管理", expectation: .staticText("全部功能")),
        Entry(menuTitle: "飞行管理", expectation: .unsupportedPlaceholder(title: "飞行管理")),
        Entry(menuTitle: "飞手认证", expectation: .navigationTitle("飞手认证")),
        Entry(menuTitle: "飞控", expectation: .unsupportedPlaceholder(title: "飞控")),
        Entry(menuTitle: "排队管理", expectation: .navigationTitle("排队管理")),
        Entry(menuTitle: "运营区域", expectation: .navigationTitle("运营区域")),
        Entry(menuTitle: "押金订单详情", expectation: .navigationTitle("押金订单")),
        Entry(menuTitle: "提现审核", expectation: .navigationTitle("提现审核")),
        Entry(menuTitle: "定位上报历史", expectation: .navigationTitle("位置上报历史")),
        Entry(menuTitle: "更多功能", expectation: .staticText("全部功能")),
        Entry(menuTitle: "系统设置", expectation: .navigationTitle("设置"))
    ]
}
