def test_recommends_category(self, AgentMockCls):
     # ensure we use the same instance in test and code
     agent_mock_instance = AgentMockCls.return_value
     recommends_cat = RecommendedForYouCategory()
     docids = recommends_cat.get_documents(self.db)
     self.assertEqual(docids, [])
     self.assertTrue(agent_mock_instance.query_recommend_me.called)
     # ensure we get a query when the callback is called
     recommends_cat._recommend_me_result(
         None, make_recommender_agent_recommend_me_dict())
     self.assertNotEqual(recommends_cat.get_documents(self.db), [])
 def test_recommends_in_category_category(self, AgentMockCls):
     # ensure we use the same instance in test and code
     parser = CategoriesParser(self.db)
     cats = parser.parse_applications_menu("./data")
     # "2" is a multimedia query
     #     see ./test/data/desktop/software-center.menu
     recommends_cat = RecommendedForYouCategory(cats[2])
     # ensure we get a query when the callback is called
     recommends_cat._recommend_me_result(
         None, make_recommender_agent_recommend_me_dict())
     recommendations_in_cat = recommends_cat.get_documents(self.db)
     print recommendations_in_cat
     self.assertNotEqual(recommendations_in_cat, [])
 def _update_recommended_for_you_content(self):
     # destroy the old content to ensure we don't see it twice
     if self.recommended_for_you_content:
         self.recommended_for_you_content.destroy()
     # add the new stuff
     self.recommended_for_you_content = FlowableGrid()
     self.add(self.recommended_for_you_content)
     self.spinner_notebook.show_spinner(_(u"Receiving recommendations…"))
     # get the recommendations from the recommender agent
     self.recommended_for_you_cat = RecommendedForYouCategory(
         subcategory=self.subcategory)
     self.recommended_for_you_cat.connect(
         'needs-refresh', self._on_recommended_for_you_agent_refresh)
     self.recommended_for_you_cat.connect('recommender-agent-error',
                                          self._on_recommender_agent_error)