photoprism/internal/form/marker_test.go

102 lines
2.4 KiB
Go
Raw Normal View History

package form
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewMarker(t *testing.T) {
t.Run("success", func(t *testing.T) {
var m = struct {
SubjSrc string
MarkerName string
MarkerReview bool
MarkerInvalid bool
}{
SubjSrc: "manual",
MarkerName: "Foo",
MarkerReview: true,
MarkerInvalid: true,
}
f, err := NewMarker(m)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "manual", f.SubjSrc)
assert.Equal(t, "Foo", f.MarkerName)
assert.Equal(t, true, f.MarkerReview)
assert.Equal(t, true, f.MarkerInvalid)
})
}
func TestMarker_Validate(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
frm := Marker{}
assert.Error(t, frm.Validate())
})
t.Run("False", func(t *testing.T) {
frm := Marker{
FileUID: "frygcme3hc9re8nc",
MarkerType: "face",
X: 0.303519,
Y: 0.260742,
W: 0.548387,
H: 0.365234,
SubjSrc: "manual",
MarkerName: "Jens Mander",
MarkerReview: false,
MarkerInvalid: false,
}
assert.Nil(t, frm.Validate())
})
t.Run("FileUID", func(t *testing.T) {
frm := Marker{
FileUID: "rygcme3hc9re8nc",
MarkerType: "face",
X: 0.303519,
Y: 0.260742,
W: 0.548387,
H: 0.365234,
SubjSrc: "manual",
MarkerName: "Jens Mander",
MarkerReview: false,
MarkerInvalid: false,
}
assert.Error(t, frm.Validate())
})
t.Run("Area", func(t *testing.T) {
frm := Marker{
FileUID: "frygcme3hc9re8nc",
MarkerType: "face",
X: 0.303519,
Y: 1.260742,
W: 0.548387,
H: 0.365234,
SubjSrc: "manual",
MarkerName: "Jens Mander",
MarkerReview: false,
MarkerInvalid: false,
}
assert.Error(t, frm.Validate())
})
t.Run("Name", func(t *testing.T) {
frm := Marker{
FileUID: "frygcme3hc9re8nc",
MarkerType: "face",
X: 0.303519,
Y: 0.260742,
W: 0.548387,
H: 0.365234,
SubjSrc: "manual",
MarkerName: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer...",
MarkerReview: false,
MarkerInvalid: false,
}
assert.Error(t, frm.Validate())
})
}