docs(downloads): mark UR-055/056 Done; fix colliding UT ids

The browsable Downloaded library + Transfers split + on-disk usage
(f25deba, plus today's grouping/perf fixes) fully implement UR-055 and
UR-056, but the requirements doc still listed them and DR-081..085 as
Planned. Flip to Done.

Also fix UT-id collisions: the downloaded-browse and formatBytes tests
reused UT-046..050 (already assigned to smart-cache/playlist tests in the
matrix). Reassign to UT-071..078 and register them in §4, including the
new music/TV container-rollup and orphan-leaf regression tests.
This commit is contained in:
2026-07-24 22:22:43 +02:00
parent 57b24f8c74
commit e2c9d68311
4 changed files with 99 additions and 61 deletions
+7 -7
View File
@@ -2683,7 +2683,7 @@ mod tests {
/// UT: downloaded-only browse returns a downloaded leaf AND its container,
/// filtered to the requested album parent. A non-downloaded sibling is omitted.
///
/// TRACES: UR-055 | DR-082, DR-083 | UT-046
/// TRACES: UR-055 | DR-082, DR-083 | UT-072
#[tokio::test]
async fn test_get_downloaded_items_returns_leaf_and_container() {
let db = create_test_db();
@@ -2705,7 +2705,7 @@ mod tests {
/// not their leaves — a music library shows the album, not the individual
/// downloaded songs. The leaf is still reachable by drilling into the album.
///
/// TRACES: UR-055 | DR-082, DR-083
/// TRACES: UR-055 | DR-082, DR-083 | UT-076
#[tokio::test]
async fn test_get_downloaded_items_library_lists_albums_not_tracks() {
let db = create_test_db();
@@ -2739,7 +2739,7 @@ mod tests {
/// Episodes — the same "individual songs" bug seen for music, for TV. The
/// season and episode are still reachable by drilling into the series.
///
/// TRACES: UR-055 | DR-082, DR-083
/// TRACES: UR-055 | DR-082, DR-083 | UT-077
#[tokio::test]
async fn test_get_downloaded_items_library_lists_series_not_episodes() {
let db = create_test_db();
@@ -2785,7 +2785,7 @@ mod tests {
/// A downloaded leaf with no cached container (e.g. a Movie, or a track whose
/// album isn't in the cache) still surfaces at the library level.
///
/// TRACES: UR-055 | DR-082, DR-083
/// TRACES: UR-055 | DR-082, DR-083 | UT-078
#[tokio::test]
async fn test_get_downloaded_items_library_keeps_orphan_leaves() {
let db = create_test_db();
@@ -2806,7 +2806,7 @@ mod tests {
/// UT: an empty downloaded-only browse is authoritative — no rows, no error,
/// regardless of the catalog-browse flag (which the DR-080 fallthrough uses).
///
/// TRACES: UR-055 | DR-082 | UT-047
/// TRACES: UR-055 | DR-082 | UT-073
#[tokio::test]
async fn test_get_downloaded_items_empty_is_authoritative() {
let db = create_test_db();
@@ -2825,7 +2825,7 @@ mod tests {
/// UT: only libraries with downloaded content are listed; an empty one is omitted.
///
/// TRACES: UR-055 | DR-082 | UT-048
/// TRACES: UR-055 | DR-082 | UT-074
#[tokio::test]
async fn test_get_downloaded_libraries_omits_empty() {
let db = create_test_db();
@@ -2847,7 +2847,7 @@ mod tests {
/// UT: disk usage reports a leaf's own size, a container's summed descendants,
/// and reconciles the device total with the sum of leaves.
///
/// TRACES: UR-056 | DR-085 | UT-049
/// TRACES: UR-056 | DR-085 | UT-075
#[tokio::test]
async fn test_download_disk_usage_aggregates_containers() {
let db = create_test_db();