Files
Assistant/tests/creator_api/focus_access_test.go
m cef59b709e
CI / test (push) Failing after 5m45s
feat: add authenticated Creator read API
2026-08-16 15:29:43 +03:00

29 lines
1.0 KiB
Go

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")
}
}