photoprism/internal/entity/photo_album_test.go
Michael Mayer 713593da4e Auth: Add CLI command to create access tokens for apps #782 #808 #3943
You can now run "photoprism auth add" to create new client access tokens
that allow external applications to use the built-in REST API.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-05 16:31:07 +01:00

71 lines
1.6 KiB
Go

package entity
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewPhotoAlbum(t *testing.T) {
t.Run("new album", func(t *testing.T) {
m := NewPhotoAlbum("ABC", "EFG")
assert.Equal(t, "ABC", m.PhotoUID)
assert.Equal(t, "EFG", m.AlbumUID)
})
}
func TestPhotoAlbum_TableName(t *testing.T) {
photoAlbum := &PhotoAlbum{}
tableName := photoAlbum.TableName()
assert.Equal(t, "photos_albums", tableName)
}
func TestFirstOrCreatePhotoAlbum(t *testing.T) {
t.Run("existing album", func(t *testing.T) {
model := PhotoAlbumFixtures.Get("1", "ps6sg6be2lvl0yh7", "as6sg6bxpogaaba8")
result := FirstOrCreatePhotoAlbum(&model)
if result == nil {
t.Fatal("result should not be nil")
}
if result.AlbumUID != model.AlbumUID {
t.Errorf("AlbumUID should be the same: %s %s", result.AlbumUID, model.AlbumUID)
}
if result.PhotoUID != model.PhotoUID {
t.Errorf("PhotoUID should be the same: %s %s", result.PhotoUID, model.PhotoUID)
}
})
//TODO fails on mariadb
t.Run("not yet existing album", func(t *testing.T) {
model := &PhotoAlbum{}
result := FirstOrCreatePhotoAlbum(model)
if result == nil {
t.Fatal("result should not be nil")
}
if result.AlbumUID != model.AlbumUID {
t.Errorf("AlbumUID should be the same: %s %s", result.AlbumUID, model.AlbumUID)
}
if result.PhotoUID != model.PhotoUID {
t.Errorf("PhotoUID should be the same: %s %s", result.PhotoUID, model.PhotoUID)
}
})
}
// TODO fails on mariadb
func TestPhotoAlbum_Save(t *testing.T) {
t.Run("success", func(t *testing.T) {
p := PhotoAlbum{}
err := p.Create()
if err != nil {
t.Fatal(err)
}
})
}