test(15-04): complete PHPUnit map, migrations, FormatHTML, and search-gate tests
Named JOURNAL-001/002 fillable, FormatHTML unsafe tags, rollback/remigrate, RSS/categories/tags/media, and TestSearchGateOff with zero Typesense HTTP. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
58
models/translatable_test.go
Normal file
58
models/translatable_test.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package models_test
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"git.golem15.com/golem15/sm-journal-plugin/models"
|
||||
)
|
||||
|
||||
type translatable interface {
|
||||
Translatable() []string
|
||||
}
|
||||
|
||||
type translatableIndexed interface {
|
||||
TranslatableIndexes() []string
|
||||
}
|
||||
|
||||
func TestTranslatable(t *testing.T) {
|
||||
post := models.Post{}
|
||||
if post.MorphName() != `Golem15\Journal\Models\Post` {
|
||||
t.Fatalf("Post.MorphName = %q", post.MorphName())
|
||||
}
|
||||
if got := post.Translatable(); !reflect.DeepEqual(got, []string{"title", "content", "content_html", "excerpt", "metadata", "slug"}) {
|
||||
t.Fatalf("Post.Translatable = %#v", got)
|
||||
}
|
||||
if got := post.TranslatableIndexes(); !reflect.DeepEqual(got, []string{"slug"}) {
|
||||
t.Fatalf("Post.TranslatableIndexes = %#v", got)
|
||||
}
|
||||
|
||||
cat := models.Category{}
|
||||
if cat.MorphName() != `Golem15\Journal\Models\Category` {
|
||||
t.Fatalf("Category.MorphName = %q", cat.MorphName())
|
||||
}
|
||||
if got := cat.Translatable(); !reflect.DeepEqual(got, []string{"name", "description", "slug"}) {
|
||||
t.Fatalf("Category.Translatable = %#v", got)
|
||||
}
|
||||
if got := cat.TranslatableIndexes(); !reflect.DeepEqual(got, []string{"slug"}) {
|
||||
t.Fatalf("Category.TranslatableIndexes = %#v", got)
|
||||
}
|
||||
|
||||
tag := models.Tag{}
|
||||
if tag.MorphName() != `Golem15\Journal\Models\Tag` {
|
||||
t.Fatalf("Tag.MorphName = %q", tag.MorphName())
|
||||
}
|
||||
if _, ok := any(tag).(translatable); ok {
|
||||
t.Fatal("Tag must not implement Translatable")
|
||||
}
|
||||
if _, ok := any(tag).(translatableIndexed); ok {
|
||||
t.Fatal("Tag must not implement TranslatableIndexes")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterScopes(t *testing.T) {
|
||||
got := (models.Post{}).FilterScopes()
|
||||
if !reflect.DeepEqual(got, []string{models.FilterPublished, models.FilterCategories}) {
|
||||
t.Fatalf("FilterScopes = %#v", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user