Пример #1
0
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
Пример #2
0
 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())
Пример #3
0
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)