Esempio n. 1
0
    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'])
Esempio n. 2
0
    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())
Esempio n. 3
0
    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)
Esempio n. 4
0
 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')
         ])
Esempio n. 5
0
    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')
            ])
Esempio n. 6
0
 def documents_interes(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_documents_interes_by_ens_obj(self.context)
Esempio n. 7
0
 def escriptures(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_escriptures_by_ens_obj(self.context)
Esempio n. 8
0
 def estatuts_historics(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_estatuts_by_ens_obj(self.context, is_vigent=False)
Esempio n. 9
0
 def search(self):
     reporter = EnsDataReporter(
         getToolByName(self.context, 'portal_catalog'))
     return reporter.search(self.parse_search_filters())
Esempio n. 10
0
 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)
Esempio n. 11
0
 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)
Esempio n. 13
0
 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')))
Esempio n. 14
0
 def list(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_identificacio(self.parse_search_filters())
Esempio n. 15
0
 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)
Esempio n. 17
0
 def actes_reunio(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_actes_reunio_by_ens_obj(self.context)
Esempio n. 18
0
 def directius(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_directius_by_ens_obj(self.context)
Esempio n. 19
0
 def organs_assessors(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_organs_by_ens(self.context, tipus="Assessor")
Esempio n. 20
0
 def list(self):
     reporter = EnsDataReporter(getToolByName(self, 'portal_catalog'))
     return reporter.list_representacio(
         is_historic=False,
         search_filters=self.parse_search_filters())