photoprism/internal/entity/marker_test.go

128 lines
2.9 KiB
Go
Raw Normal View History

2021-05-25 09:38:04 +00:00
package entity
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestMarker_TableName(t *testing.T) {
fileSync := &Marker{}
assert.Equal(t, "markers_dev", fileSync.TableName())
}
func TestNewMarker(t *testing.T) {
2021-05-26 12:41:59 +00:00
m := NewMarker("ft8es39w45bnlqdw", "lt9k3pw1wowuy3c3", SrcImage, MarkerLabel, 0.308333, 0.206944, 0.355556, 0.355556)
2021-05-25 09:38:04 +00:00
assert.IsType(t, &Marker{}, m)
assert.Equal(t, "ft8es39w45bnlqdw", m.FileUID)
assert.Equal(t, "lt9k3pw1wowuy3c3", m.RefUID)
assert.Equal(t, SrcImage, m.MarkerSrc)
assert.Equal(t, MarkerLabel, m.MarkerType)
}
2021-05-26 12:41:59 +00:00
func TestUpdateOrCreateMarker(t *testing.T) {
2021-05-25 09:38:04 +00:00
t.Run("success", func(t *testing.T) {
2021-05-26 12:41:59 +00:00
m := NewMarker("ft8es39w45bnlqdw", "lt9k3pw1wowuy3c3", SrcImage, MarkerLabel, 0.308333, 0.206944, 0.355556, 0.355556)
2021-05-25 09:38:04 +00:00
assert.IsType(t, &Marker{}, m)
assert.Equal(t, "ft8es39w45bnlqdw", m.FileUID)
assert.Equal(t, "lt9k3pw1wowuy3c3", m.RefUID)
assert.Equal(t, SrcImage, m.MarkerSrc)
assert.Equal(t, MarkerLabel, m.MarkerType)
2021-05-26 12:41:59 +00:00
m, err := UpdateOrCreateMarker(m)
if err != nil {
t.Fatal(err)
}
2021-05-25 09:38:04 +00:00
if m == nil {
t.Fatal("result should not be nil")
}
if m.ID <= 0 {
t.Errorf("ID should be > 0")
}
})
}
func TestMarker_Updates(t *testing.T) {
t.Run("success", func(t *testing.T) {
2021-05-26 12:41:59 +00:00
m := NewMarker("ft8es39w45bnlqdw", "lt9k3pw1wowuy3c4", SrcImage, MarkerLabel, 0.308333, 0.206944, 0.355556, 0.355556)
m, err := UpdateOrCreateMarker(m)
if err != nil {
t.Fatal(err)
}
2021-05-25 09:38:04 +00:00
assert.Equal(t, SrcImage, m.MarkerSrc)
assert.Equal(t, MarkerLabel, m.MarkerType)
2021-05-26 12:41:59 +00:00
if err := m.Updates(Marker{MarkerSrc: SrcMeta}); err != nil {
2021-05-25 09:38:04 +00:00
t.Fatal(err)
}
assert.Equal(t, SrcMeta, m.MarkerSrc)
assert.Equal(t, MarkerLabel, m.MarkerType)
if m.ID <= 0 {
t.Errorf("ID should be > 0")
}
})
}
func TestMarker_Update(t *testing.T) {
t.Run("success", func(t *testing.T) {
2021-05-26 12:41:59 +00:00
m := NewMarker("ft8es39w45bnlqdw", "lt9k3pw1wowuy3c4", SrcImage, MarkerLabel, 0.308333, 0.206944, 0.355556, 0.355556)
m, err := UpdateOrCreateMarker(m)
2021-05-25 09:38:04 +00:00
2021-05-26 12:41:59 +00:00
if err != nil {
t.Fatal(err)
}
2021-05-25 09:38:04 +00:00
2021-05-26 12:41:59 +00:00
assert.Equal(t, MarkerLabel, m.MarkerType)
2021-05-25 09:38:04 +00:00
2021-05-26 12:41:59 +00:00
if err := m.Update("MarkerSrc", SrcMeta); err != nil {
2021-05-25 09:38:04 +00:00
t.Fatal(err)
}
assert.Equal(t, SrcMeta, m.MarkerSrc)
assert.Equal(t, MarkerLabel, m.MarkerType)
if m.ID <= 0 {
t.Errorf("ID should be > 0")
}
})
}
func TestMarker_Save(t *testing.T) {
t.Run("success", func(t *testing.T) {
2021-05-26 12:41:59 +00:00
m := NewMarker("ft8es39w45bnlqdw", "lt9k3pw1wowuy3c4", SrcImage, MarkerLabel, 0.308333, 0.206944, 0.355556, 0.355556)
m, err := UpdateOrCreateMarker(m)
if err != nil {
t.Fatal(err)
}
2021-05-25 09:38:04 +00:00
assert.Equal(t, MarkerLabel, m.MarkerType)
m.MarkerSrc = SrcMeta
assert.Equal(t, SrcMeta, m.MarkerSrc)
initialDate := m.UpdatedAt
2021-05-26 12:41:59 +00:00
if err := m.Save(); err != nil {
2021-05-25 09:38:04 +00:00
t.Fatal(err)
}
afterDate := m.UpdatedAt
assert.Equal(t, SrcMeta, m.MarkerSrc)
assert.True(t, afterDate.After(initialDate))
if m.ID <= 0 {
t.Errorf("ID should be > 0")
}
})
}