mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
SQLite model refactoring (#3791)
* Remove ID from PerformerPartial * Separate studio model from sqlite model * Separate movie model from sqlite model * Separate tag model from sqlite model * Separate saved filter model from sqlite model * Separate scene marker model from sqlite model * Separate gallery chapter model from sqlite model * Move ErrNoRows checks into sqlite, improve empty result error messages * Move SQLiteDate and SQLiteTimestamp to sqlite * Use changesetTranslator everywhere, refactor for consistency * Make PerformerStore.DestroyImage private * Fix rating on movie create
This commit is contained in:
@@ -5,7 +5,6 @@ package sqlite_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"math"
|
||||
"path/filepath"
|
||||
@@ -1442,7 +1441,7 @@ func Test_sceneQueryBuilder_Destroy(t *testing.T) {
|
||||
// ensure cannot be found
|
||||
i, err := qb.Find(ctx, tt.id)
|
||||
|
||||
assert.NotNil(err)
|
||||
assert.Nil(err)
|
||||
assert.Nil(i)
|
||||
})
|
||||
}
|
||||
@@ -1478,7 +1477,7 @@ func Test_sceneQueryBuilder_Find(t *testing.T) {
|
||||
"invalid",
|
||||
invalidID,
|
||||
nil,
|
||||
true,
|
||||
false,
|
||||
},
|
||||
{
|
||||
"with galleries",
|
||||
@@ -2589,39 +2588,6 @@ func verifyScenesPath(t *testing.T, pathCriterion models.StringCriterionInput) {
|
||||
})
|
||||
}
|
||||
|
||||
func verifyNullString(t *testing.T, value sql.NullString, criterion models.StringCriterionInput) {
|
||||
t.Helper()
|
||||
assert := assert.New(t)
|
||||
if criterion.Modifier == models.CriterionModifierIsNull {
|
||||
if value.Valid && value.String == "" {
|
||||
// correct
|
||||
return
|
||||
}
|
||||
assert.False(value.Valid, "expect is null values to be null")
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierNotNull {
|
||||
assert.True(value.Valid, "expect is null values to be null")
|
||||
assert.Greater(len(value.String), 0)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierEquals {
|
||||
assert.Equal(criterion.Value, value.String)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierNotEquals {
|
||||
assert.NotEqual(criterion.Value, value.String)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierMatchesRegex {
|
||||
assert.True(value.Valid)
|
||||
assert.Regexp(regexp.MustCompile(criterion.Value), value)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierNotMatchesRegex {
|
||||
if !value.Valid {
|
||||
// correct
|
||||
return
|
||||
}
|
||||
assert.NotRegexp(regexp.MustCompile(criterion.Value), value)
|
||||
}
|
||||
}
|
||||
|
||||
func verifyStringPtr(t *testing.T, value *string, criterion models.StringCriterionInput) {
|
||||
t.Helper()
|
||||
assert := assert.New(t)
|
||||
@@ -2761,29 +2727,6 @@ func verifyScenesRating100(t *testing.T, ratingCriterion models.IntCriterionInpu
|
||||
})
|
||||
}
|
||||
|
||||
func verifyInt64(t *testing.T, value sql.NullInt64, criterion models.IntCriterionInput) {
|
||||
t.Helper()
|
||||
assert := assert.New(t)
|
||||
if criterion.Modifier == models.CriterionModifierIsNull {
|
||||
assert.False(value.Valid, "expect is null values to be null")
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierNotNull {
|
||||
assert.True(value.Valid, "expect is null values to be null")
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierEquals {
|
||||
assert.Equal(int64(criterion.Value), value.Int64)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierNotEquals {
|
||||
assert.NotEqual(int64(criterion.Value), value.Int64)
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierGreaterThan {
|
||||
assert.True(value.Int64 > int64(criterion.Value))
|
||||
}
|
||||
if criterion.Modifier == models.CriterionModifierLessThan {
|
||||
assert.True(value.Int64 < int64(criterion.Value))
|
||||
}
|
||||
}
|
||||
|
||||
func verifyIntPtr(t *testing.T, value *int, criterion models.IntCriterionInput) {
|
||||
t.Helper()
|
||||
assert := assert.New(t)
|
||||
|
||||
Reference in New Issue
Block a user