github.com/derat/nup@v0.0.0-20230418113745-15592ba7c620/cmd/nup/update/json_test.go (about)

     1  // Copyright 2020 Daniel Erat.
     2  // All rights reserved.
     3  
     4  package update
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/derat/nup/server/db"
    10  	"github.com/derat/nup/test"
    11  )
    12  
    13  func TestJSON(t *testing.T) {
    14  	dir := t.TempDir()
    15  	songs := []db.Song{test.LegacySong1, test.LegacySong2}
    16  	ch := make(chan songOrErr)
    17  	p, err := test.WriteSongsToJSONFile(dir, songs...)
    18  	if err != nil {
    19  		t.Error("Failed writing JSON file: ", err)
    20  	}
    21  	num, err := readSongsFromJSONFile(p, ch)
    22  	if err != nil {
    23  		t.Error("Failed reading songs from JSON: ", err)
    24  	}
    25  	actual, err := getSongsFromChannel(ch, num)
    26  	if err != nil {
    27  		t.Error("Failed getting songs from channel: ", err)
    28  	}
    29  	if err := test.CompareSongs(songs, actual, test.IgnoreOrder); err != nil {
    30  		t.Error("Bad songs: ", err)
    31  	}
    32  }