Files
memby/server/internal/api/ratings_test.go
T

40 lines
1.3 KiB
Go

package api
import (
"testing"
"github.com/ponzischeme89/memby/server/internal/mdblist"
)
func TestSelectedMovieRatingsFiltersOrdersAndLabelsAvailableValues(t *testing.T) {
got := selectedMovieRatings(
[]string{"letterboxd", "imdb", "tomatoes", "rogerebert", "metacritic"},
[]mdblist.Rating{
{Source: "imdb", Value: 8.2},
{Source: "rttomatoes", Value: 91},
{Source: "letterboxd", Value: 4.15},
{Source: "rogerebert", Value: 0},
{Source: "metacritic", Value: 101},
},
)
if len(got) != 3 {
t.Fatalf("ratings = %+v", got)
}
if got[0] != (movieRating{Source: "letterboxd", Name: "Letterboxd", Score: "4.15", Scale: "/5"}) ||
got[1].Name != "IMDb" || got[1].Score != "8.2" || got[1].Scale != "/10" ||
got[2].Name != "Rotten Tomatoes" || got[2].Score != "91" || got[2].Scale != "%" {
t.Fatalf("formatted ratings = %+v", got)
}
}
func TestMovieProviderPrefersTMDBAndFallsBackToIMDb(t *testing.T) {
provider, id := movieProvider(map[string]string{"ImDb": "tt0111161", "TmDb": "278"})
if provider != "tmdb" || id != "278" {
t.Fatalf("provider = %q %q", provider, id)
}
provider, id = movieProvider(map[string]string{"IMDb": "tt0111161"})
if provider != "imdb" || id != "tt0111161" {
t.Fatalf("fallback provider = %q %q", provider, id)
}
}