为资产模块新增相册管理与片花上传

为 album_list 与 album_trailer 接入首页路由,在 Profile 中新增 DEBUG 首页菜单预览,并扩展 Assets 测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-24 09:43:46 +08:00
parent cac22fcc56
commit ae0bc116d8
17 changed files with 2018 additions and 26 deletions

View File

@ -39,6 +39,8 @@ final class HomeMenuRouterTests: XCTestCase {
XCTAssertEqual(HomeMenuRouter.resolve(uri: "cloud_storage_transit", title: ""), .destination(.cloudStorageTransit))
XCTAssertEqual(HomeMenuRouter.resolve(uri: "asset_management", title: ""), .destination(.materialLibrary))
XCTAssertEqual(HomeMenuRouter.resolve(uri: "material_upload", title: ""), .destination(.materialUpload))
XCTAssertEqual(HomeMenuRouter.resolve(uri: "album_list", title: ""), .destination(.albumList))
XCTAssertEqual(HomeMenuRouter.resolve(uri: "album_trailer", title: ""), .destination(.albumTrailer))
}
///
@ -51,10 +53,6 @@ final class HomeMenuRouterTests: XCTestCase {
HomeMenuRouter.resolve(uri: "scenic_settlement_review", title: ""),
.destination(.modulePlaceholder(uri: "scenic_settlement_review", title: "结算审核"))
)
XCTAssertEqual(
HomeMenuRouter.resolve(uri: "album_list", title: ""),
.destination(.modulePlaceholder(uri: "album_list", title: "相册管理"))
)
XCTAssertEqual(
HomeMenuRouter.resolve(uri: "sample_upload", title: ""),
.destination(.modulePlaceholder(uri: "sample_upload", title: "上传样片"))
@ -159,6 +157,23 @@ final class HomeMenuRouterTests: XCTestCase {
XCTAssertTrue(audit.hasUnknownRoutes)
}
#if DEBUG
/// DEBUG
func testDebugAllMenuItemsExposeKnownMenusWithoutPermissions() {
let items = HomeMenuRouter.debugAllMenuItems()
let uris = items.map(\.uri)
XCTAssertTrue(uris.contains("album_list"))
XCTAssertTrue(uris.contains("wallet"))
XCTAssertTrue(uris.contains("sample_management"))
XCTAssertEqual(HomeMenuRouter.resolve(uri: "album_list", title: ""), .destination(.albumList))
XCTAssertEqual(
HomeMenuRouter.resolve(uri: "sample_management", title: ""),
.destination(.modulePlaceholder(uri: "sample_management", title: "样片管理"))
)
}
#endif
///
private func rolePermission(roleId: Int, permissions: [PermissionItem]) -> RolePermissionResponse {
RolePermissionResponse(