Skip to content

Commit

Permalink
Additional photo location unit tests (#918)
Browse files Browse the repository at this point in the history
  • Loading branch information
kvalev committed Feb 5, 2021
1 parent bbbc6a7 commit c27e809
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 3 deletions.
48 changes: 48 additions & 0 deletions internal/entity/photo_fixtures.go
Expand Up @@ -1057,6 +1057,54 @@ var PhotoFixtures = PhotoMap{
EditedAt: nil,
DeletedAt: nil,
},
"Photo21": {
ID: 1000021,
PhotoUID: "pt9jtxrexxvl0y21",
TakenAt: time.Date(2008, 1, 1, 0, 0, 0, 0, time.UTC),
TakenAtLocal: time.Time{},
TakenSrc: "",
PhotoTitle: "",
TitleSrc: "",
PhotoPath: "1990/04",
PhotoName: "Photo21",
PhotoQuality: 1,
PhotoResolution: 2,
PhotoFavorite: false,
PhotoPrivate: false,
PhotoType: "image",
PhotoLat: 0,
PhotoLng: 0,
PhotoAltitude: 0,
PhotoIso: 0,
PhotoFocalLength: 0,
PhotoFNumber: 0,
PhotoExposure: "",
CameraSerial: "",
CameraSrc: "",
Place: &UnknownPlace,
Cell: &UnknownLocation,
PlaceID: UnknownPlace.ID,
CellID: UnknownLocation.ID,
PlaceSrc: SrcEstimate,
TimeZone: "",
PhotoCountry: UnknownPlace.CountryCode(),
PhotoYear: 1990,
PhotoMonth: 4,
Details: DetailsFixtures.Pointer("bridge", 1000019),
DescriptionSrc: "",
Camera: CameraFixtures.Pointer("canon-eos-6d"),
CameraID: CameraFixtures.Pointer("canon-eos-6d").ID,
Lens: LensFixtures.Pointer("lens-f-380"),
LensID: LensFixtures.Pointer("lens-f-380").ID,
Keywords: []Keyword{},
Albums: []Album{},
Files: []File{},
Labels: []PhotoLabel{},
CreatedAt: time.Date(2009, 1, 1, 0, 0, 0, 0, time.UTC),
UpdatedAt: time.Date(2010, 1, 1, 0, 0, 0, 0, time.UTC),
EditedAt: nil,
DeletedAt: nil,
},
}

// CreatePhotoFixtures inserts known entities into the database for testing.
Expand Down
54 changes: 51 additions & 3 deletions internal/entity/photo_test.go
Expand Up @@ -723,30 +723,78 @@ func TestPhoto_UpdateTimeZone(t *testing.T) {
func TestPhoto_SetCoordinates(t *testing.T) {
t.Run("empty coordinates", func(t *testing.T) {
m := PhotoFixtures.Get("Photo15")
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)

m.SetCoordinates(0, 0, 5, SrcManual)
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)
})
t.Run("different source", func(t *testing.T) {
t.Run("same source new values", func(t *testing.T) {
m := PhotoFixtures.Get("Photo15")
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)

m.SetCoordinates(5.555, 5.555, 5, SrcLocation)
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(5.555), m.PhotoLat)
assert.Equal(t, float32(5.555), m.PhotoLng)
assert.Equal(t, 5, m.PhotoAltitude)
})
t.Run("different source lower priority", func(t *testing.T) {
m := PhotoFixtures.Get("Photo15")
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)

m.SetCoordinates(5.555, 5.555, 5, SrcName)
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)
})
t.Run("success", func(t *testing.T) {
t.Run("different source equal priority", func(t *testing.T) {
m := PhotoFixtures.Get("Photo15")
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)
m.SetCoordinates(5.555, 5.555, 5, SrcLocation)
assert.Equal(t, SrcLocation, m.PlaceSrc)

m.SetCoordinates(5.555, 5.555, 5, SrcImage)
assert.Equal(t, float32(5.555), m.PhotoLat)
assert.Equal(t, float32(5.555), m.PhotoLng)
assert.Equal(t, 5, m.PhotoAltitude)
})
t.Run("different source higher priority", func(t *testing.T) {
m := PhotoFixtures.Get("Photo21")
assert.Equal(t, SrcEstimate, m.PlaceSrc)
assert.Equal(t, float32(0), m.PhotoLat)
assert.Equal(t, float32(0), m.PhotoLng)
assert.Equal(t, 0, m.PhotoAltitude)

m.SetCoordinates(5.555, 5.555, 5, SrcMeta)
assert.Equal(t, SrcMeta, m.PlaceSrc)
assert.Equal(t, float32(5.555), m.PhotoLat)
assert.Equal(t, float32(5.555), m.PhotoLng)
assert.Equal(t, 5, m.PhotoAltitude)
})
t.Run("different source highest priority (manual)", func(t *testing.T) {
m := PhotoFixtures.Get("Photo15")
assert.Equal(t, SrcLocation, m.PlaceSrc)
assert.Equal(t, float32(1.234), m.PhotoLat)
assert.Equal(t, float32(4.321), m.PhotoLng)
assert.Equal(t, 3, m.PhotoAltitude)

m.SetCoordinates(5.555, 5.555, 5, SrcManual)
assert.Equal(t, SrcManual, m.PlaceSrc)
assert.Equal(t, float32(5.555), m.PhotoLat)
assert.Equal(t, float32(5.555), m.PhotoLng)
assert.Equal(t, 5, m.PhotoAltitude)
Expand Down

0 comments on commit c27e809

Please sign in to comment.