refac: article reads, story delete, no leaks, stored SEO status, rate limit, cleanup (%site%, article repo split, old lang repos, one default per site rule to domain)
This commit is contained in:
1 parent
9d284e65a9
commit
7c15206170
85 files changed
+1788
-593
No files matched your search
@@ -3,7 +3,7 @@ package test
|
||||
import (
|
||||
domainArticle "RenewCMS/internal/domain/article"
|
||||
authordomain "RenewCMS/internal/domain/author"
|
||||
"RenewCMS/internal/domain/language"
|
||||
"RenewCMS/internal/domain/localization"
|
||||
"RenewCMS/internal/infrastructure/persistence/database"
|
||||
entity "RenewCMS/internal/infrastructure/persistence/models"
|
||||
persistence "RenewCMS/internal/infrastructure/persistence/repositories"
|
||||
@@ -177,7 +177,17 @@ func createTitled(db *gorm.DB, title string) (domainArticle.Article, error) {
|
||||
}
|
||||
|
||||
func confirmDefaultLanguage(db *gorm.DB, siteID uint32) error {
|
||||
return useCases.NewConfirmDefaultLanguageUseCase(persistence.NewTransactor(db)).Confirm(context.Background(), siteID)
|
||||
var found entity.Site
|
||||
if err := db.First(&found, siteID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
var seeded entity.SiteLanguage
|
||||
if err := db.Where("site_id = ? AND is_default = ?", siteID, true).First(&seeded).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
setup := useCases.NewApplyLanguageSetupUseCase(persistence.NewTransactor(db), discardRecorder)
|
||||
_, err := setup.Apply(context.Background(), []localization.SetupChoice{{Key: found.Key, Lang: seeded.Lang}})
|
||||
return err
|
||||
}
|
||||
|
||||
func newStorageArticle(siteID uint32, lang string, slug string, storyID uint32) domainArticle.Article {
|
||||
@@ -219,7 +229,7 @@ func runArticleLocalizationStorage(t *testing.T, open func(*testing.T) *gorm.DB)
|
||||
|
||||
migrateStorage(t, db)
|
||||
|
||||
languages, err := persistence.NewSiteLanguageRepository(db).ListBySite(site.ID)
|
||||
languages, err := persistence.NewLocalizationRepository(db).Rows(site.ID)
|
||||
if err != nil || len(languages) != 1 || languages[0].Tag != "fr" || languages[0].Confirmed {
|
||||
t.Errorf("expected one unconfirmed fr row, got %+v %v", languages, err)
|
||||
}
|
||||
@@ -560,17 +570,6 @@ func runArticleLocalizationStorage(t *testing.T, open func(*testing.T) *gorm.DB)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Confirming a site without a default language is refused", func(t *testing.T) {
|
||||
db := open(t)
|
||||
site := storageDefaultSite(t, db)
|
||||
|
||||
err := confirmDefaultLanguage(db, site.ID)
|
||||
|
||||
if !errors.Is(err, language.ErrNoDefaultLanguage) {
|
||||
t.Errorf("expected ErrNoDefaultLanguage, got %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Unique indexes replace the per-site slug index", func(t *testing.T) {
|
||||
db := open(t)
|
||||
for _, name := range []string{storyLanguageIndexName, siteSlugIndexName} {
|
||||
|
||||
Reference in new issue
Block a user