package creator_api_test import ( "testing" "git.cin.su/m/Assistant/contracts/authority" "git.cin.su/m/Assistant/contracts/identity" "git.cin.su/m/Assistant/contracts/situation" "git.cin.su/m/Assistant/contracts/work" situationdomain "git.cin.su/m/Assistant/modules/situation/domain" ) func TestCreatorTaskReadRequiresOwnFocusTarget(t *testing.T) { session := identity.CreatorSession{ActorID: "domovoy-creator-actor", PrincipalID: "domovoy-creator-principal"} focus := situation.FocusBinding{ActorID: session.ActorID, GoalID: "goal-a", ScopeID: "scope-a", Active: true} allowed := work.TaskTarget{TaskID: "task-a", GoalID: focus.GoalID, ScopeID: focus.ScopeID, Revision: 2} if focus.ActorID != session.ActorID { t.Fatal("creator focus actor mismatch") } if err := situationdomain.ValidateTaskTarget(focus, allowed); err != nil { t.Fatal(err) } outside := allowed outside.ScopeID = authority.ScopeID("scope-b") if err := situationdomain.ValidateTaskTarget(focus, outside); err == nil { t.Fatal("out-of-focus task accepted") } }