From 9920a8dc72ea872eeb74a7e82aff5f05c69c302d Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sat, 16 Jun 2018 10:05:30 -0700 Subject: [PATCH] Failing tests for label stuff --- tests/test_csv.py | 25 +++++++++++++++++++++++++ tests/test_html.py | 14 ++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/tests/test_csv.py b/tests/test_csv.py index d2475f67..2337c835 100644 --- a/tests/test_csv.py +++ b/tests/test_csv.py @@ -11,6 +11,24 @@ hello world '''.replace('\n', '\r\n') +EXPECTED_TABLE_WITH_LABELS_CSV = ''' +pk,planet_int,state,city_id,city_id_label,neighborhood +1,1,CA,1,San Francisco,Mission +2,1,CA,1,San Francisco,Dogpatch +3,1,CA,1,San Francisco,SOMA +4,1,CA,1,San Francisco,Tenderloin +5,1,CA,1,San Francisco,Bernal Heights +6,1,CA,1,San Francisco,Hayes Valley +7,1,CA,2,Los Angeles,Hollywood +8,1,CA,2,Los Angeles,Downtown +9,1,CA,2,Los Angeles,Los Feliz +10,1,CA,2,Los Angeles,Koreatown +11,1,MI,3,Detroit,Downtown +12,1,MI,3,Detroit,Greektown +13,1,MI,3,Detroit,Corktown +14,1,MI,3,Detroit,Mexicantown +15,2,MC,4,Memnonia,Arcadia Planitia +'''.strip().replace('\n', '\r\n') def test_table_csv(app_client): response = app_client.get('/test_tables/simple_primary_key.csv') @@ -19,6 +37,13 @@ def test_table_csv(app_client): assert EXPECTED_TABLE_CSV == response.text +def test_table_csv_with_labels(app_client): + response = app_client.get('/test_tables/facetable.csv?_labels=1') + assert response.status == 200 + assert 'text/plain; charset=utf-8' == response.headers['Content-Type'] + assert EXPECTED_TABLE_WITH_LABELS_CSV == response.text + + def test_custom_sql_csv(app_client): response = app_client.get( '/test_tables.csv?sql=select+content+from+simple_primary_key+limit+2' diff --git a/tests/test_html.py b/tests/test_html.py index c6ac54a5..5ad3751a 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -388,6 +388,20 @@ def test_table_html_foreign_key_links(app_client): assert expected == [[str(td) for td in tr.select('td')] for tr in table.select('tbody tr')] +def test_table_html_disable_foreign_key_links_with_labels(app_client): + response = app_client.get('/test_tables/foreign_key_references?_labels=off') + assert response.status == 200 + table = Soup(response.body, 'html.parser').find('table') + expected = [ + [ + '1', + 'hello\xa01', + '1' + ] + ] + assert expected == [[str(td) for td in tr.select('td')] for tr in table.select('tbody tr')] + + def test_table_html_foreign_key_custom_label_column(app_client): response = app_client.get('/test_tables/custom_foreign_key_label') assert response.status == 200