@@ -27,15 +27,20 @@ public function test_it_sorts_resource_reviews_by_top_votes()
2727 $ reviews = ResourceReview::factory ()->count (3 )->create ();
2828
2929 // 10, 2, -1
30- UpvoteSummary::factory ()
31- ->forUpvotable ($ reviews [0 ])
32- ->create ([ 'upvotes ' => 10 , 'downvotes ' => 0 ]);
33- UpvoteSummary::factory ()
34- ->forUpvotable ($ reviews [1 ])
35- ->create ([ 'upvotes ' => 7 , 'downvotes ' => 8 ]); // 7 - 8 = -1
36- UpvoteSummary::factory ()
37- ->forUpvotable ($ reviews [2 ])
38- ->create ([ 'upvotes ' => 6 , 'downvotes ' => 4 ]); // 6 - 4 = 2
30+ $ summary1 = UpvoteSummary::where ('upvotable_id ' , $ reviews [0 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
31+ $ summary1 ->upvotes = 10 ;
32+ $ summary1 ->downvotes = 0 ;
33+ $ summary1 ->save ();
34+
35+ $ summary2 = UpvoteSummary::where ('upvotable_id ' , $ reviews [1 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
36+ $ summary2 ->upvotes = 7 ;
37+ $ summary2 ->downvotes = 8 ; // 7 - 8 = -1
38+ $ summary2 ->save ();
39+
40+ $ summary3 = UpvoteSummary::where ('upvotable_id ' , $ reviews [2 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
41+ $ summary3 ->upvotes = 6 ;
42+ $ summary3 ->downvotes = 4 ; // 6 - 4 = 2
43+ $ summary3 ->save ();
3944
4045 $ sorted = $ this ->sortingManager
4146 ->applySort (ResourceReview::query (), 'top ' )
@@ -48,25 +53,32 @@ public function test_it_sorts_resource_reviews_by_top_votes()
4853 $ reviews [2 ]->id ,
4954 $ reviews [1 ]->id ,
5055 ], $ sorted );
56+
5157 }
5258
5359 public function test_it_sorts_resource_reviews_by_bottom_votes ()
5460 {
5561 $ reviews = ResourceReview::factory ()->count (3 )->create ();
5662
5763 // Scores: -5, 0, 5
58- UpvoteSummary::factory ()
59- ->forUpvotable ($ reviews [0 ])
60- ->create ([ 'upvotes ' => 0 , 'downvotes ' => 5 ]);
61- UpvoteSummary::factory ()
62- ->forUpvotable ($ reviews [1 ])
63- ->create ([ 'upvotes ' => 3 , 'downvotes ' => 3 ]);
64- UpvoteSummary::factory ()
65- ->forUpvotable ($ reviews [2 ])
66- ->create ([ 'upvotes ' => 10 , 'downvotes ' => 5 ]);
64+ $ summary1 = UpvoteSummary::where ('upvotable_id ' , $ reviews [0 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
65+ $ summary1 ->upvotes = 0 ;
66+ $ summary1 ->downvotes = 5 ;
67+ $ summary1 ->save ();
68+
69+ $ summary2 = UpvoteSummary::where ('upvotable_id ' , $ reviews [1 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
70+ $ summary2 ->upvotes = 3 ;
71+ $ summary2 ->downvotes = 3 ;
72+ $ summary2 ->save ();
73+
74+ $ summary3 = UpvoteSummary::where ('upvotable_id ' , $ reviews [2 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
75+ $ summary3 ->upvotes = 10 ;
76+ $ summary3 ->downvotes = 5 ;
77+ $ summary3 ->save ();
6778
6879 $ sorted = $ this ->sortingManager
6980 ->applySort (ResourceReview::query (), 'bottom ' )
81+ ->get ()
7082 ->pluck ('id ' )
7183 ->toArray ();
7284
@@ -86,12 +98,24 @@ public function test_it_sorts_resource_reviews_by_controversial()
8698 // For (up, down): (5, 5) -> 10 - 0 = 10
8799 // (6, 4) -> 10 - 2 = 8
88100 // (10,0) -> 10 - 10 = 0
89- UpvoteSummary::factory ()->forUpvotable ($ reviews [0 ])->create (['upvotes ' =>5 , 'downvotes ' =>5 ]);
90- UpvoteSummary::factory ()->forUpvotable ($ reviews [1 ])->create (['upvotes ' =>6 , 'downvotes ' =>4 ]);
91- UpvoteSummary::factory ()->forUpvotable ($ reviews [2 ])->create (['upvotes ' =>10 , 'downvotes ' =>0 ]);
101+ $ summary1 = UpvoteSummary::where ('upvotable_id ' , $ reviews [0 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
102+ $ summary1 ->upvotes = 5 ;
103+ $ summary1 ->downvotes = 5 ;
104+ $ summary1 ->save ();
105+
106+ $ summary2 = UpvoteSummary::where ('upvotable_id ' , $ reviews [1 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
107+ $ summary2 ->upvotes = 6 ;
108+ $ summary2 ->downvotes = 4 ;
109+ $ summary2 ->save ();
110+
111+ $ summary3 = UpvoteSummary::where ('upvotable_id ' , $ reviews [2 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
112+ $ summary3 ->upvotes = 10 ;
113+ $ summary3 ->downvotes = 0 ;
114+ $ summary3 ->save ();
92115
93116 $ sorted = $ this ->sortingManager
94117 ->applySort (ResourceReview::query (), 'controversial ' )
118+ ->get ()
95119 ->pluck ('id ' )
96120 ->toArray ();
97121
@@ -108,9 +132,20 @@ public function test_it_sorts_resource_reviews_by_total_votes()
108132 $ reviews = ResourceReview::factory ()->count (3 )->create ();
109133
110134 // Total votes: 5, 10, 15
111- UpvoteSummary::factory ()->forUpvotable ($ reviews [0 ])->create (['upvotes ' =>2 , 'downvotes ' =>3 ]);
112- UpvoteSummary::factory ()->forUpvotable ($ reviews [1 ])->create (['upvotes ' =>5 , 'downvotes ' =>5 ]);
113- UpvoteSummary::factory ()->forUpvotable ($ reviews [2 ])->create (['upvotes ' =>10 , 'downvotes ' =>5 ]);
135+ $ summary1 = UpvoteSummary::where ('upvotable_id ' , $ reviews [0 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
136+ $ summary1 ->upvotes = 2 ;
137+ $ summary1 ->downvotes = 3 ;
138+ $ summary1 ->save ();
139+
140+ $ summary2 = UpvoteSummary::where ('upvotable_id ' , $ reviews [1 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
141+ $ summary2 ->upvotes = 5 ;
142+ $ summary2 ->downvotes = 5 ;
143+ $ summary2 ->save ();
144+
145+ $ summary3 = UpvoteSummary::where ('upvotable_id ' , $ reviews [2 ]->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
146+ $ summary3 ->upvotes = 10 ;
147+ $ summary3 ->downvotes = 5 ;
148+ $ summary3 ->save ();
114149
115150 $ sorted = $ this ->sortingManager
116151 ->applySort (ResourceReview::query (), 'total_votes ' )
@@ -132,8 +167,15 @@ public function test_it_sorts_resource_reviews_by_hot()
132167 // review2: created now, score 10
133168 $ review2 = ResourceReview::factory ()->create (['created_at ' => $ now ]);
134169
135- UpvoteSummary::factory ()->forUpvotable ($ review1 )->create (['upvotes ' =>100 , 'downvotes ' =>0 ]);
136- UpvoteSummary::factory ()->forUpvotable ($ review2 )->create (['upvotes ' =>10 , 'downvotes ' =>0 ]);
170+ $ summary1 = UpvoteSummary::where ('upvotable_id ' , $ review1 ->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
171+ $ summary1 ->upvotes = 100 ;
172+ $ summary1 ->downvotes = 0 ;
173+ $ summary1 ->save ();
174+
175+ $ summary2 = UpvoteSummary::where ('upvotable_id ' , $ review2 ->id )->where ('upvotable_type ' , ResourceReview::class)->first ();
176+ $ summary2 ->upvotes = 10 ;
177+ $ summary2 ->downvotes = 0 ;
178+ $ summary2 ->save ();
137179
138180 $ sorted = $ this ->sortingManager
139181 ->applySort (ResourceReview::query (), 'hot ' )
0 commit comments