def test_list_carrecs_by_organ_grouped_by_ens_obj(self): reporter = EnsDataReporter(self.catalog) # No carrecs related to the organ with patch( 'genweb.ens.tests.test_data_access.MockCatalog.searchResults', Mock(side_effect=([], []))): carrecs = reporter.list_carrecs_by_organ_grouped_by_ens_obj(Mock()) self.assertEqual(carrecs, []) # Only UPC carrecs related to the organ upc_carrecs = [Mock(getObject=lambda: 1), Mock(getObject=lambda: 2)] with patch( 'genweb.ens.tests.test_data_access.MockCatalog.searchResults', Mock(side_effect=(upc_carrecs, []))): carrecs = reporter.list_carrecs_by_organ_grouped_by_ens_obj(Mock()) self.assertEqual(len(carrecs), 1) self.assertEqual(carrecs[0][0], 'UPC') self.assertEqual(carrecs[0][1], [1, 2]) # Only non-UPC carrecs related to the organ not_upc_carrecs = [Mock(getObject=lambda: Mock(ens='B', title='B1')), Mock(getObject=lambda: Mock(ens='A', title='A1')), Mock(getObject=lambda: Mock(ens='B', title='B2')), Mock(getObject=lambda: Mock(ens='C', title='C1')), Mock(getObject=lambda: Mock(ens='B', title='B3')), Mock(getObject=lambda: Mock(ens='A', title='A2'))] with patch( 'genweb.ens.tests.test_data_access.MockCatalog.searchResults', Mock(side_effect=([], not_upc_carrecs))): carrecs = reporter.list_carrecs_by_organ_grouped_by_ens_obj(Mock()) self.assertEqual([carrec[0] for carrec in carrecs], ['A', 'B', 'C']) self.assertEqual([c.title for c in carrecs[0][1]], ['A1', 'A2']) self.assertEqual([c.title for c in carrecs[1][1]], ['B1', 'B2', 'B3']) self.assertEqual([c.title for c in carrecs[2][1]], ['C1']) # Both UPC and non-UPC carrecs related to the organ with patch( 'genweb.ens.tests.test_data_access.MockCatalog.searchResults', Mock(side_effect=(upc_carrecs, not_upc_carrecs))): carrecs = reporter.list_carrecs_by_organ_grouped_by_ens_obj(Mock()) self.assertEqual([carrec[0] for carrec in carrecs], ['UPC', 'A', 'B', 'C']) self.assertEqual(carrecs[0][1], [1, 2]) self.assertEqual([c.title for c in carrecs[1][1]], ['A1', 'A2']) self.assertEqual([c.title for c in carrecs[2][1]], ['B1', 'B2', 'B3']) self.assertEqual([c.title for c in carrecs[3][1]], ['C1'])
def test_datetime_to_DateTime(self): reporter = EnsDataReporter(self.catalog) source = datetime.datetime(2009, 8, 15, 23, 52, 11) target = reporter._datetime_to_DateTime(source) self.assertEqual(source.day, target.day()) self.assertEqual(source.month, target.month()) self.assertEqual(source.year, target.year()) self.assertEqual(source.hour, target.hour()) self.assertEqual(source.minute, target.minute()) self.assertEqual(source.second, target.second())
def test_get_date_range_with_negative_delta(self): reporter = EnsDataReporter(self.catalog) start = datetime.datetime(2010, 1, 22, 13, 51, 23) delta = -5 end = start + datetime.timedelta(days=delta) date_range = reporter._get_date_range(delta, start) self.assertEqual(len(date_range), 2) self.assertDateEqual(date_range[0], end) self.assertDateEqual(date_range[1], start)
def write_data(self, output_file): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) writer = csv.writer(output_file, dialect='excel', delimiter=';') writer.writerow(TaulaRepresentacioCsv.data_header_columns) for ens in reporter.list_representacio( is_historic=False, search_filters=self.parse_search_filters()): writer.writerow([ ens.denominacio.encode('utf-8'), ens.organ.encode('utf-8'), ens.persona.encode('utf-8'), ens.carrec.encode('utf-8'), ens.data_nomenament.encode('utf-8') ])
def write_data(self, output_file): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) writer = csv.writer(output_file, dialect='excel', delimiter=';') writer.writerow(TaulaIdentificativaCsv.data_header_columns) for ens in reporter.list_identificacio(self.parse_search_filters()): writer.writerow([ ens.codi.encode('utf-8'), ens.denominacio.encode('utf-8'), ens.nif.encode('utf-8'), ens.estat.encode('utf-8'), ens.figura_juridica.encode('utf-8'), ens.adscripcio.encode('utf-8'), ens.percentatge_participacio.encode('utf-8'), ens.aportacio.encode('utf-8'), ens.quota.encode('utf-8'), ens.etiquetes.encode('utf-8'), ens.web.encode('utf-8') ])
def documents_interes(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_documents_interes_by_ens_obj(self.context)
def escriptures(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_escriptures_by_ens_obj(self.context)
def estatuts_historics(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_estatuts_by_ens_obj(self.context, is_vigent=False)
def search(self): reporter = EnsDataReporter( getToolByName(self.context, 'portal_catalog')) return reporter.search(self.parse_search_filters())
def list_carrecs_by_organ(self, organ, is_historic=None): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_carrecs_by_organ_grouped_by_ens_obj( organ, is_historic=is_historic)
def organs_govern(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_organs_by_ens(self.context, tipus="Govern")
class TestDataAccessIntegration(IntegrationTestCase): def setUp(self): self.portal = self.layer['portal'] self.catalog = getToolByName(self.portal, 'portal_catalog') self.reporter = EnsDataReporter(self.catalog) def test_list_by_contenidor_id_and_review_state(self): contenidor_1 = fixtures.create_content( self.portal, fixtures.contenidor_1) ens_1 = fixtures.create_content(contenidor_1, fixtures.ens_1) ens_2 = fixtures.create_content(contenidor_1, fixtures.ens_2) contenidor_2 = fixtures.create_content( self.portal, fixtures.contenidor_2) ens_3 = fixtures.create_content(contenidor_2, fixtures.ens_3) contenidor_3 = fixtures.create_content( self.portal, fixtures.contenidor_3) ens = self.reporter.list_by_contenidor_id_and_review_state( contenidor_1.id) self.assertEqual(len(ens), 2) self.assertEqual(ens_1.id, ens[0].id) self.assertEqual(ens_2.id, ens[1].id) ens = self.reporter.list_by_contenidor_id_and_review_state( contenidor_2.id) self.assertEqual(len(ens), 1) self.assertEqual(ens_3.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_review_state( contenidor_3.id) self.assertEqual(len(ens), 0) def test_list_by_contenidor_id_and_estat_and_review_state(self): contenidor_1 = fixtures.create_content( self.portal, fixtures.contenidor_1) ens_1_actiu = fixtures.create_content( contenidor_1, fixtures.ens_1_actiu) ens_1_baixa = fixtures.create_content( contenidor_1, fixtures.ens_1_baixa) contenidor_2 = fixtures.create_content( self.portal, fixtures.contenidor_2) ens_2_actiu = fixtures.create_content( contenidor_2, fixtures.ens_2_actiu) ens_2_baixa = fixtures.create_content( contenidor_2, fixtures.ens_2_baixa) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_1.id, 'Actiu') self.assertEqual(len(ens), 1) self.assertEqual(ens_1_actiu.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_1.id, 'Baixa') self.assertEqual(len(ens), 1) self.assertEqual(ens_1_baixa.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_1.id, 'Altre') self.assertEqual(len(ens), 0) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_2.id, 'Actiu') self.assertEqual(len(ens), 1) self.assertEqual(ens_2_actiu.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_2.id, 'Baixa') self.assertEqual(len(ens), 1) self.assertEqual(ens_2_baixa.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_estat_and_review_state( contenidor_2.id, 'Altre') self.assertEqual(len(ens), 0) def test_list_by_contenidor_id_and_delta_and_review_state(self): contenidor_1 = fixtures.create_content( self.portal, fixtures.contenidor_1) ens_1 = fixtures.create_content( contenidor_1, { 'type': 'genweb.ens.ens', 'id': 'ens-1', 'title': 'Ens 1', 'acronim': 'acronim-1', 'estat': 'estat-1', 'effective': DateTime(2000, 1, 1, 0, 0, 0)}) ens_2 = fixtures.create_content( contenidor_1, { 'type': 'genweb.ens.ens', 'id': 'ens-2', 'title': 'Ens 2', 'acronim': 'acronim-2', 'estat': 'estat-2', 'effective': DateTime(2000, 1, 15, 0, 0, 0)}) ens_3 = fixtures.create_content( contenidor_1, { 'type': 'genweb.ens.ens', 'id': 'ens-3', 'title': 'Ens 3', 'acronim': 'acronim-3', 'estat': 'estat-3', 'effective': DateTime(2000, 1, 30, 0, 0, 0)}) contenidor_2 = fixtures.create_content( self.portal, fixtures.contenidor_2) fixtures.create_content( contenidor_2, { 'type': 'genweb.ens.ens', 'id': 'ens-4', 'title': 'Ens 4', 'acronim': 'acronim-4', 'estat': 'estat-4', 'effective': DateTime(2000, 1, 15, 0, 0, 0)}) ens = self.reporter.list_by_contenidor_id_and_delta_and_review_state( contenidor_1.id, -1, date_source=datetime(2000, 1, 30, 0, 0, 0)) self.assertEqual(len(ens), 1) self.assertEqual(ens_3.id, ens[0].id) ens = self.reporter.list_by_contenidor_id_and_delta_and_review_state( contenidor_1.id, -15, date_source=datetime(2000, 1, 30, 0, 0, 0)) self.assertEqual(len(ens), 2) self.assertEqual(ens_2.id, ens[0].id) self.assertEqual(ens_3.id, ens[1].id) ens = self.reporter.list_by_contenidor_id_and_delta_and_review_state( contenidor_1.id, -29, date_source=datetime(2000, 1, 30, 0, 0, 0)) self.assertEqual(len(ens), 3) self.assertEqual(ens_1.id, ens[0].id) self.assertEqual(ens_2.id, ens[1].id) self.assertEqual(ens_3.id, ens[2].id) ens = self.reporter.list_by_contenidor_id_and_delta_and_review_state( contenidor_1.id, -14, date_source=datetime(2000, 1, 15, 0, 0, 0)) self.assertEqual(len(ens), 2) self.assertEqual(ens_1.id, ens[0].id) self.assertEqual(ens_2.id, ens[1].id)
def calculate(self): catalog = getToolByName(self.context, 'portal_catalog') reporter = EnsDataReporter(catalog) return len(reporter.list_by_contenidor_id_and_review_state( self.category.id, ('intranet', 'published')))
def list(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_identificacio(self.parse_search_filters())
def convenis(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_convenis_by_ens_obj(self.context)
def setUp(self): self.portal = self.layer['portal'] self.catalog = getToolByName(self.portal, 'portal_catalog') self.reporter = EnsDataReporter(self.catalog)
def actes_reunio(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_actes_reunio_by_ens_obj(self.context)
def directius(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_directius_by_ens_obj(self.context)
def organs_assessors(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_organs_by_ens(self.context, tipus="Assessor")
def list(self): reporter = EnsDataReporter(getToolByName(self, 'portal_catalog')) return reporter.list_representacio( is_historic=False, search_filters=self.parse_search_filters())