Files
atproto/packages/bsky/tests/views/profile-debug.test.ts
2026-03-23 18:10:16 +01:00

69 lines
1.8 KiB
TypeScript

import { AtpAgent, ids } from '@atproto/api'
import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
describe('profile views w/ debug field', () => {
let network: TestNetwork
let agent: AtpAgent
let sc: SeedClient
beforeAll(async () => {
network = await TestNetwork.create({
dbPostgresSchema: 'bsky_views_profile_debug',
})
agent = network.bsky.getAgent()
sc = network.getSeedClient()
await basicSeed(sc)
})
afterEach(() => {
network.bsky.ctx.cfg.debugFieldAllowedDids.clear()
})
afterAll(async () => {
await network.close()
})
it(`does not include debug field for unauthed requests`, async () => {
network.bsky.ctx.cfg.debugFieldAllowedDids.add(sc.dids.bob)
const { data: profile } = await agent.api.app.bsky.actor.getProfile({
actor: sc.dids.alice,
})
expect(profile.debug).not.toBeDefined()
})
it(`includes debug field for configured user`, async () => {
network.bsky.ctx.cfg.debugFieldAllowedDids.add(sc.dids.bob)
const { data: profile } = await agent.api.app.bsky.actor.getProfile(
{ actor: sc.dids.alice },
{
headers: await network.serviceHeaders(
sc.dids.bob,
ids.AppBskyActorGetProfile,
),
},
)
expect(profile.debug).toBeDefined()
expect(typeof profile.debug).toBe('object')
})
it(`doesn't include debug field for other users`, async () => {
network.bsky.ctx.cfg.debugFieldAllowedDids.add(sc.dids.carol)
const { data: profile } = await agent.api.app.bsky.actor.getProfile(
{ actor: sc.dids.alice },
{
headers: await network.serviceHeaders(
sc.dids.bob,
ids.AppBskyActorGetProfile,
),
},
)
expect(profile.debug).not.toBeDefined()
})
})