Skip to content

Commit 9c843bb

Browse files
committed
test hydration of labels on lists and feedgens
1 parent 79f6ce8 commit 9c843bb

File tree

5 files changed

+103
-29
lines changed

5 files changed

+103
-29
lines changed

packages/bsky/tests/__snapshots__/feed-generation.test.ts.snap

+12
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ Object {
9999
"did": "user(2)",
100100
"displayName": "All",
101101
"indexedAt": "1970-01-01T00:00:00.000Z",
102+
"labels": Array [],
102103
"likeCount": 2,
103104
"uri": "record(1)",
104105
"viewer": Object {
@@ -168,6 +169,7 @@ Array [
168169
"did": "user(0)",
169170
"displayName": "Odd",
170171
"indexedAt": "1970-01-01T00:00:00.000Z",
172+
"labels": Array [],
171173
"likeCount": 0,
172174
"uri": "record(0)",
173175
"viewer": Object {},
@@ -210,6 +212,7 @@ Array [
210212
"did": "user(0)",
211213
"displayName": "Needs Auth",
212214
"indexedAt": "1970-01-01T00:00:00.000Z",
215+
"labels": Array [],
213216
"likeCount": 0,
214217
"uri": "record(4)",
215218
"viewer": Object {},
@@ -252,6 +255,7 @@ Array [
252255
"did": "user(0)",
253256
"displayName": "Bad Pagination",
254257
"indexedAt": "1970-01-01T00:00:00.000Z",
258+
"labels": Array [],
255259
"likeCount": 0,
256260
"uri": "record(5)",
257261
"viewer": Object {},
@@ -294,6 +298,7 @@ Array [
294298
"did": "user(0)",
295299
"displayName": "Even",
296300
"indexedAt": "1970-01-01T00:00:00.000Z",
301+
"labels": Array [],
297302
"likeCount": 0,
298303
"uri": "record(6)",
299304
"viewer": Object {},
@@ -336,6 +341,7 @@ Array [
336341
"did": "user(0)",
337342
"displayName": "All",
338343
"indexedAt": "1970-01-01T00:00:00.000Z",
344+
"labels": Array [],
339345
"likeCount": 2,
340346
"uri": "record(7)",
341347
"viewer": Object {
@@ -1493,6 +1499,7 @@ Object {
14931499
"did": "user(0)",
14941500
"displayName": "All",
14951501
"indexedAt": "1970-01-01T00:00:00.000Z",
1502+
"labels": Array [],
14961503
"likeCount": 2,
14971504
"uri": "record(0)",
14981505
"viewer": Object {
@@ -1543,6 +1550,7 @@ Object {
15431550
"did": "user(0)",
15441551
"displayName": "Even",
15451552
"indexedAt": "1970-01-01T00:00:00.000Z",
1553+
"labels": Array [],
15461554
"likeCount": 0,
15471555
"uri": "record(0)",
15481556
"viewer": Object {},
@@ -1585,6 +1593,7 @@ Object {
15851593
"did": "user(0)",
15861594
"displayName": "All",
15871595
"indexedAt": "1970-01-01T00:00:00.000Z",
1596+
"labels": Array [],
15881597
"likeCount": 2,
15891598
"uri": "record(4)",
15901599
"viewer": Object {
@@ -1637,6 +1646,7 @@ Object {
16371646
"did": "user(0)",
16381647
"displayName": "All",
16391648
"indexedAt": "1970-01-01T00:00:00.000Z",
1649+
"labels": Array [],
16401650
"likeCount": 2,
16411651
"uri": "record(0)",
16421652
"viewer": Object {
@@ -1681,6 +1691,7 @@ Object {
16811691
"did": "user(0)",
16821692
"displayName": "Even",
16831693
"indexedAt": "1970-01-01T00:00:00.000Z",
1694+
"labels": Array [],
16841695
"likeCount": 0,
16851696
"uri": "record(5)",
16861697
"viewer": Object {},
@@ -1723,6 +1734,7 @@ Object {
17231734
"did": "user(0)",
17241735
"displayName": "Bad Pagination",
17251736
"indexedAt": "1970-01-01T00:00:00.000Z",
1737+
"labels": Array [],
17261738
"likeCount": 0,
17271739
"uri": "record(6)",
17281740
"viewer": Object {},

packages/bsky/tests/label-hydration.test.ts

+72-29
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,14 @@ describe('label hydration', () => {
2222
bob = sc.dids.bob
2323
carol = sc.dids.carol
2424
labelerDid = network.bsky.ctx.cfg.labelsFromIssuerDids[0]
25-
await network.bsky.db.db
26-
.insertInto('label')
27-
.values([
28-
{
29-
src: alice,
30-
uri: carol,
31-
cid: '',
32-
val: 'spam',
33-
neg: false,
34-
cts: new Date().toISOString(),
35-
},
36-
{
37-
src: bob,
38-
uri: carol,
39-
cid: '',
40-
val: 'impersonation',
41-
neg: false,
42-
cts: new Date().toISOString(),
43-
},
44-
{
45-
src: labelerDid,
46-
uri: carol,
47-
cid: '',
48-
val: 'misleading',
49-
neg: false,
50-
cts: new Date().toISOString(),
51-
},
52-
])
53-
.execute()
25+
await createLabel({ src: alice, uri: carol, cid: '', val: 'spam' })
26+
await createLabel({ src: bob, uri: carol, cid: '', val: 'impersonation' })
27+
await createLabel({
28+
src: labelerDid,
29+
uri: carol,
30+
cid: '',
31+
val: 'misleading',
32+
})
5433
await network.processAll()
5534
})
5635

@@ -97,4 +76,68 @@ describe('label hydration', () => {
9776
expect(res.data.labels?.[0].src).toBe(labelerDid)
9877
expect(res.data.labels?.[0].val).toBe('misleading')
9978
})
79+
80+
it('hydrates labels onto list views.', async () => {
81+
const list = await pdsAgent.api.app.bsky.graph.list.create(
82+
{ repo: alice },
83+
{
84+
name: "alice's modlist",
85+
purpose: 'app.bsky.graph.defs#modlist',
86+
createdAt: new Date().toISOString(),
87+
},
88+
sc.getHeaders(alice),
89+
)
90+
await network.processAll()
91+
await createLabel({ uri: list.uri, cid: list.cid, val: 'spam' })
92+
const res = await pdsAgent.api.app.bsky.graph.getList(
93+
{ list: list.uri },
94+
{ headers: sc.getHeaders(alice) },
95+
)
96+
const [label, ...others] = res.data.list.labels ?? []
97+
expect(label?.src).toBe(labelerDid)
98+
expect(label?.val).toBe('spam')
99+
expect(others.length).toBe(0)
100+
})
101+
102+
it('hydrates labels onto feed generator views.', async () => {
103+
const feedgen = await pdsAgent.api.app.bsky.feed.generator.create(
104+
{ repo: alice },
105+
{
106+
displayName: "alice's feedgen",
107+
did: alice,
108+
createdAt: new Date().toISOString(),
109+
},
110+
sc.getHeaders(alice),
111+
)
112+
await network.processAll()
113+
await createLabel({ uri: feedgen.uri, cid: feedgen.cid, val: 'spam' })
114+
const res = await pdsAgent.api.app.bsky.feed.getFeedGenerators(
115+
{ feeds: [feedgen.uri] },
116+
{ headers: sc.getHeaders(alice) },
117+
)
118+
expect(res.data.feeds.length).toBe(1)
119+
const [label, ...others] = res.data.feeds[0].labels ?? []
120+
expect(label?.src).toBe(labelerDid)
121+
expect(label?.val).toBe('spam')
122+
expect(others.length).toBe(0)
123+
})
124+
125+
const createLabel = async (opts: {
126+
src?: string
127+
uri: string
128+
cid: string
129+
val: string
130+
}) => {
131+
await network.bsky.db.db
132+
.insertInto('label')
133+
.values({
134+
uri: opts.uri,
135+
cid: opts.cid,
136+
val: opts.val,
137+
cts: new Date().toISOString(),
138+
neg: false,
139+
src: opts.src ?? 'did:example:labeler',
140+
})
141+
.execute()
142+
}
100143
})

packages/bsky/tests/views/__snapshots__/block-lists.test.ts.snap

+7
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ Object {
325325
},
326326
"description": "blah blah",
327327
"indexedAt": "1970-01-01T00:00:00.000Z",
328+
"labels": Array [],
328329
"name": "new list",
329330
"purpose": "app.bsky.graph.defs#modlist",
330331
"uri": "record(0)",
@@ -369,6 +370,7 @@ Object {
369370
},
370371
"description": "big list of blocks",
371372
"indexedAt": "1970-01-01T00:00:00.000Z",
373+
"labels": Array [],
372374
"name": "alice blocks",
373375
"purpose": "app.bsky.graph.defs#modlist",
374376
"uri": "record(4)",
@@ -420,6 +422,7 @@ Object {
420422
},
421423
"description": "blah blah",
422424
"indexedAt": "1970-01-01T00:00:00.000Z",
425+
"labels": Array [],
423426
"name": "new list",
424427
"purpose": "app.bsky.graph.defs#modlist",
425428
"uri": "record(0)",
@@ -463,6 +466,7 @@ Object {
463466
},
464467
"description": "big list of blocks",
465468
"indexedAt": "1970-01-01T00:00:00.000Z",
469+
"labels": Array [],
466470
"name": "alice blocks",
467471
"purpose": "app.bsky.graph.defs#modlist",
468472
"uri": "record(3)",
@@ -503,6 +507,7 @@ Object {
503507
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
504508
"cid": "cids(0)",
505509
"indexedAt": "1970-01-01T00:00:00.000Z",
510+
"labels": Array [],
506511
"name": "alice blocks",
507512
"purpose": "app.bsky.graph.defs#modlist",
508513
"uri": "record(0)",
@@ -532,6 +537,7 @@ Object {
532537
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
533538
"cid": "cids(0)",
534539
"indexedAt": "1970-01-01T00:00:00.000Z",
540+
"labels": Array [],
535541
"name": "alice blocks",
536542
"purpose": "app.bsky.graph.defs#modlist",
537543
"uri": "record(0)",
@@ -582,6 +588,7 @@ Object {
582588
},
583589
"description": "big list of blocks",
584590
"indexedAt": "1970-01-01T00:00:00.000Z",
591+
"labels": Array [],
585592
"name": "alice blocks",
586593
"purpose": "app.bsky.graph.defs#modlist",
587594
"uri": "record(0)",

packages/bsky/tests/views/__snapshots__/mute-lists.test.ts.snap

+10
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Object {
6868
},
6969
"description": "new descript",
7070
"indexedAt": "1970-01-01T00:00:00.000Z",
71+
"labels": Array [],
7172
"name": "updated alice mutes",
7273
"purpose": "app.bsky.graph.defs#modlist",
7374
"uri": "record(2)",
@@ -165,6 +166,7 @@ Object {
165166
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
166167
"cid": "cids(4)",
167168
"indexedAt": "1970-01-01T00:00:00.000Z",
169+
"labels": Array [],
168170
"name": "alice mutes",
169171
"purpose": "app.bsky.graph.defs#modlist",
170172
"uri": "record(6)",
@@ -216,6 +218,7 @@ Object {
216218
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
217219
"cid": "cids(4)",
218220
"indexedAt": "1970-01-01T00:00:00.000Z",
221+
"labels": Array [],
219222
"name": "alice mutes",
220223
"purpose": "app.bsky.graph.defs#modlist",
221224
"uri": "record(6)",
@@ -336,6 +339,7 @@ Object {
336339
},
337340
"description": "blah blah",
338341
"indexedAt": "1970-01-01T00:00:00.000Z",
342+
"labels": Array [],
339343
"name": "new list",
340344
"purpose": "app.bsky.graph.defs#modlist",
341345
"uri": "record(0)",
@@ -379,6 +383,7 @@ Object {
379383
},
380384
"description": "big list of mutes",
381385
"indexedAt": "1970-01-01T00:00:00.000Z",
386+
"labels": Array [],
382387
"name": "alice mutes",
383388
"purpose": "app.bsky.graph.defs#modlist",
384389
"uri": "record(3)",
@@ -429,6 +434,7 @@ Object {
429434
},
430435
"description": "blah blah",
431436
"indexedAt": "1970-01-01T00:00:00.000Z",
437+
"labels": Array [],
432438
"name": "new list",
433439
"purpose": "app.bsky.graph.defs#modlist",
434440
"uri": "record(0)",
@@ -472,6 +478,7 @@ Object {
472478
},
473479
"description": "big list of mutes",
474480
"indexedAt": "1970-01-01T00:00:00.000Z",
481+
"labels": Array [],
475482
"name": "alice mutes",
476483
"purpose": "app.bsky.graph.defs#modlist",
477484
"uri": "record(3)",
@@ -512,6 +519,7 @@ Object {
512519
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
513520
"cid": "cids(0)",
514521
"indexedAt": "1970-01-01T00:00:00.000Z",
522+
"labels": Array [],
515523
"name": "alice mutes",
516524
"purpose": "app.bsky.graph.defs#modlist",
517525
"uri": "record(0)",
@@ -540,6 +548,7 @@ Object {
540548
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
541549
"cid": "cids(0)",
542550
"indexedAt": "1970-01-01T00:00:00.000Z",
551+
"labels": Array [],
543552
"name": "alice mutes",
544553
"purpose": "app.bsky.graph.defs#modlist",
545554
"uri": "record(0)",
@@ -588,6 +597,7 @@ Object {
588597
},
589598
"description": "big list of mutes",
590599
"indexedAt": "1970-01-01T00:00:00.000Z",
600+
"labels": Array [],
591601
"name": "alice mutes",
592602
"purpose": "app.bsky.graph.defs#modlist",
593603
"uri": "record(0)",

packages/bsky/tests/views/__snapshots__/threadgating.test.ts.snap

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Object {
4141
Object {
4242
"cid": "cids(1)",
4343
"indexedAt": "1970-01-01T00:00:00.000Z",
44+
"labels": Array [],
4445
"name": "list a",
4546
"purpose": "app.bsky.graph.defs#modlist",
4647
"uri": "record(2)",
@@ -51,6 +52,7 @@ Object {
5152
Object {
5253
"cid": "cids(2)",
5354
"indexedAt": "1970-01-01T00:00:00.000Z",
55+
"labels": Array [],
5456
"name": "list b",
5557
"purpose": "app.bsky.graph.defs#modlist",
5658
"uri": "record(3)",

0 commit comments

Comments
 (0)