package situation_test import ( "testing" "git.cin.su/m/Assistant/contracts/identity" contract "git.cin.su/m/Assistant/contracts/situation" "git.cin.su/m/Assistant/platform/clock" "git.cin.su/m/Assistant/platform/ids" ) func TestFocusV2ContractsValidateTypedScopeAndFrame(t *testing.T) { rev := ids.Revision(1) scope := contract.ContextScope{ID: "scope", PrincipalID: identity.PrincipalID("company-a"), Revision: contract.FocusRevision(rev), RecordedAt: clock.Instant(1), Bindings: []contract.ContextBinding{{RoleKey: contract.RoleOrganization, TargetRef: contract.SemanticReference{OwnerNamespace: "world", SemanticKind: "organization", StableID: "a"}, MatchPolicy: contract.MatchRequired}}} if err := scope.Validate(); err != nil { t.Fatal(err) } frame := contract.FocusFrame{ID: "frame", PrincipalID: scope.PrincipalID, ActorID: "actor", Revision: 1, ContextScopeRef: contract.SemanticReference{OwnerNamespace: "situation", SemanticKind: "context_scope", StableID: ids.StableID(scope.ID), Revision: &rev}, State: contract.FocusActive, Provenance: contract.FocusExplicitHuman, RecordedAt: 1} if err := frame.Validate(); err != nil { t.Fatal(err) } }