| import { describe, expect, it } from "vitest"; |
| import { |
| updateCompanyMemberWithPermissionsSchema, |
| updateCurrentUserProfileSchema, |
| } from "@penclipai/shared"; |
|
|
| describe("access validators", () => { |
| it("accepts HTTP(S) and Paperclip asset image URLs", () => { |
| expect(updateCurrentUserProfileSchema.safeParse({ |
| name: "Ada Lovelace", |
| image: "https://example.com/avatar.png", |
| }).success).toBe(true); |
| expect(updateCurrentUserProfileSchema.safeParse({ |
| name: "Ada Lovelace", |
| image: "/api/assets/avatar/content", |
| }).success).toBe(true); |
| }); |
|
|
| it("rejects data URI profile images", () => { |
| expect(updateCurrentUserProfileSchema.safeParse({ |
| name: "Ada Lovelace", |
| image: "data:image/png;base64,AAAA", |
| }).success).toBe(false); |
| }); |
|
|
| it("defaults omitted combined member grants to an empty list", () => { |
| const result = updateCompanyMemberWithPermissionsSchema.parse({ |
| membershipRole: "operator", |
| }); |
|
|
| expect(result.grants).toEqual([]); |
| }); |
| }); |
|
|