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

+28
View File
@@ -10,6 +10,7 @@ import (
"sort"
"strconv"
"strings"
"sync"
"testing"
"time"
)
@@ -73,6 +74,7 @@ func (m *mockImageStorage) Delete(name string) error {
var _ imageDomain.Storage = &mockImageStorage{}
type mockImageRepo struct {
mu sync.Mutex
images map[uint32]imageDomain.Image
nextID uint32
fail failSwitch
@@ -101,6 +103,8 @@ func (m *mockImageRepo) sortedImages() []imageDomain.Image {
}
func (m *mockImageRepo) Create(input imageDomain.Image) (imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.createCalls++
if err := m.fail.trigger("Create"); err != nil {
return imageDomain.Image{}, err
@@ -117,6 +121,8 @@ func (m *mockImageRepo) Create(input imageDomain.Image) (imageDomain.Image, erro
}
func (m *mockImageRepo) ListByUploader(userID uint32) ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.uploaderLists++
if m.onListByUploader != nil {
m.onListByUploader()
@@ -134,6 +140,8 @@ func (m *mockImageRepo) ListByUploader(userID uint32) ([]imageDomain.Image, erro
}
func (m *mockImageRepo) ListMissingMetadata() ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("ListMissingMetadata"); err != nil {
return nil, err
}
@@ -147,6 +155,8 @@ func (m *mockImageRepo) ListMissingMetadata() ([]imageDomain.Image, error) {
}
func (m *mockImageRepo) UpdateMetadata(id uint32, metadata imageDomain.Metadata) error {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("UpdateMetadata"); err != nil {
return err
}
@@ -161,6 +171,8 @@ func (m *mockImageRepo) UpdateMetadata(id uint32, metadata imageDomain.Metadata)
}
func (m *mockImageRepo) Get(id uint32) (imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("Get"); err != nil {
return imageDomain.Image{}, err
}
@@ -172,6 +184,8 @@ func (m *mockImageRepo) Get(id uint32) (imageDomain.Image, error) {
}
func (m *mockImageRepo) Delete(id uint32) error {
m.mu.Lock()
defer m.mu.Unlock()
m.deleteCalls = append(m.deleteCalls, id)
if m.onDelete != nil {
m.onDelete(id)
@@ -190,6 +204,8 @@ func (m *mockImageRepo) Delete(id uint32) error {
}
func (m *mockImageRepo) List(query imageDomain.SearchQuery) ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.listCalls++
if err := m.fail.trigger("List"); err != nil {
return nil, err
@@ -208,6 +224,8 @@ func (m *mockImageRepo) List(query imageDomain.SearchQuery) ([]imageDomain.Image
}
func (m *mockImageRepo) FindByHash(hash string) ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("FindByHash"); err != nil {
return nil, err
}
@@ -221,6 +239,8 @@ func (m *mockImageRepo) FindByHash(hash string) ([]imageDomain.Image, error) {
}
func (m *mockImageRepo) Rename(id uint32, filename string) (imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("Rename"); err != nil {
return imageDomain.Image{}, err
}
@@ -244,6 +264,8 @@ func (m *mockImageRepo) hashCounts() map[string]int {
}
func (m *mockImageRepo) ListDuplicates() ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("ListDuplicates"); err != nil {
return nil, err
}
@@ -258,6 +280,8 @@ func (m *mockImageRepo) ListDuplicates() ([]imageDomain.Image, error) {
}
func (m *mockImageRepo) Counts() (imageDomain.Counts, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("Counts"); err != nil {
return imageDomain.Counts{}, err
}
@@ -271,6 +295,8 @@ func (m *mockImageRepo) Counts() (imageDomain.Counts, error) {
}
func (m *mockImageRepo) ExistsByStoredName(storedName string) (bool, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("ExistsByStoredName"); err != nil {
return false, err
}
@@ -283,6 +309,8 @@ func (m *mockImageRepo) ExistsByStoredName(storedName string) (bool, error) {
}
func (m *mockImageRepo) ListByStoredNames(storedNames []string) ([]imageDomain.Image, error) {
m.mu.Lock()
defer m.mu.Unlock()
if err := m.fail.trigger("ListByStoredNames"); err != nil {
return nil, err
}