This commit is contained in:
Gabe Farrell 2025-12-10 10:54:19 -05:00
parent c0a8c64243
commit dfe3b5c90d
8 changed files with 317 additions and 2 deletions

View file

@ -0,0 +1,87 @@
package summary_test
import (
"path"
"testing"
"github.com/gabehf/koito/internal/cfg"
"github.com/gabehf/koito/internal/summary"
"github.com/stretchr/testify/assert"
)
func TestMain(t *testing.M) {
// dir, err := utils.GenerateRandomString(8)
// if err != nil {
// panic(err)
// }
cfg.Load(func(env string) string {
switch env {
case cfg.ENABLE_STRUCTURED_LOGGING_ENV:
return "true"
case cfg.LOG_LEVEL_ENV:
return "debug"
case cfg.DATABASE_URL_ENV:
return "postgres://postgres:secret@localhost"
case cfg.CONFIG_DIR_ENV:
return "."
case cfg.DISABLE_DEEZER_ENV, cfg.DISABLE_COVER_ART_ARCHIVE_ENV, cfg.DISABLE_MUSICBRAINZ_ENV, cfg.ENABLE_FULL_IMAGE_CACHE_ENV:
return "true"
default:
return ""
}
}, "test")
t.Run()
}
func TestGenerateImage(t *testing.T) {
s := summary.Summary{
Title: "20XX Rewind",
TopArtistImage: path.Join("..", "..", "test_assets", "yuu.jpg"),
TopArtists: []struct {
Name string
Plays int
MinutesListened int
}{
{"CHUU", 738, 7321},
{"Paramore", 738, 7321},
{"ano", 738, 7321},
{"NELKE", 738, 7321},
{"ILLIT", 738, 7321},
},
TopAlbumImage: "",
TopAlbums: []struct {
Title string
Plays int
MinutesListened int
}{
{"Only cry in the rain", 738, 7321},
{"Paramore", 738, 7321},
{"ano", 738, 7321},
{"NELKE", 738, 7321},
{"ILLIT", 738, 7321},
},
TopTrackImage: "",
TopTracks: []struct {
Title string
Plays int
MinutesListened int
}{
{"虹の色よ鮮やかであれ (NELKE ver.)", 321, 12351},
{"Paramore", 738, 7321},
{"ano", 738, 7321},
{"NELKE", 738, 7321},
{"ILLIT", 738, 7321},
},
MinutesListened: 0,
Plays: 0,
AvgPlaysPerDay: 0,
UniqueTracks: 0,
UniqueAlbums: 0,
UniqueArtists: 0,
NewTracks: 0,
NewAlbums: 0,
NewArtists: 0,
}
assert.NoError(t, summary.GenerateImage(&s))
}