23 lines
1.1 KiB
Go
23 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|