feat: editor write path
This commit is contained in:
1 parent
d9158025d4
commit
a0b3c58c52
88 files changed
+5738
-263
No files matched your search
@@ -2,6 +2,7 @@ package test
|
||||
|
||||
import (
|
||||
articlehandler "RenewCMS/api/handlers/article"
|
||||
"RenewCMS/api/pkg/validator"
|
||||
"RenewCMS/internal/domain/article"
|
||||
"RenewCMS/internal/infrastructure/useCases"
|
||||
"math"
|
||||
@@ -59,12 +60,11 @@ func TestSeoOutputListPagingNeverPanics(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSeoOutputContractParity(t *testing.T) {
|
||||
oneof := "oneof=" + strings.Join(article.DismissCodes(), " ")
|
||||
max := "max=" + strconv.Itoa(article.MaxCanonicalURLRunes)
|
||||
for _, subject := range []reflect.Type{reflect.TypeOf(articlehandler.CheckArticleSEOBody{}), reflect.TypeOf(articlehandler.UpdateArticleBody{})} {
|
||||
dismissed, _ := subject.FieldByName("SEODismissed")
|
||||
if !strings.HasSuffix(dismissed.Tag.Get("validate"), oneof) {
|
||||
t.Errorf("%s seo_dismissed tag %q lacks %q", subject.Name(), dismissed.Tag.Get("validate"), oneof)
|
||||
if !strings.HasSuffix(dismissed.Tag.Get("validate"), validator.SEODismissedTag) {
|
||||
t.Errorf("%s seo_dismissed tag %q lacks %q", subject.Name(), dismissed.Tag.Get("validate"), validator.SEODismissedTag)
|
||||
}
|
||||
canonical, _ := subject.FieldByName("CanonicalURL")
|
||||
if !strings.Contains(canonical.Tag.Get("validate"), max) {
|
||||
@@ -82,3 +82,17 @@ func TestSeoOutputContractParity(t *testing.T) {
|
||||
t.Errorf("seo=bogus: %d", rec.Code)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSeoDismissedValidatorFollowsTheDomainCodes(t *testing.T) {
|
||||
validator.InitValidator()
|
||||
for _, code := range article.DismissCodes() {
|
||||
request := articlehandler.UpdateArticleBody{SEODismissed: &[]string{code}}
|
||||
if err := validator.Validate.Struct(request); err != nil {
|
||||
t.Errorf("%s must be accepted: %v", code, err)
|
||||
}
|
||||
}
|
||||
request := articlehandler.UpdateArticleBody{SEODismissed: &[]string{"bogus"}}
|
||||
if err := validator.Validate.Struct(request); err == nil {
|
||||
t.Error("an unknown code must be refused")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user