refac: missing mutation tests, spa specs, checks shown to pass, touch targets, catalogue entry, production code

This commit is contained in:
Florian Sylvain committed 2026-11-04 03:04:35 +01:00
1 parent 7c15206170
commit 3e02e14da4
48 files changed
+2173 -83

No files matched your search

+13 -1
View File
@@ -16,6 +16,7 @@ import (
"net/http/httptest"
"slices"
"strings"
"sync"
"testing"
"github.com/go-chi/chi/v5"
@@ -32,6 +33,7 @@ const (
var errInjectedConfirm = errors.New("injected confirm failure")
type fakeLocalizationStore struct {
mu sync.Mutex
articles *mockArticleRepo
rows map[uint32][]localization.Row
trashed map[uint32]map[string]int
@@ -49,10 +51,14 @@ func newFakeLocalizationStore(articles *mockArticleRepo) *fakeLocalizationStore
}
func (f *fakeLocalizationStore) Rows(siteID uint32) ([]localization.Row, error) {
f.mu.Lock()
defer f.mu.Unlock()
return slices.Clone(f.rows[siteID]), nil
}
func (f *fakeLocalizationStore) ConfirmedSites() (map[uint32]bool, error) {
f.mu.Lock()
defer f.mu.Unlock()
confirmed := map[uint32]bool{}
for siteID, rows := range f.rows {
if !localization.NeedsSetup(rows) {
@@ -63,6 +69,8 @@ func (f *fakeLocalizationStore) ConfirmedSites() (map[uint32]bool, error) {
}
func (f *fakeLocalizationStore) VersionCounts(siteID uint32) (map[string]localization.VersionCount, error) {
f.mu.Lock()
defer f.mu.Unlock()
counts := map[string]localization.VersionCount{}
for _, stored := range f.articles.articles {
if stored.SiteID != siteID {
@@ -84,12 +92,16 @@ func (f *fakeLocalizationStore) VersionCounts(siteID uint32) (map[string]localiz
}
func (f *fakeLocalizationStore) Replace(siteID uint32, rows []localization.Row) error {
f.mu.Lock()
defer f.mu.Unlock()
f.replaceCalls++
f.rows[siteID] = slices.Clone(rows)
return nil
}
func (f *fakeLocalizationStore) ConfirmSetup(siteID uint32, tag string) error {
f.mu.Lock()
defer f.mu.Unlock()
f.confirmCalls++
if f.failConfirmAt == f.confirmCalls {
return errInjectedConfirm
@@ -156,7 +168,7 @@ func newLocalizationEnv(t *testing.T) *localizationEnv {
transactor := &rollbackLocalizationTransactor{store: store, sites: sites}
c := e.container
c.ListSitesUseCase = useCases.NewListSitesUseCase(sites)
c.UpdateSiteUseCase = useCases.NewUpdateSiteUseCase(sites, e.images, e.audit.recorder, e.articles)
c.UpdateSiteUseCase = useCases.NewUpdateSiteUseCase(sites, e.images, e.audit.recorder, siteWriteTransactor(sites, e.articles))
c.GetSiteLanguagesUseCase = useCases.NewGetSiteLanguagesUseCase(sites, store)
c.UpdateSiteLanguagesUseCase = useCases.NewUpdateSiteLanguagesUseCase(transactor, e.audit.recorder)
c.GetLanguageSetupUseCase = useCases.NewGetLanguageSetupUseCase(sites, store)