photoprism/internal/form/photo_test.go

70 lines
2.0 KiB
Go

package form
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestNewPhoto(t *testing.T) {
t.Run("success", func(t *testing.T) {
photo := Photo{
TakenAt: time.Date(2008, 1, 1, 2, 0, 0, 0, time.UTC),
TakenAtLocal: time.Date(2008, 1, 1, 2, 0, 0, 0, time.UTC),
TakenSrc: "meta",
TimeZone: "UTC",
PhotoTitle: "Black beach",
TitleSrc: "manual",
PhotoFavorite: false,
PhotoPrivate: false,
PhotoType: "image",
PhotoStack: int8(1),
PhotoLat: 9.9999,
PhotoLng: 8.8888,
PhotoAltitude: 2,
PhotoIso: 5,
PhotoFocalLength: 10,
PhotoFNumber: 3.3,
PhotoExposure: "exposure",
CameraID: uint(3),
CameraSrc: "meta",
LensID: uint(6),
CellID: "1234",
PlaceSrc: "geo",
PlaceID: "765",
PhotoCountry: "de"}
r, err := NewPhoto(photo)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, time.Date(2008, 1, 1, 2, 0, 0, 0, time.UTC), r.TakenAt)
assert.Equal(t, time.Date(2008, 1, 1, 2, 0, 0, 0, time.UTC), r.TakenAtLocal)
assert.Equal(t, "meta", r.TakenSrc)
assert.Equal(t, "UTC", r.TimeZone)
assert.Equal(t, "Black beach", r.PhotoTitle)
assert.Equal(t, "manual", r.TitleSrc)
assert.Equal(t, false, r.PhotoFavorite)
assert.Equal(t, false, r.PhotoPrivate)
assert.Equal(t, "image", r.PhotoType)
assert.Equal(t, int8(1), r.PhotoStack)
assert.Equal(t, float32(9.9999), r.PhotoLat)
assert.Equal(t, float32(8.8888), r.PhotoLng)
assert.Equal(t, 2, r.PhotoAltitude)
assert.Equal(t, 5, r.PhotoIso)
assert.Equal(t, 10, r.PhotoFocalLength)
assert.Equal(t, float32(3.3), r.PhotoFNumber)
assert.Equal(t, "exposure", r.PhotoExposure)
assert.Equal(t, uint(3), r.CameraID)
assert.Equal(t, "meta", r.CameraSrc)
assert.Equal(t, uint(6), r.LensID)
assert.Equal(t, "1234", r.CellID)
assert.Equal(t, "geo", r.PlaceSrc)
assert.Equal(t, "765", r.PlaceID)
assert.Equal(t, "de", r.PhotoCountry)
})
}