Files
dobotai-platform/internal/store/postgres/settings_admin_test.go
T
2026-08-14 12:12:33 +08:00

29 lines
790 B
Go

package postgres
import (
"errors"
"testing"
"gitea.zheromiku.top/Weknora/dobotai-platform/internal/settings"
)
func TestCanDisableAdministratorProtectsLastActiveAdministrator(t *testing.T) {
for _, tc := range []struct {
name string
status string
activeCount int
wantErr error
}{
{name: "two active", status: "active", activeCount: 2},
{name: "last active", status: "active", activeCount: 1, wantErr: settings.ErrLastAdministrator},
{name: "already disabled", status: "disabled", activeCount: 2, wantErr: settings.ErrAdministratorAlreadyDisabled},
} {
t.Run(tc.name, func(t *testing.T) {
err := canDisableAdministrator(tc.status, tc.activeCount)
if !errors.Is(err, tc.wantErr) {
t.Fatalf("err=%v want=%v", err, tc.wantErr)
}
})
}
}