photoprism/internal/entity/album_test.go
2019-12-17 18:25:13 +01:00

46 lines
1.3 KiB
Go

package entity
import (
"testing"
"time"
"github.com/gosimple/slug"
"github.com/stretchr/testify/assert"
)
func TestNewAlbum(t *testing.T) {
t.Run("name Christmas 2018", func(t *testing.T) {
album := NewAlbum("Christmas 2018")
assert.Equal(t, "Christmas 2018", album.AlbumName)
assert.Equal(t, "christmas-2018", album.AlbumSlug)
})
t.Run("name empty", func(t *testing.T) {
album := NewAlbum("")
defaultName := time.Now().Format("January 2006")
defaultSlug := slug.Make(defaultName)
assert.Equal(t, defaultName, album.AlbumName)
assert.Equal(t, defaultSlug, album.AlbumSlug)
})
}
func TestRename(t *testing.T) {
t.Run("valid name", func(t *testing.T) {
album := NewAlbum("initial name")
assert.Equal(t, "initial name", album.AlbumName)
assert.Equal(t, "initial-name", album.AlbumSlug)
album.Rename("new album name")
assert.Equal(t, "new album name", album.AlbumName)
assert.Equal(t, "new-album-name", album.AlbumSlug)
})
t.Run("empty name", func(t *testing.T) {
album := NewAlbum("initial name")
assert.Equal(t, "initial name", album.AlbumName)
assert.Equal(t, "initial-name", album.AlbumSlug)
t.Log(album.CreatedAt)
album.Rename("")
assert.Equal(t, "January 0001", album.AlbumName)
assert.Equal(t, "january-0001", album.AlbumSlug)
})
}