class TestGenerateReports(unittest.TestCase): def setUp(self): self.report = ReportService(MongoDB(col="labsk_merge")) self.presenter = ReportPresenter() self.presenter.set_builder(self.report) def test_find_zacatrus_thread_in_report(self): result = self.report.build_report(PreGeneratedReports.tienda_zacatrus) found = False # print "X" for thread in result.report["zacatrus"]: if thread["link"] == "http://labsk.net/index.php?topic=129533.0": found = True break self.assertTrue(found) def test_find_zacatrus_with_presenter(self): result = self.presenter.report_and_stats(PreGeneratedReports.tienda_zacatrus) found = False # print "X" for thread in result.report["zacatrus"]: if thread["link"] == "http://labsk.net/index.php?topic=129533.0": found = True break self.assertTrue(found) def test_find_finplay_thread_in_report(self): result = self.report.build_report(PreGeneratedReports.tienda_finplay) found = False # print "X" for thread in result.report["finplay"]: if thread["link"] == "http://labsk.net/index.php?topic=121033.0": found = True break self.assertTrue(found) def test_find_finplay_with_presenter(self): result = self.presenter.report_and_stats(PreGeneratedReports.tienda_finplay) found = False # print "X" for thread in result.report["finplay"]: if thread["link"] == "http://labsk.net/index.php?topic=121033.0": found = True break self.assertTrue(found) def test_find_finplay_with_presenter_filtering_2013(self): result = self.presenter.report_and_stats(PreGeneratedReports.tienda_finplay, filter_year="2013") found = False # print "X" for thread in result.report["finplay"]: if thread["link"] == "http://labsk.net/index.php?topic=121033.0": found = True break self.assertTrue(found) """
class TestReportPresenter(unittest.TestCase): pre = post = None def setUp(self): global pre, post self.presenter = ReportPresenter() pre = post = self self.builder = mock() rr = ReportResult("Valid") when(self.builder).build_report(any()).thenReturn(rr) self.presenter.set_builder(self.builder) def test_when_transform_a_report_to_gui_first_text_is_report_name(self): result = self.presenter._toGUIMode(Reports.asylum, Reports.asylum_keywords) post.assertEqual(result.text[0], Reports.asylum['title']) def test_when_transform_a_report_to_gui_has_as_many_nexttext_as_keywords(self): result = self.presenter._toGUIMode(Reports.asylum, Reports.asylum_keywords) print result.nexttext post.assertEqual(len(result.nexttext), 4) def test_set_database(self): mongo_mock = MockMongo() self.presenter.database = mongo_mock self.assertEquals(self.presenter.database, mongo_mock) def test_report_and_stats_returns_a_report_and_stats__(self): result = self.presenter.report_and_stats({'keywords':[]}) post.assertIsNotNone(result) post.assertIsNotNone(result.report) post.assertIsNotNone(result.report_stats) def test_report_and_stats_returns_a_valid_report(self): result = self.presenter.report_and_stats({'keywords':[]}) post.assertEquals(result.report, "Valid") def test_report_and_stats_returns_a_valid_stats(self): text_stats = self.presenter.generateStats(PreGeneratedReports.report_asylum_games, Reports.asylum) post.assertEquals(text_stats.text[0], "Asuntos encontrados: 4") post.assertEquals(text_stats.text[1], "Mensajes encontrados: 8") post.assertEquals(len(text_stats.text), 2) def test_when_filtering_the_stats_includes_a_msg_describibg_the_filter(self): result = self.presenter.report_and_stats({'keywords':[]}, filter_year='2015') stats = result.report_stats post.assertEquals(len(stats.text), 3) post.assertEquals(stats.text[2], "Se omiten asuntos sin mensajes desde el 2016 o posteriores")