Files
SpotiFLAC-Mobile/go_backend/extension_fallback_metadata_test.go
T

59 lines
1.6 KiB
Go

package gobackend
import "testing"
func TestOverlayExtensionReleaseMetadataFillsMissingRequestFields(t *testing.T) {
req := DownloadRequest{AlbumType: "single"}
track := ExtTrackMetadata{
AlbumType: "album",
Explicit: true,
UPC: "4006381333931",
Comment: "https://music.apple.com/jp/album/1532211596",
}
overlayExtensionReleaseMetadata(&req, track)
if req.AlbumType != "single" {
t.Fatalf("existing album type was overwritten: %q", req.AlbumType)
}
if !req.Explicit {
t.Fatal("explicit flag from source enrichment was not retained")
}
if req.UPC != track.UPC {
t.Fatalf("UPC = %q, want %q", req.UPC, track.UPC)
}
if req.Comment != track.Comment {
t.Fatalf("comment = %q, want %q", req.Comment, track.Comment)
}
response := buildDownloadSuccessResponse(
req,
DownloadResult{},
"amazon",
"downloaded",
"song.m4a",
false,
)
expectedComment := track.Comment + "\n" + downloadCommentCredit
if response.UPC != track.UPC || response.AlbumType != "single" ||
!response.Explicit || response.Comment != expectedComment {
t.Fatalf("enriched metadata was lost in download response: %#v", response)
}
}
func TestOverlayExtensionReleaseMetadataDoesNotEraseExistingValues(t *testing.T) {
req := DownloadRequest{
AlbumType: "ep",
Explicit: true,
UPC: "existing-upc",
Comment: "existing-comment",
}
overlayExtensionReleaseMetadata(&req, ExtTrackMetadata{})
if req.AlbumType != "ep" || !req.Explicit ||
req.UPC != "existing-upc" || req.Comment != "existing-comment" {
t.Fatalf("existing release metadata changed: %#v", req)
}
}