Pulse/internal/models/organization_additional_test.go
2026-01-25 21:08:44 +00:00

33 lines
1,014 B
Go

package models
import "testing"
func TestOrganizationAccessors(t *testing.T) {
org := &Organization{
ID: "org-1",
OwnerUserID: "owner",
Members: []OrganizationMember{
{UserID: "admin", Role: OrgRoleAdmin},
{UserID: "member", Role: OrgRoleMember},
},
}
if !org.HasMember("admin") || org.HasMember("missing") {
t.Fatalf("HasMember results unexpected")
}
if role := org.GetMemberRole("admin"); role != OrgRoleAdmin {
t.Fatalf("GetMemberRole = %q, want admin", role)
}
if role := org.GetMemberRole("missing"); role != "" {
t.Fatalf("GetMemberRole for missing = %q, want empty", role)
}
if !org.IsOwner("owner") || org.IsOwner("admin") {
t.Fatalf("IsOwner results unexpected")
}
if !org.CanUserAccess("owner") || !org.CanUserAccess("member") || org.CanUserAccess("missing") {
t.Fatalf("CanUserAccess results unexpected")
}
if !org.CanUserManage("owner") || !org.CanUserManage("admin") || org.CanUserManage("member") {
t.Fatalf("CanUserManage results unexpected")
}
}