mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-04-28 11:30:15 +00:00
33 lines
1,014 B
Go
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")
|
|
}
|
|
}
|