Add album management and trailer upload to Assets module.

Wire home routing for album_list and album_trailer, add a DEBUG home menu preview in Profile, and expand Assets tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-24 09:43:46 +08:00
parent a48eb76ba4
commit 607130ade0
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(