photoprism/internal/entity/folder_test.go
Michael Mayer a91206a509 Universal sidecar configuration, indexing with multiple roots #268 #348
Slowly getting to the point where only very few people are able to maintain this codebase :)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:09:35 +02:00

111 lines
3.4 KiB
Go

package entity
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewFolder(t *testing.T) {
t.Run("2020/05", func(t *testing.T) {
folder := NewFolder(RootOriginals, "2020/05", nil)
assert.Equal(t, RootOriginals, folder.Root)
assert.Equal(t, "2020/05", folder.Path)
assert.Equal(t, "May 2020", folder.FolderTitle)
assert.Equal(t, "", folder.FolderDescription)
assert.Equal(t, "", folder.FolderType)
assert.Equal(t, SortOrderName, folder.FolderOrder)
assert.IsType(t, "", folder.FolderUID)
assert.Equal(t, false, folder.FolderFavorite)
assert.Equal(t, false, folder.FolderIgnore)
assert.Equal(t, false, folder.FolderWatch)
assert.Equal(t, 2020, folder.FolderYear)
assert.Equal(t, 5, folder.FolderMonth)
assert.Equal(t, "zz", folder.FolderCountry)
})
t.Run("/2020/05/01/", func(t *testing.T) {
folder := NewFolder(RootOriginals, "/2020/05/01/", nil)
assert.Equal(t, "2020/05/01", folder.Path)
assert.Equal(t, "May 2020", folder.FolderTitle)
assert.Equal(t, 2020, folder.FolderYear)
assert.Equal(t, 5, folder.FolderMonth)
assert.Equal(t, "zz", folder.FolderCountry)
})
t.Run("/2020/05/23/", func(t *testing.T) {
folder := NewFolder(RootImport, "/2020/05/23/", nil)
assert.Equal(t, "2020/05/23", folder.Path)
assert.Equal(t, "May 23, 2020", folder.FolderTitle)
assert.Equal(t, 2020, folder.FolderYear)
assert.Equal(t, 5, folder.FolderMonth)
assert.Equal(t, "zz", folder.FolderCountry)
})
t.Run("/2020/05/23/Iceland 2020", func(t *testing.T) {
folder := NewFolder(RootOriginals, "/2020/05/23/Iceland 2020", nil)
assert.Equal(t, "2020/05/23/Iceland 2020", folder.Path)
assert.Equal(t, "Iceland 2020", folder.FolderTitle)
assert.Equal(t, 2020, folder.FolderYear)
assert.Equal(t, 5, folder.FolderMonth)
assert.Equal(t, "is", folder.FolderCountry)
})
t.Run("/London/2020/05/23", func(t *testing.T) {
folder := NewFolder(RootOriginals, "/London/2020/05/23", nil)
assert.Equal(t, "London/2020/05/23", folder.Path)
assert.Equal(t, "May 23, 2020", folder.FolderTitle)
assert.Equal(t, 2020, folder.FolderYear)
assert.Equal(t, 5, folder.FolderMonth)
assert.Equal(t, "gb", folder.FolderCountry)
})
t.Run("empty", func(t *testing.T) {
folder := NewFolder(RootOriginals, "", nil)
assert.Equal(t, "", folder.Path)
assert.Equal(t, "Originals", folder.FolderTitle)
assert.Equal(t, 0, folder.FolderYear)
assert.Equal(t, 0, folder.FolderMonth)
assert.Equal(t, "zz", folder.FolderCountry)
})
t.Run("root", func(t *testing.T) {
folder := NewFolder(RootOriginals, RootPath, nil)
assert.Equal(t, "", folder.Path)
assert.Equal(t, "Originals", folder.FolderTitle)
assert.Equal(t, 0, folder.FolderYear)
assert.Equal(t, 0, folder.FolderMonth)
assert.Equal(t, "zz", folder.FolderCountry)
})
}
func TestFirstOrCreateFolder(t *testing.T) {
folder := NewFolder(RootOriginals, RootPath, nil)
result := FirstOrCreateFolder(&folder)
if result == nil {
t.Fatal("result should not be nil")
}
if folder.FolderTitle != "Originals" {
t.Errorf("FolderTitle should be 'Originals'")
}
if folder.FolderCountry != "zz" {
t.Errorf("FolderCountry should be 'zz'")
}
found := FindFolder(RootOriginals, RootPath)
if found == nil {
t.Fatal("found should not be nil")
}
if found.FolderTitle != "Originals" {
t.Errorf("FolderTitle should be 'Originals'")
}
if found.FolderCountry != "zz" {
t.Errorf("FolderCountry should be 'zz'")
}
}