def create_report(context): #filter_service = rb_service = ReportBuilderService(context.db) rb_service.add_module(LaBSKReportBuilder(ReportBuilder(context.db))) rb_service.add_module(PlanetaLudicoReport(ReportBuilder(context.db))) presenter = ReportPresenter(ReportService(context.db)) presenter.database = context.db return presenter
def setUp(self): (self.db, self.col) = create_mock_for_db() self.service = ReportBuilderService() self.empty_report_request = {'name':'report', 'keywords':[]} self.service.set_save_stats_service(mock())
class TestReportBuilderService(unittest.TestCase): def setUp(self): (self.db, self.col) = create_mock_for_db() self.service = ReportBuilderService() self.empty_report_request = {'name':'report', 'keywords':[]} self.service.set_save_stats_service(mock()) def test_when_create_empty_report_an_entrymodel_object_is_created(self): result = self.service._create_empty_report(self.empty_report_request) self.assertIsInstance(result, ReportEntriesModel) def test_report_is_returned_as_json(self): result = self.service.build_report(self.empty_report_request) self.assertIsInstance(result.report, dict) def test_when_generating_a_report_service_calls_all_reports_module_with_entry_reoport_object(self): report_module = mock() self.service.add_module(report_module) self.service.build_report(self.empty_report_request) verify(report_module).build_report(self.empty_report_request, any(ReportEntriesModel), any()) def test_when_building_report_save_stats(self): self.service.save_stats = mock() self.service.build_report(self.empty_report_request) verify(self.service.save_stats, 1)._save_report_stats(self.empty_report_request['name'], any()) ## Testing the description of the filters def test_when_bukider_has_no_filters_description_is_empty(self): desc = self.service.descriptions_from_filters() print desc self.assertEqual(len(desc), 0) def test_when_builder_has_filter_Service_with_two_filters_description_has_two_strings(self): mock_filter = mock() filter_service = FilteringService() filter_service.add_filter(mock_filter) filter_service.add_filter(mock_filter) self.service.set_filter_service(filter_service) desc = self.service.descriptions_from_filters() self.assertEqual(len(desc), 2)