mirror of https://github.com/stashapp/stash.git
166 lines
3.5 KiB
Go
166 lines
3.5 KiB
Go
package image
|
|
|
|
// import (
|
|
// "errors"
|
|
|
|
// "github.com/stashapp/stash/pkg/file"
|
|
// "github.com/stashapp/stash/pkg/models"
|
|
// "github.com/stashapp/stash/pkg/models/json"
|
|
// "github.com/stashapp/stash/pkg/models/jsonschema"
|
|
// "github.com/stashapp/stash/pkg/models/mocks"
|
|
// "github.com/stretchr/testify/assert"
|
|
|
|
// "testing"
|
|
// "time"
|
|
// )
|
|
|
|
// const (
|
|
// imageID = 1
|
|
// errImageID = 3
|
|
|
|
// studioID = 4
|
|
// missingStudioID = 5
|
|
// errStudioID = 6
|
|
// )
|
|
|
|
// var (
|
|
// checksum = "checksum"
|
|
// title = "title"
|
|
// rating = 5
|
|
// organized = true
|
|
// ocounter = 2
|
|
// size int64 = 123
|
|
// width = 100
|
|
// height = 100
|
|
// )
|
|
|
|
// const (
|
|
// studioName = "studioName"
|
|
// )
|
|
|
|
// var (
|
|
// createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
|
|
// updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
|
|
// )
|
|
|
|
// func createFullImage(id int) models.Image {
|
|
// return models.Image{
|
|
// ID: id,
|
|
// Title: title,
|
|
// Files: []*file.ImageFile{
|
|
// {
|
|
// BaseFile: &file.BaseFile{
|
|
// Size: size,
|
|
// },
|
|
// Height: height,
|
|
// Width: width,
|
|
// },
|
|
// },
|
|
// OCounter: ocounter,
|
|
// Rating: &rating,
|
|
// Organized: organized,
|
|
// CreatedAt: createTime,
|
|
// UpdatedAt: updateTime,
|
|
// }
|
|
// }
|
|
|
|
// func createFullJSONImage() *jsonschema.Image {
|
|
// return &jsonschema.Image{
|
|
// Title: title,
|
|
// Checksum: checksum,
|
|
// OCounter: ocounter,
|
|
// Rating: rating,
|
|
// Organized: organized,
|
|
// File: &jsonschema.ImageFile{
|
|
// Height: height,
|
|
// Size: size,
|
|
// Width: width,
|
|
// },
|
|
// CreatedAt: json.JSONTime{
|
|
// Time: createTime,
|
|
// },
|
|
// UpdatedAt: json.JSONTime{
|
|
// Time: updateTime,
|
|
// },
|
|
// }
|
|
// }
|
|
|
|
// type basicTestScenario struct {
|
|
// input models.Image
|
|
// expected *jsonschema.Image
|
|
// }
|
|
|
|
// var scenarios = []basicTestScenario{
|
|
// {
|
|
// createFullImage(imageID),
|
|
// createFullJSONImage(),
|
|
// },
|
|
// }
|
|
|
|
// func TestToJSON(t *testing.T) {
|
|
// for i, s := range scenarios {
|
|
// image := s.input
|
|
// json := ToBasicJSON(&image)
|
|
|
|
// assert.Equal(t, s.expected, json, "[%d]", i)
|
|
// }
|
|
// }
|
|
|
|
// func createStudioImage(studioID int) models.Image {
|
|
// return models.Image{
|
|
// StudioID: &studioID,
|
|
// }
|
|
// }
|
|
|
|
// type stringTestScenario struct {
|
|
// input models.Image
|
|
// expected string
|
|
// err bool
|
|
// }
|
|
|
|
// var getStudioScenarios = []stringTestScenario{
|
|
// {
|
|
// createStudioImage(studioID),
|
|
// studioName,
|
|
// false,
|
|
// },
|
|
// {
|
|
// createStudioImage(missingStudioID),
|
|
// "",
|
|
// false,
|
|
// },
|
|
// {
|
|
// createStudioImage(errStudioID),
|
|
// "",
|
|
// true,
|
|
// },
|
|
// }
|
|
|
|
// func TestGetStudioName(t *testing.T) {
|
|
// mockStudioReader := &mocks.StudioReaderWriter{}
|
|
|
|
// studioErr := errors.New("error getting image")
|
|
|
|
// mockStudioReader.On("Find", testCtx, studioID).Return(&models.Studio{
|
|
// Name: models.NullString(studioName),
|
|
// }, nil).Once()
|
|
// mockStudioReader.On("Find", testCtx, missingStudioID).Return(nil, nil).Once()
|
|
// mockStudioReader.On("Find", testCtx, errStudioID).Return(nil, studioErr).Once()
|
|
|
|
// for i, s := range getStudioScenarios {
|
|
// image := s.input
|
|
// json, err := GetStudioName(testCtx, mockStudioReader, &image)
|
|
|
|
// switch {
|
|
// case !s.err && err != nil:
|
|
// t.Errorf("[%d] unexpected error: %s", i, err.Error())
|
|
// case s.err && err == nil:
|
|
// t.Errorf("[%d] expected error not returned", i)
|
|
// default:
|
|
// assert.Equal(t, s.expected, json, "[%d]", i)
|
|
// }
|
|
// }
|
|
|
|
// mockStudioReader.AssertExpectations(t)
|
|
// }
|