81 lines
1.7 KiB
Go
81 lines
1.7 KiB
Go
package entity
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestCreateUnknownPlace(t *testing.T) {
|
|
r := UnknownPlace.FirstOrCreate()
|
|
assert.True(t, r.Unknown())
|
|
}
|
|
|
|
func TestFindPlaceByLabel(t *testing.T) {
|
|
t.Run("find by id", func(t *testing.T) {
|
|
r := FindPlaceByLabel("1ef744d1e280", "")
|
|
|
|
if r == nil {
|
|
t.Fatal("result should not be nil")
|
|
}
|
|
|
|
assert.Equal(t, "de", r.LocCountry)
|
|
})
|
|
t.Run("find by id", func(t *testing.T) {
|
|
r := FindPlaceByLabel("85d1ea7d3278", "")
|
|
|
|
if r == nil {
|
|
t.Fatal("result should not be nil")
|
|
}
|
|
assert.Equal(t, "mx", r.LocCountry)
|
|
})
|
|
t.Run("find by label", func(t *testing.T) {
|
|
r := FindPlaceByLabel("", "KwaDukuza, KwaZulu-Natal, South Africa")
|
|
|
|
if r == nil {
|
|
t.Fatal("result should not be nil")
|
|
}
|
|
|
|
assert.Equal(t, "za", r.LocCountry)
|
|
})
|
|
t.Run("not matching", func(t *testing.T) {
|
|
r := FindPlaceByLabel("111", "xxx")
|
|
|
|
if r != nil {
|
|
t.Fatal("result should be nil")
|
|
}
|
|
})
|
|
}
|
|
|
|
func TestPlace_Find(t *testing.T) {
|
|
t.Run("record exists", func(t *testing.T) {
|
|
m := PlaceFixtures.Get("teotihuacan")
|
|
r := m.Find()
|
|
assert.Nil(t, r)
|
|
})
|
|
t.Run("record does not exist", func(t *testing.T) {
|
|
place := &Place{
|
|
ID: "1110",
|
|
LocLabel: "test",
|
|
LocCity: "testCity",
|
|
LocState: "",
|
|
LocCountry: "",
|
|
LocKeywords: "",
|
|
LocNotes: "",
|
|
LocFavorite: false,
|
|
PhotoCount: 0,
|
|
CreatedAt: time.Now(),
|
|
UpdatedAt: time.Now(),
|
|
New: false,
|
|
}
|
|
r := place.Find()
|
|
assert.Equal(t, "record not found", r.Error())
|
|
})
|
|
}
|
|
|
|
func TestPlace_FirstOrCreate(t *testing.T) {
|
|
m := PlaceFixtures.Pointer("zinkwazi")
|
|
r := m.FirstOrCreate()
|
|
assert.Equal(t, "KwaDukuza, KwaZulu-Natal, South Africa", r.LocLabel)
|
|
}
|