def test_search_ranks_cannot_be_negative(self): self.save_new_valid_exploration(self.EXP_ID, self.owner_id) exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) base_search_rank = 20 self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank) # A user can (down-)rate an exploration at most once. for i in range(50): rating_services.assign_rating_to_exploration( 'user_id_1', self.EXP_ID, 1) exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank - 5) for i in range(50): rating_services.assign_rating_to_exploration( 'user_id_%s' % i, self.EXP_ID, 1) # The rank will be at least 0. exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) self.assertEqual(search_services.get_search_rank_from_exp_summary( exp_summary), 0)
def test_get_search_rank(self): self.save_new_valid_exploration(self.EXP_ID, self.owner_id) exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) base_search_rank = 20 self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank) rights_manager.publish_exploration(self.owner, self.EXP_ID) self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank) rating_services.assign_rating_to_exploration( self.owner_id, self.EXP_ID, 5) exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank + 10) rating_services.assign_rating_to_exploration( self.user_id_admin, self.EXP_ID, 2) exp_summary = exp_fetchers.get_exploration_summary_by_id(self.EXP_ID) self.assertEqual( search_services.get_search_rank_from_exp_summary(exp_summary), base_search_rank + 8)