Files
Assistant/modules/self/domain/self_test.go
T

28 lines
1.2 KiB
Go

package domain_test
import (
selfcontract "git.cin.su/m/Assistant/contracts/self"
"git.cin.su/m/Assistant/modules/self/domain"
"testing"
)
func TestCompetenceCannotBeSelfDeclaredWithoutEvidence(t *testing.T) {
v := selfcontract.CompetenceAssessment{ID: "a", PrincipalID: "p", SubjectRef: selfcontract.SemanticReference{OwnerNamespace: "capability", SemanticKind: "skill", StableID: "s"}, Revision: 1, ConfidenceMillis: 1000, AssessedAt: 1}
if domain.ValidateCompetence(v) == nil {
t.Fatal("unsupported competence accepted")
}
v.EvidenceRefs = []selfcontract.SemanticReference{{OwnerNamespace: "epistemics", SemanticKind: "evaluation", StableID: "e"}}
if err := domain.ValidateCompetence(v); err != nil {
t.Fatal(err)
}
}
func TestShadowDivergenceCreatesProposalNotPromotion(t *testing.T) {
reflex := selfcontract.SemanticReference{OwnerNamespace: "capability", SemanticKind: "reflex", StableID: "r"}
evidence := []selfcontract.SemanticReference{{OwnerNamespace: "epistemics", SemanticKind: "experience", StableID: "e"}}
need, ledger, err := domain.ImprovementForReflexDivergence("p", reflex, evidence, 1)
if err != nil || need.State != "OPEN" || ledger.Decision != "PROPOSE_REVALIDATION" {
t.Fatalf("need=%#v ledger=%#v err=%v", need, ledger, err)
}
}