package query import ( "testing" "github.com/photoprism/photoprism/internal/config" "github.com/photoprism/photoprism/internal/entity" "github.com/stretchr/testify/assert" ) func TestNewCountry(t *testing.T) { t.Run("name Fantasy code fy", func(t *testing.T) { country := entity.NewCountry("fy", "Fantasy") assert.Equal(t, "fy", country.ID) assert.Equal(t, "Fantasy", country.CountryName) assert.Equal(t, "fantasy", country.CountrySlug) }) t.Run("name Unknown code Unknown", func(t *testing.T) { country := entity.NewCountry("", "") assert.Equal(t, "zz", country.ID) assert.Equal(t, "Unknown", country.CountryName) assert.Equal(t, "unknown", country.CountrySlug) }) } func TestCountry_FirstOrCreate(t *testing.T) { t.Run("country already existing", func(t *testing.T) { country := entity.NewCountry("de", "Germany") c := config.TestConfig() country.FirstOrCreate(c.Db()) assert.Equal(t, "de", country.Code()) assert.Equal(t, "Germany", country.Name()) assert.Equal(t, "Country Description", country.CountryDescription) assert.Equal(t, "Country Notes", country.CountryNotes) assert.Equal(t, uint(0), country.CountryPhotoID) }) t.Run("country not yet existing", func(t *testing.T) { country := entity.NewCountry("wl", "Wonder Land") c := config.TestConfig() country.FirstOrCreate(c.Db()) assert.Equal(t, "wl", country.Code()) assert.Equal(t, "Wonder Land", country.Name()) }) }