Files
personas/company_test.go
Hanzo Dev 4fb7609642 personas 1.2.0: thirty-four seats, Vid and Biz added, the first twelve the grid
The roster opens on Vi, Fin, Dev, Mark, Opera, Des, Sal, Su, Cyber, Sci,
Huma and Mana, and those twelve carry lead: true; every other seat follows
in the order the owner's roster lists them. Vid owns video and Biz owns
partnerships, each with its spec, memoji and company row, and Art and Corp
name them as the owners of that work.
2026-11-01 16:45:57 -08:00

62 lines
1.7 KiB
Go

package personas
import (
"strings"
"testing"
)
func TestCompanyDefaults(t *testing.T) {
defaults, err := CompanyDefaults()
if err != nil {
t.Fatal(err)
}
team, err := Team()
if err != nil {
t.Fatal(err)
}
if defaults.SchemaVersion != 1 || defaults.Entrypoint != "vi" || len(defaults.Members) != 34 {
t.Fatalf("unexpected company bundle: %+v", defaults)
}
groups := map[string]bool{}
for i, m := range defaults.Members {
groups[m.Group] = true
if m.ID == "cyber" && m.Model != "zen6-cyber" {
t.Fatal("Cyber beta must use zen6-cyber without fallback")
}
if m.ID != team[i].ID || !strings.HasPrefix(m.Instructions, team[i].Instructions) {
t.Fatalf("lost persona %s", m.ID)
}
if m.EnabledByDefault || len(m.RequestedTools) < 2 || len(m.SuccessMeasures) == 0 || m.Seat == 0 || m.Owns == "" {
t.Fatalf("incomplete defaults for %s", m.ID)
}
if !strings.Contains(m.Instructions, "Delegation never expands authority") {
t.Fatalf("missing authority boundary for %s", m.ID)
}
if m.ID == "audit" && m.ReportsTo != "human-owner" {
t.Fatal("Audit must report independently")
}
if m.ID != "audit" && m.ReportsTo != "vi" {
t.Fatalf("unexpected reporting line for %s", m.ID)
}
}
if len(groups) != 6 {
t.Fatalf("got %d departments", len(groups))
}
}
func TestCompanyDefaultsAreIndependent(t *testing.T) {
first, err := CompanyDefaults()
if err != nil {
t.Fatal(err)
}
first.Members[0].SuccessMeasures[0] = "changed"
first.Members[0].RequestedTools[0] = "changed"
second, err := CompanyDefaults()
if err != nil {
t.Fatal(err)
}
if second.Members[0].SuccessMeasures[0] == "changed" || second.Members[0].RequestedTools[0] == "changed" {
t.Fatal("caller changed another company's defaults")
}
}