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>
59 lines
1.7 KiB
Go
59 lines
1.7 KiB
Go
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)
|
|
}
|
|
}
|