stash/pkg/models/querybuilder_gallery_test.go

108 lines
2.2 KiB
Go

// +build integration
package models_test
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stashapp/stash/pkg/models"
)
func TestGalleryFind(t *testing.T) {
gqb := models.NewGalleryQueryBuilder()
const galleryIdx = 0
gallery, err := gqb.Find(galleryIDs[galleryIdx])
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Equal(t, getGalleryStringValue(galleryIdx, "Path"), gallery.Path)
gallery, err = gqb.Find(0)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Nil(t, gallery)
}
func TestGalleryFindByChecksum(t *testing.T) {
gqb := models.NewGalleryQueryBuilder()
const galleryIdx = 0
galleryChecksum := getGalleryStringValue(galleryIdx, "Checksum")
gallery, err := gqb.FindByChecksum(galleryChecksum, nil)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Equal(t, getGalleryStringValue(galleryIdx, "Path"), gallery.Path)
galleryChecksum = "not exist"
gallery, err = gqb.FindByChecksum(galleryChecksum, nil)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Nil(t, gallery)
}
func TestGalleryFindByPath(t *testing.T) {
gqb := models.NewGalleryQueryBuilder()
const galleryIdx = 0
galleryPath := getGalleryStringValue(galleryIdx, "Path")
gallery, err := gqb.FindByPath(galleryPath)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Equal(t, galleryPath, gallery.Path)
galleryPath = "not exist"
gallery, err = gqb.FindByPath(galleryPath)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Nil(t, gallery)
}
func TestGalleryFindBySceneID(t *testing.T) {
gqb := models.NewGalleryQueryBuilder()
sceneID := sceneIDs[sceneIdxWithGallery]
gallery, err := gqb.FindBySceneID(sceneID, nil)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Equal(t, getGalleryStringValue(galleryIdxWithScene, "Path"), gallery.Path)
gallery, err = gqb.FindBySceneID(0, nil)
if err != nil {
t.Fatalf("Error finding gallery: %s", err.Error())
}
assert.Nil(t, gallery)
}
// TODO ValidGalleriesForScenePath
// TODO Count
// TODO All
// TODO Query
// TODO Update
// TODO Destroy
// TODO ClearGalleryId