refac: missing mutation tests, spa specs, checks shown to pass, touch targets, catalogue entry, production code
This commit is contained in:
1 parent
7c15206170
commit
3e02e14da4
48 files changed
+2173
-83
No files matched your search
@@ -97,7 +97,8 @@ func Plan(current []Row, counts map[string]VersionCount, change Change) ([]Row,
|
||||
confirmed := map[string]bool{}
|
||||
for _, row := range current {
|
||||
confirmed[row.Tag] = row.Confirmed
|
||||
if !slices.ContainsFunc(entries, func(entry Entry) bool { return entry.Tag == row.Tag }) && counts[row.Tag].Total+counts[row.Tag].Trashed > 0 {
|
||||
removed := !slices.ContainsFunc(entries, func(entry Entry) bool { return entry.Tag == row.Tag })
|
||||
if removed && counts[row.Tag].Total+counts[row.Tag].Trashed > 0 {
|
||||
return nil, ErrLanguageInUse
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package useCases
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/article"
|
||||
"RenewCMS/internal/domain/audit"
|
||||
"RenewCMS/internal/domain/image"
|
||||
"RenewCMS/internal/domain/site"
|
||||
"RenewCMS/internal/domain/transaction"
|
||||
"context"
|
||||
)
|
||||
|
||||
@@ -12,11 +12,11 @@ type UpdateSiteUseCase struct {
|
||||
siteRepository site.Repository
|
||||
imageRepository image.Repository
|
||||
recorder audit.Recorder
|
||||
articleSEO article.SEOIndex
|
||||
transactor transaction.Transactor
|
||||
}
|
||||
|
||||
func NewUpdateSiteUseCase(siteRepository site.Repository, imageRepository image.Repository, recorder audit.Recorder, articleSEO article.SEOIndex) *UpdateSiteUseCase {
|
||||
return &UpdateSiteUseCase{siteRepository, imageRepository, recorder, articleSEO}
|
||||
func NewUpdateSiteUseCase(siteRepository site.Repository, imageRepository image.Repository, recorder audit.Recorder, transactor transaction.Transactor) *UpdateSiteUseCase {
|
||||
return &UpdateSiteUseCase{siteRepository, imageRepository, recorder, transactor}
|
||||
}
|
||||
|
||||
func (u *UpdateSiteUseCase) Update(ctx context.Context, id uint32, patch site.Patch) (site.Site, error) {
|
||||
@@ -37,7 +37,7 @@ func (u *UpdateSiteUseCase) Update(ctx context.Context, id uint32, patch site.Pa
|
||||
if len(changes) == 0 {
|
||||
return before, nil
|
||||
}
|
||||
saved, err := u.siteRepository.Update(after)
|
||||
saved, err := u.save(ctx, before, after)
|
||||
if err != nil {
|
||||
recordFailure(ctx, u.recorder, event, err)
|
||||
return site.Site{}, err
|
||||
@@ -45,12 +45,25 @@ func (u *UpdateSiteUseCase) Update(ctx context.Context, id uint32, patch site.Pa
|
||||
event.Target = siteTarget(saved)
|
||||
event.Changes = changes
|
||||
u.recorder.Record(ctx, event)
|
||||
if before.DefaultDescription != saved.DefaultDescription {
|
||||
return saved, u.articleSEO.MarkSiteSEOStale(saved.ID)
|
||||
}
|
||||
return saved, nil
|
||||
}
|
||||
|
||||
func (u *UpdateSiteUseCase) save(ctx context.Context, before site.Site, after site.Site) (site.Site, error) {
|
||||
var saved site.Site
|
||||
err := u.transactor.Run(ctx, func(tx transaction.Repositories) error {
|
||||
var err error
|
||||
saved, err = tx.Sites.Update(after)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if before.DefaultDescription == saved.DefaultDescription {
|
||||
return nil
|
||||
}
|
||||
return tx.ArticleSEO.MarkSiteSEOStale(saved.ID)
|
||||
})
|
||||
return saved, err
|
||||
}
|
||||
|
||||
func (u *UpdateSiteUseCase) apply(before site.Site, patch site.Patch) (site.Site, error) {
|
||||
after := before
|
||||
if patch.IsDefault != nil {
|
||||
|
||||
Reference in new issue
Block a user