def test_taula_representacio_csv_write_data(self): folder_1 = fixtures.create_content(self.portal, fixtures.folder_1) for ens_number in (1, 2): ens = dummy.create_ens(folder_1, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num, is_historic=True) folder_2 = fixtures.create_content(self.portal, fixtures.folder_2) for ens_number in (3,): ens = dummy.create_ens(folder_2, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) view = api.content.get_view('taula_representacio_csv', self.layer['portal'], self.layer['request']) # Test that only ens in folder-1 are written data = self.taula_csv_get_data(view, [folder_1]) with self.open_file('taula_representacio_f1.csv') as reference: self.assertEqual(reference.read(), data) # Test that only ens in folder-2 are written data = self.taula_csv_get_data(view, [folder_2]) with self.open_file('taula_representacio_f2.csv') as reference: self.assertEqual(reference.read(), data) # Test that ens in both folder-1 and folder-2 are written data = self.taula_csv_get_data(view, [folder_1, folder_2]) with self.open_file('taula_representacio_f1_f2.csv') as reference: self.assertEqual(reference.read(), data) # Test that all ens are written when no folder is specified data = self.taula_csv_get_data(view) with self.open_file('taula_representacio_f1_f2.csv') as reference: self.assertEqual(reference.read(), data) # Test that no ens are written when a nonexistent folder is specified data = self.taula_csv_get_data( view, [Mock(absolute_url_path=Mock(side_effect=('/nonexistent/path',)))]) with self.open_file('taula_representacio_empty.csv') as reference: self.assertEqual(reference.read(), data)
def test_taula_representacio(self): folder_1 = fixtures.create_content(self.portal, fixtures.folder_1) folder_1_titles = [] for ens_number in (1, 2): ens = dummy.create_ens(folder_1, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): carrec = dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num, is_historic=True) folder_1_titles.append( carrec.title.encode('utf-8')) folder_2 = fixtures.create_content(self.portal, fixtures.folder_2) folder_2_titles = [] for ens_number in (3,): ens = dummy.create_ens(folder_2, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): carrec = dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) folder_2_titles.append( carrec.title.encode('utf-8')) commit() view = api.content.get_view('taula_representacio', self.layer['portal'], self.layer['request']) # Test that ens in folder-1 are shown in alphabetical order folder_list = [folder_1] self.browser.open((view.url() + self.get_folders_query_string(folder_list))) self.assertAppearInOrder(folder_1_titles, self.browser.contents) for title in folder_2_titles: self.assertNotIn(title, self.browser.contents) # Test that ens in folder-2 are shown in alphabetical order folder_list = [folder_2] self.browser.open((view.url() + self.get_folders_query_string(folder_list))) self.assertAppearInOrder(folder_2_titles, self.browser.contents) for title in folder_1_titles: self.assertNotIn(title, self.browser.contents) # Test that ens in both folder-1 and folder-2 are shown in alphabetical # order folder_list = [folder_1, folder_2] self.browser.open((view.url() + self.get_folders_query_string(folder_list))) folder_1_2_titles = folder_1_titles + folder_2_titles self.assertAppearInOrder(folder_1_2_titles, self.browser.contents) # Test all ens are shown in alphabetical order when no folder specified folder_list = [folder_1, folder_2] self.browser.open(view.url()) folder_1_2_titles = folder_1_titles + folder_2_titles self.assertAppearInOrder(folder_1_2_titles, self.browser.contents) # Test that no ens are shown if a nonexistent folder is specified folder_list = [ Mock(absolute_url_path=Mock(side_effect=('/nonexistent/path',)))] self.browser.open((view.url() + self.get_folders_query_string(folder_list))) for title in folder_1_2_titles: self.assertNotIn(title, self.browser.contents)
def test_search_results(self): folder_1 = fixtures.create_content(self.portal, fixtures.folder_1) folder_1_titles_nonhistorics = [] folder_1_titles_historics = [] folder_1_titles_all = [] for ens_number in (1, 2): ens = dummy.create_ens(folder_1, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): carrec_nonhistoric = dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) carrec_historic = dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num, is_historic=True) folder_1_titles_nonhistorics.append( carrec_nonhistoric.title.encode('utf-8')) folder_1_titles_historics.append( carrec_historic.title.encode('utf-8')) folder_1_titles_all.append( carrec_nonhistoric.title.encode('utf-8')) folder_1_titles_all.append( carrec_historic.title.encode('utf-8')) folder_2 = fixtures.create_content(self.portal, fixtures.folder_2) folder_2_titles_all = [] for ens_number in (3,): ens = dummy.create_ens(folder_2, ens_number) for organ_type in ('Govern', 'Assessor'): for organ_num in (1, 2): organ = dummy.create_organ(ens, organ_type, organ_num) for carrec_num in (1, 2): for persona_num in (1, 2): carrec = dummy.create_carrec( organ, ens_number, organ_type, organ_num, carrec_num, persona_num) folder_2_titles_all.append( carrec.title.encode('utf-8')) commit() view = api.content.get_view('carrec_search_results', self.layer['portal'], self.layer['request']) # Test that carrecs in folder-1 are shown in alphabetical order folder_list = [folder_1] # Test when text is empty and historics=False self.browser.open((view.url() + self.get_query_string('', folder_list, False))) self.assertAppearInOrder( sorted(folder_1_titles_nonhistorics), self.browser.contents) for title in folder_1_titles_historics: self.assertNotIn(title, self.browser.contents) for title in folder_2_titles_all: self.assertNotIn(title, self.browser.contents) # Test when text is empty and historics=True self.browser.open((view.url() + self.get_query_string('', folder_list, True))) self.assertAppearInOrder( sorted(folder_1_titles_all), self.browser.contents) for title in folder_2_titles_all: self.assertNotIn(title, self.browser.contents) # Test when text is not empty and historics=False text = 'Persona 01' self.browser.open((view.url() + self.get_query_string(text, folder_list, False))) self.assertAppearInOrder( sorted( [title for title in folder_1_titles_nonhistorics if title.startswith(text)]), self.browser.contents) for title in [title for title in folder_1_titles_nonhistorics if not title.startswith(text)]: self.assertNotIn(title, self.browser.contents) for title in folder_1_titles_historics: self.assertNotIn(title, self.browser.contents) for title in folder_2_titles_all: self.assertNotIn(title, self.browser.contents) # Test when text is not empty and historics=True text = 'Persona 01' self.browser.open((view.url() + self.get_query_string(text, folder_list, True))) self.assertAppearInOrder( sorted( [title for title in folder_1_titles_all if title.startswith(text)]), self.browser.contents) for title in [title for title in folder_1_titles_all if not title.startswith(text)]: self.assertNotIn(title, self.browser.contents) for title in folder_2_titles_all: self.assertNotIn(title, self.browser.contents) # Test that ens in folder-2 are shown in alphabetical order folder_list = [folder_2] self.browser.open((view.url() + self.get_query_string('', folder_list, False))) self.assertAppearInOrder( sorted(folder_2_titles_all), self.browser.contents) for title in folder_1_titles_all: self.assertNotIn(title, self.browser.contents) # Test that ens in both folder-1 and folder-2 are shown in alphabetical # order folder_list = [folder_1, folder_2] self.browser.open((view.url() + self.get_query_string('', folder_list, False))) folder_1_2_titles = folder_1_titles_nonhistorics + folder_2_titles_all self.assertAppearInOrder( sorted(folder_1_2_titles), self.browser.contents) # Test all ens are shown in alphabetical order when no folder specified self.browser.open(view.url()) folder_1_2_titles = folder_1_titles_nonhistorics + folder_2_titles_all self.assertAppearInOrder( sorted(folder_1_2_titles), self.browser.contents) # Test that no ens are shown if a nonexistent folder is specified folder_list = [ Mock(absolute_url_path=Mock(side_effect=('/nonexistent/path',)))] self.browser.open((view.url() + self.get_query_string('', folder_list, False))) for title in folder_1_2_titles: self.assertNotIn(title, self.browser.contents)
def test_search_results(self): # Create the following contents: # folder title fig.jur. estat description # 1 Ens 01 Fundació Pre-Alta cancel·lada desc-a # 1 Ens 02 Fundació Pre-Alta cancel·lada desc-b # 1 Ens 03 Fundació Actiu desc-a # 1 Ens 04 Fundació Actiu desc-b folder_1 = fixtures.create_content(self.portal, fixtures.folder_1) ens_list = [] for figura_juridica in (u'Fundació',): for estat in ( u'Pre-Alta cancel·lada', u'Actiu'): for description in (u'desc-a', u'desc-b'): ens_list.append(dummy.create_ens( folder_1, len(ens_list) + 1, figura_juridica=figura_juridica, estat=estat, description=description)) # Create the following contents: # folder title fig.jur. estat description # 1 Ens 05 Societat Pre-Baixa desc-a # 1 Ens 06 Societat Pre-Baixa desc-b # 1 Ens 07 Societat Pre-Alta desc-a # 1 Ens 08 Societat Pre-Alta desc-b for figura_juridica in (u'Societat',): for estat in ( u'Pre-Baixa', u'Pre-Alta'): for description in (u'desc-a', u'desc-b'): ens_list.append(dummy.create_ens( folder_1, len(ens_list) + 1, figura_juridica=figura_juridica, estat=estat, description=description)) # Create the following contents: # folder title fig.jur. estat description # 2 Ens 09 Consorci Baixa desc-c folder_2 = fixtures.create_content(self.portal, fixtures.folder_2) ens_list.append(dummy.create_ens( folder_2, len(ens_list) + 1, figura_juridica=u'Consorci', estat=u'Baixa', description=u'des-c')) commit() view = api.content.get_view('ens_search_results', self.layer['portal'], self.layer['request']) # Test that carrecs in folder-1 are shown in alphabetical order folder_list = [folder_1] # Test filtering by figura jurídica self.browser.open((view.url() + self.get_query_string( 'Fundació', '', folder_list, ''))) self.assertAppearInOrder( [ens.title.encode('utf-8') for ens in ens_list[:4]], self.browser.contents) for title in [ens.title.encode('utf-8') for ens in ens_list[4:]]: self.assertNotIn(title, self.browser.contents) # Test filtering by figura jurídica and estat self.browser.open((view.url() + self.get_query_string( 'Fundació', 'Pre-Alta cancel·lada', folder_list, ''))) self.assertAppearInOrder( [ens.title.encode('utf-8') for ens in ens_list[:2]], self.browser.contents) for title in [ens.title.encode('utf-8') for ens in ens_list[2:]]: self.assertNotIn(title, self.browser.contents) # Test filtering by figura jurídica, estat and text self.browser.open((view.url() + self.get_query_string( 'Fundació', 'Pre-Alta cancel·lada', folder_list, 'desc-a'))) self.assertAppearInOrder( [ens.title.encode('utf-8') for ens in ens_list[:1]], self.browser.contents) for title in [ens.title.encode('utf-8') for ens in ens_list[1:]]: self.assertNotIn(title, self.browser.contents) # Test that carrecs in folder-2 are shown in alphabetical order folder_list = [folder_2] self.browser.open((view.url() + self.get_query_string('', '', folder_list, ''))) self.assertIn( ens_list[-1].title.encode('utf-8'), self.browser.contents) for title in [ens.title.encode('utf-8') for ens in ens_list[:-1]]: self.assertNotIn(title, self.browser.contents)