171
171
self.assertEqual(1, self.view._reviews_server_page)
173
@patch('softwarecenter.backend.reviews.rnr.ReviewLoaderSpawningRNRClient'
175
def test_no_reviews_returned_attempts_relaxing(self, mock_get_reviews):
176
"""AppDetailsView._reviews_ready_callback will attempt to drop the
177
origin and distroseries restriction if no reviews are returned
178
with the restrictions in place.
180
self.view._do_load_reviews()
182
self.assertEqual(1, mock_get_reviews.call_count)
183
kwargs = mock_get_reviews.call_args[1]
184
self.assertEqual(False, kwargs['relaxed'])
185
self.assertEqual(1, kwargs['page'])
187
# Now we come back with no data
188
application, callback = mock_get_reviews.call_args[0]
189
callback(application, [])
191
self.assertEqual(2, mock_get_reviews.call_count)
192
kwargs = mock_get_reviews.call_args[1]
193
self.assertEqual(True, kwargs['relaxed'])
194
self.assertEqual(1, kwargs['page'])
196
@patch('softwarecenter.backend.reviews.rnr.ReviewLoaderSpawningRNRClient'
198
def test_all_duplicate_reviews_keeps_going(self, mock_get_reviews):
199
"""AppDetailsView._reviews_ready_callback will fetch another page if
200
all data returned was already displayed in the reviews list.
202
# Fixme: Do we have a test factory?
205
review.date_created = "2011-01-01 18:00:00"
206
review.version = "1.0"
207
review.summary = 'some summary'
208
review.review_text = 'Some text'
209
review.reviewer_username = "name"
210
review.reviewer_displayname = "displayname"
213
self.view.reviews.reviews = reviews
214
self.view._do_load_reviews()
216
self.assertEqual(1, mock_get_reviews.call_count)
217
kwargs = mock_get_reviews.call_args[1]
218
self.assertEqual(False, kwargs['relaxed'])
219
self.assertEqual(1, kwargs['page'])
221
# Now we come back with no NEW data
222
application, callback = mock_get_reviews.call_args[0]
223
callback(application, reviews)
225
self.assertEqual(2, mock_get_reviews.call_count)
226
kwargs = mock_get_reviews.call_args[1]
227
self.assertEqual(False, kwargs['relaxed'])
228
self.assertEqual(2, kwargs['page'])
174
231
if __name__ == "__main__":