@@ -32,6 +32,8 @@ def test_api_documents_descendants_list_anonymous_public_standalone():
32
32
"results" : [
33
33
{
34
34
"abilities" : child1 .get_abilities (AnonymousUser ()),
35
+ "ancestors_link_reach" : "public" ,
36
+ "ancestors_link_role" : document .link_role ,
35
37
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
36
38
"creator" : str (child1 .creator .id ),
37
39
"depth" : 2 ,
@@ -50,6 +52,10 @@ def test_api_documents_descendants_list_anonymous_public_standalone():
50
52
},
51
53
{
52
54
"abilities" : grand_child .get_abilities (AnonymousUser ()),
55
+ "ancestors_link_reach" : "public" ,
56
+ "ancestors_link_role" : "editor"
57
+ if (child1 .link_reach == "public" and child1 .link_role == "editor" )
58
+ else document .link_role ,
53
59
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
54
60
"creator" : str (grand_child .creator .id ),
55
61
"depth" : 3 ,
@@ -68,6 +74,8 @@ def test_api_documents_descendants_list_anonymous_public_standalone():
68
74
},
69
75
{
70
76
"abilities" : child2 .get_abilities (AnonymousUser ()),
77
+ "ancestors_link_reach" : "public" ,
78
+ "ancestors_link_role" : document .link_role ,
71
79
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
72
80
"creator" : str (child2 .creator .id ),
73
81
"depth" : 2 ,
@@ -115,6 +123,8 @@ def test_api_documents_descendants_list_anonymous_public_parent():
115
123
"results" : [
116
124
{
117
125
"abilities" : child1 .get_abilities (AnonymousUser ()),
126
+ "ancestors_link_reach" : "public" ,
127
+ "ancestors_link_role" : grand_parent .link_role ,
118
128
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
119
129
"creator" : str (child1 .creator .id ),
120
130
"depth" : 4 ,
@@ -133,6 +143,8 @@ def test_api_documents_descendants_list_anonymous_public_parent():
133
143
},
134
144
{
135
145
"abilities" : grand_child .get_abilities (AnonymousUser ()),
146
+ "ancestors_link_reach" : "public" ,
147
+ "ancestors_link_role" : grand_child .ancestors_link_role ,
136
148
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
137
149
"creator" : str (grand_child .creator .id ),
138
150
"depth" : 5 ,
@@ -151,6 +163,8 @@ def test_api_documents_descendants_list_anonymous_public_parent():
151
163
},
152
164
{
153
165
"abilities" : child2 .get_abilities (AnonymousUser ()),
166
+ "ancestors_link_reach" : "public" ,
167
+ "ancestors_link_role" : grand_parent .link_role ,
154
168
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
155
169
"creator" : str (child2 .creator .id ),
156
170
"depth" : 4 ,
@@ -201,7 +215,9 @@ def test_api_documents_descendants_list_authenticated_unrelated_public_or_authen
201
215
client .force_login (user )
202
216
203
217
document = factories .DocumentFactory (link_reach = reach )
204
- child1 , child2 = factories .DocumentFactory .create_batch (2 , parent = document )
218
+ child1 , child2 = factories .DocumentFactory .create_batch (
219
+ 2 , parent = document , link_reach = "restricted"
220
+ )
205
221
grand_child = factories .DocumentFactory (parent = child1 )
206
222
207
223
factories .UserDocumentAccessFactory (document = child1 )
@@ -217,6 +233,8 @@ def test_api_documents_descendants_list_authenticated_unrelated_public_or_authen
217
233
"results" : [
218
234
{
219
235
"abilities" : child1 .get_abilities (user ),
236
+ "ancestors_link_reach" : reach ,
237
+ "ancestors_link_role" : document .link_role ,
220
238
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
221
239
"creator" : str (child1 .creator .id ),
222
240
"depth" : 2 ,
@@ -235,6 +253,8 @@ def test_api_documents_descendants_list_authenticated_unrelated_public_or_authen
235
253
},
236
254
{
237
255
"abilities" : grand_child .get_abilities (user ),
256
+ "ancestors_link_reach" : reach ,
257
+ "ancestors_link_role" : document .link_role ,
238
258
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
239
259
"creator" : str (grand_child .creator .id ),
240
260
"depth" : 3 ,
@@ -253,6 +273,8 @@ def test_api_documents_descendants_list_authenticated_unrelated_public_or_authen
253
273
},
254
274
{
255
275
"abilities" : child2 .get_abilities (user ),
276
+ "ancestors_link_reach" : reach ,
277
+ "ancestors_link_role" : document .link_role ,
256
278
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
257
279
"creator" : str (child2 .creator .id ),
258
280
"depth" : 2 ,
@@ -289,7 +311,9 @@ def test_api_documents_descendants_list_authenticated_public_or_authenticated_pa
289
311
grand_parent = factories .DocumentFactory (link_reach = reach )
290
312
parent = factories .DocumentFactory (parent = grand_parent , link_reach = "restricted" )
291
313
document = factories .DocumentFactory (link_reach = "restricted" , parent = parent )
292
- child1 , child2 = factories .DocumentFactory .create_batch (2 , parent = document )
314
+ child1 , child2 = factories .DocumentFactory .create_batch (
315
+ 2 , parent = document , link_reach = "restricted"
316
+ )
293
317
grand_child = factories .DocumentFactory (parent = child1 )
294
318
295
319
factories .UserDocumentAccessFactory (document = child1 )
@@ -304,6 +328,8 @@ def test_api_documents_descendants_list_authenticated_public_or_authenticated_pa
304
328
"results" : [
305
329
{
306
330
"abilities" : child1 .get_abilities (user ),
331
+ "ancestors_link_reach" : reach ,
332
+ "ancestors_link_role" : grand_parent .link_role ,
307
333
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
308
334
"creator" : str (child1 .creator .id ),
309
335
"depth" : 4 ,
@@ -322,6 +348,8 @@ def test_api_documents_descendants_list_authenticated_public_or_authenticated_pa
322
348
},
323
349
{
324
350
"abilities" : grand_child .get_abilities (user ),
351
+ "ancestors_link_reach" : reach ,
352
+ "ancestors_link_role" : grand_parent .link_role ,
325
353
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
326
354
"creator" : str (grand_child .creator .id ),
327
355
"depth" : 5 ,
@@ -340,6 +368,8 @@ def test_api_documents_descendants_list_authenticated_public_or_authenticated_pa
340
368
},
341
369
{
342
370
"abilities" : child2 .get_abilities (user ),
371
+ "ancestors_link_reach" : reach ,
372
+ "ancestors_link_role" : grand_parent .link_role ,
343
373
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
344
374
"creator" : str (child2 .creator .id ),
345
375
"depth" : 4 ,
@@ -414,6 +444,8 @@ def test_api_documents_descendants_list_authenticated_related_direct():
414
444
"results" : [
415
445
{
416
446
"abilities" : child1 .get_abilities (user ),
447
+ "ancestors_link_reach" : child1 .ancestors_link_reach ,
448
+ "ancestors_link_role" : child1 .ancestors_link_role ,
417
449
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
418
450
"creator" : str (child1 .creator .id ),
419
451
"depth" : 2 ,
@@ -432,6 +464,8 @@ def test_api_documents_descendants_list_authenticated_related_direct():
432
464
},
433
465
{
434
466
"abilities" : grand_child .get_abilities (user ),
467
+ "ancestors_link_reach" : grand_child .ancestors_link_reach ,
468
+ "ancestors_link_role" : grand_child .ancestors_link_role ,
435
469
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
436
470
"creator" : str (grand_child .creator .id ),
437
471
"depth" : 3 ,
@@ -450,6 +484,8 @@ def test_api_documents_descendants_list_authenticated_related_direct():
450
484
},
451
485
{
452
486
"abilities" : child2 .get_abilities (user ),
487
+ "ancestors_link_reach" : child2 .ancestors_link_reach ,
488
+ "ancestors_link_role" : child2 .ancestors_link_role ,
453
489
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
454
490
"creator" : str (child2 .creator .id ),
455
491
"depth" : 2 ,
@@ -504,6 +540,8 @@ def test_api_documents_descendants_list_authenticated_related_parent():
504
540
"results" : [
505
541
{
506
542
"abilities" : child1 .get_abilities (user ),
543
+ "ancestors_link_reach" : child1 .ancestors_link_reach ,
544
+ "ancestors_link_role" : child1 .ancestors_link_role ,
507
545
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
508
546
"creator" : str (child1 .creator .id ),
509
547
"depth" : 4 ,
@@ -522,6 +560,8 @@ def test_api_documents_descendants_list_authenticated_related_parent():
522
560
},
523
561
{
524
562
"abilities" : grand_child .get_abilities (user ),
563
+ "ancestors_link_reach" : grand_child .ancestors_link_reach ,
564
+ "ancestors_link_role" : grand_child .ancestors_link_role ,
525
565
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
526
566
"creator" : str (grand_child .creator .id ),
527
567
"depth" : 5 ,
@@ -540,6 +580,8 @@ def test_api_documents_descendants_list_authenticated_related_parent():
540
580
},
541
581
{
542
582
"abilities" : child2 .get_abilities (user ),
583
+ "ancestors_link_reach" : child2 .ancestors_link_reach ,
584
+ "ancestors_link_role" : child2 .ancestors_link_role ,
543
585
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
544
586
"creator" : str (child2 .creator .id ),
545
587
"depth" : 4 ,
@@ -640,6 +682,8 @@ def test_api_documents_descendants_list_authenticated_related_team_members(
640
682
"results" : [
641
683
{
642
684
"abilities" : child1 .get_abilities (user ),
685
+ "ancestors_link_reach" : child1 .ancestors_link_reach ,
686
+ "ancestors_link_role" : child1 .ancestors_link_role ,
643
687
"created_at" : child1 .created_at .isoformat ().replace ("+00:00" , "Z" ),
644
688
"creator" : str (child1 .creator .id ),
645
689
"depth" : 2 ,
@@ -658,6 +702,8 @@ def test_api_documents_descendants_list_authenticated_related_team_members(
658
702
},
659
703
{
660
704
"abilities" : grand_child .get_abilities (user ),
705
+ "ancestors_link_reach" : grand_child .ancestors_link_reach ,
706
+ "ancestors_link_role" : grand_child .ancestors_link_role ,
661
707
"created_at" : grand_child .created_at .isoformat ().replace ("+00:00" , "Z" ),
662
708
"creator" : str (grand_child .creator .id ),
663
709
"depth" : 3 ,
@@ -676,6 +722,8 @@ def test_api_documents_descendants_list_authenticated_related_team_members(
676
722
},
677
723
{
678
724
"abilities" : child2 .get_abilities (user ),
725
+ "ancestors_link_reach" : child2 .ancestors_link_reach ,
726
+ "ancestors_link_role" : child2 .ancestors_link_role ,
679
727
"created_at" : child2 .created_at .isoformat ().replace ("+00:00" , "Z" ),
680
728
"creator" : str (child2 .creator .id ),
681
729
"depth" : 2 ,
0 commit comments