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

+21 -1
View File
@@ -3,6 +3,7 @@ package test
import (
"RenewCMS/internal/domain/role"
"slices"
"sync"
)
const (
@@ -12,6 +13,7 @@ const (
)
type mockRoleRepo struct {
mu sync.Mutex
roles map[uint32]role.Role
nextID uint32
fail failSwitch
@@ -48,6 +50,8 @@ func (m *mockRoleRepo) sortedIDs() []uint32 {
}
func (m *mockRoleRepo) List() ([]role.Role, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["List"]++
if err := m.fail.trigger("List"); err != nil {
return nil, err
@@ -60,6 +64,8 @@ func (m *mockRoleRepo) List() ([]role.Role, error) {
}
func (m *mockRoleRepo) Get(id uint32) (role.Role, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["Get"]++
if err := m.fail.trigger("Get"); err != nil {
return role.Role{}, err
@@ -72,6 +78,8 @@ func (m *mockRoleRepo) Get(id uint32) (role.Role, error) {
}
func (m *mockRoleRepo) GetByName(name string) (role.Role, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["GetByName"]++
if err := m.fail.trigger("GetByName"); err != nil {
return role.Role{}, err
@@ -90,6 +98,8 @@ func (m *mockRoleRepo) GetByName(name string) (role.Role, error) {
}
func (m *mockRoleRepo) Create(created role.Role) (role.Role, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["Create"]++
if err := m.fail.trigger("Create"); err != nil {
return role.Role{}, err
@@ -101,6 +111,8 @@ func (m *mockRoleRepo) Create(created role.Role) (role.Role, error) {
}
func (m *mockRoleRepo) Save(saved role.Role) (role.Role, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["Save"]++
if err := m.fail.trigger("Save"); err != nil {
return role.Role{}, err
@@ -108,7 +120,7 @@ func (m *mockRoleRepo) Save(saved role.Role) (role.Role, error) {
if m.beforeSave != nil {
hook := m.beforeSave
m.beforeSave = nil
hook()
outsideLock(&m.mu, hook)
}
stored, ok := m.roles[saved.ID]
if !ok {
@@ -147,6 +159,8 @@ func (m *mockRoleRepo) memberCount(roleID uint32) int {
}
func (m *mockRoleRepo) MemberCounts() (map[uint32]int, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["MemberCounts"]++
if err := m.fail.trigger("MemberCounts"); err != nil {
return nil, err
@@ -170,6 +184,8 @@ func (m *mockRoleRepo) MemberCounts() (map[uint32]int, error) {
}
func (m *mockRoleRepo) Delete(id uint32) error {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["Delete"]++
if err := m.fail.trigger("Delete"); err != nil {
return err
@@ -185,6 +201,8 @@ func (m *mockRoleRepo) Delete(id uint32) error {
}
func (m *mockRoleRepo) ReassignMembers(from uint32, to uint32) (int, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["ReassignMembers"]++
if err := m.fail.trigger("ReassignMembers"); err != nil {
return 0, err
@@ -212,6 +230,8 @@ func (m *mockRoleRepo) ReassignMembers(from uint32, to uint32) (int, error) {
}
func (m *mockRoleRepo) RemoveTypedGrants(typeKey string) (int, error) {
m.mu.Lock()
defer m.mu.Unlock()
m.calls["RemoveTypedGrants"]++
if err := m.fail.trigger("RemoveTypedGrants"); err != nil {
return 0, err