36bac7ab48
Signed-off-by: Michael Mayer <michael@photoprism.app>
101 lines
2.4 KiB
Go
101 lines
2.4 KiB
Go
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())
|
|
})
|
|
}
|