@@ -629,6 +629,10 @@ func TestPublic_FindCommentsCtrl_ConsistentCount(t *testing.T) {
629
629
assert .NoError (t , err )
630
630
srv .Cache .Flush (cache.FlusherRequest {})
631
631
632
+ commentLocator .URL = "readonly-test"
633
+ // set post without comments to read-only
634
+ assert .NoError (t , srv .DataService .SetReadOnly (commentLocator , true ))
635
+
632
636
sinceTenSecondsAgo := strconv .FormatInt (time .Now ().Add (- time .Second * 10 ).UnixNano ()/ 1000000 , 10 )
633
637
sinceTS := make ([]string , 9 )
634
638
formattedTS := make ([]string , 9 )
@@ -650,10 +654,10 @@ func TestPublic_FindCommentsCtrl_ConsistentCount(t *testing.T) {
650
654
{"url=test-url&since=" + sinceTenSecondsAgo , fmt .Sprintf (`"info":{"url":"test-url","count":6,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
651
655
{"since=" + sinceTS [0 ], fmt .Sprintf (`"info":{"count":7,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [8 ])},
652
656
{"url=test-url&since=" + sinceTS [0 ], fmt .Sprintf (`"info":{"url":"test-url","count":6,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
653
- {"since=" + sinceTS [1 ], fmt .Sprintf (`"info":{"count":7 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [8 ])},
654
- {"url=test-url&since=" + sinceTS [1 ], fmt .Sprintf (`"info":{"url":"test-url","count":6 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
655
- {"since=" + sinceTS [4 ], fmt .Sprintf (`"info":{"count":7 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [8 ])},
656
- {"url=test-url&since=" + sinceTS [4 ], fmt .Sprintf (`"info":{"url":"test-url","count":6 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
657
+ {"since=" + sinceTS [1 ], fmt .Sprintf (`"info":{"count":6 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [8 ])},
658
+ {"url=test-url&since=" + sinceTS [1 ], fmt .Sprintf (`"info":{"url":"test-url","count":5 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
659
+ {"since=" + sinceTS [4 ], fmt .Sprintf (`"info":{"count":3 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [8 ])},
660
+ {"url=test-url&since=" + sinceTS [4 ], fmt .Sprintf (`"info":{"url":"test-url","count":2 ,"first_time":%q,"last_time":%q}` , formattedTS [0 ], formattedTS [7 ])},
657
661
{"format=tree" , `"info":{"url":"test-url","count":7` },
658
662
{"format=tree&url=test-url" , `"info":{"url":"test-url","count":6` },
659
663
{"format=tree&sort=+time" , `"info":{"url":"test-url","count":7` },
@@ -666,12 +670,15 @@ func TestPublic_FindCommentsCtrl_ConsistentCount(t *testing.T) {
666
670
{"sort=+score&url=test-url" , fmt .Sprintf (`"score":10,"vote":0,"time":%q}],"info":{"url":"test-url","count":6` , formattedTS [2 ])},
667
671
{"sort=-score" , fmt .Sprintf (`"score":-25,"vote":0,"time":%q}],"info":{"count":7` , formattedTS [8 ])},
668
672
{"sort=-score&url=test-url" , fmt .Sprintf (`"score":-2,"vote":0,"controversy":1.5874010519681994,"time":%q}],"info":{"url":"test-url","count":6` , formattedTS [6 ])},
669
- {"sort=-time&since=" + sinceTS [4 ], fmt .Sprintf (`"score":-1,"vote":0,"controversy":2.924017738212866,"time":%q}],"info":{"count":7 ` , formattedTS [4 ])},
670
- {"sort=-score&since=" + sinceTS [3 ], fmt .Sprintf (`"score":-25,"vote":0,"time":%q}],"info":{"count":7 ` , formattedTS [8 ])},
671
- {"sort=-score&url=test-url&since=" + sinceTS [3 ], fmt .Sprintf (`"score":-2,"vote":0,"controversy":1.5874010519681994,"time":%q}],"info":{"url":"test-url","count":6 ` , formattedTS [6 ])},
672
- {"sort=+controversy&url=test-url&since=" + sinceTS [5 ], fmt .Sprintf (`"score":-2,"vote":0,"controversy":1.5874010519681994,"time":%q}],"info":{"url":"test-url","count":6 ` , formattedTS [6 ])},
673
+ {"sort=-time&since=" + sinceTS [4 ], fmt .Sprintf (`"score":-1,"vote":0,"controversy":2.924017738212866,"time":%q}],"info":{"count":3 ` , formattedTS [4 ])},
674
+ {"sort=-score&since=" + sinceTS [3 ], fmt .Sprintf (`"score":-25,"vote":0,"time":%q}],"info":{"count":4 ` , formattedTS [8 ])},
675
+ {"sort=-score&url=test-url&since=" + sinceTS [3 ], fmt .Sprintf (`"score":-2,"vote":0,"controversy":1.5874010519681994,"time":%q}],"info":{"url":"test-url","count":3 ` , formattedTS [6 ])},
676
+ {"sort=+controversy&url=test-url&since=" + sinceTS [5 ], fmt .Sprintf (`"score":-2,"vote":0,"controversy":1.5874010519681994,"time":%q}],"info":{"url":"test-url","count":1 ` , formattedTS [6 ])},
673
677
// three comments of which last one deleted and doesn't have controversy so returned last
674
- {"sort=-controversy&url=test-url&since=" + sinceTS [5 ], fmt .Sprintf (`"score":0,"vote":0,"time":%q,"delete":true}],"info":{"url":"test-url","count":6` , formattedTS [7 ])},
678
+ {"sort=-controversy&url=test-url&since=" + sinceTS [5 ], fmt .Sprintf (`"score":0,"vote":0,"time":%q,"delete":true}],"info":{"url":"test-url","count":1` , formattedTS [7 ])},
679
+ // test readonly status for the post without comments
680
+ {"url=readonly-test" , `"info":{"count":0,"read_only":true` },
681
+ {"format=tree&url=readonly-test" , `"info":{"count":0,"read_only":true` },
675
682
}
676
683
677
684
for _ , tc := range testCases {
0 commit comments