diff --git a/app/broadcast_areas/broadcast-areas.sqlite3 b/app/broadcast_areas/broadcast-areas.sqlite3 index 81c085e9c..dca02edc5 100644 Binary files a/app/broadcast_areas/broadcast-areas.sqlite3 and b/app/broadcast_areas/broadcast-areas.sqlite3 differ diff --git a/app/broadcast_areas/create-broadcast-areas-db.py b/app/broadcast_areas/create-broadcast-areas-db.py index c8ead3137..c5817b979 100755 --- a/app/broadcast_areas/create-broadcast-areas-db.py +++ b/app/broadcast_areas/create-broadcast-areas-db.py @@ -88,6 +88,7 @@ def estimate_number_of_smartphones_in_area(country_or_ward_code): test_filepath = source_files_path / "Test.geojson" +demo_filepath = source_files_path / "Demo.geojson" ctry19_filepath = source_files_path / "Countries.geojson" # https://geoportal.statistics.gov.uk/datasets/wards-may-2020-boundaries-uk-bgc @@ -181,6 +182,41 @@ def add_test_areas(): repo.insert_broadcast_areas(areas_to_add, keep_old_polygons) +def add_demo_areas(): + dataset_id = 'demo' + dataset_geojson = geojson.loads(demo_filepath.read_text()) + repo.insert_broadcast_area_library( + dataset_id, + name='Demo areas', + name_singular='demo area', + is_group=False, + ) + + areas_to_add = [] + for feature in dataset_geojson["features"]: + f_id = feature["properties"]['id'] + f_name = feature["properties"]['name'] + f_count_of_phones = feature["properties"]['count_of_phones'] + + print() # noqa: T001 + print(f_name) # noqa: T001 + + feature, _ = polygons_and_simplified_polygons( + feature["geometry"] + ) + + print(' Phones: ', f_count_of_phones) # noqa: T001 + + areas_to_add.append([ + f'{dataset_id}-{f_id}', f_name, + dataset_id, None, + feature, feature, + f_count_of_phones, + ]) + + repo.insert_broadcast_areas(areas_to_add, keep_old_polygons) + + def add_countries(): dataset_id = 'ctry19' dataset_geojson = geojson.loads(ctry19_filepath.read_text()) @@ -330,6 +366,7 @@ else: repo.delete_db() repo.create_tables() add_test_areas() +add_demo_areas() add_countries() add_wards_local_authorities_and_counties() diff --git a/app/broadcast_areas/source_files/Demo.geojson b/app/broadcast_areas/source_files/Demo.geojson new file mode 100644 index 000000000..888b2d3f7 --- /dev/null +++ b/app/broadcast_areas/source_files/Demo.geojson @@ -0,0 +1,24 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "id": "sizewell", + "name": "Sizewell", + "count_of_phones": 700 + }, + "geometry": { + "type": "Polygon", + "coordinates": [[ + [1.58242, 52.22035], + [1.58491, 52.19521], + [1.59971, 52.19325], + [1.62352, 52.19372], + [1.62599, 52.21901], + [1.58242, 52.22035] + ]] + } + } + ] +} diff --git a/tests/app/broadcast_areas/test_broadcast_area.py b/tests/app/broadcast_areas/test_broadcast_area.py index f25a44856..5ec865c76 100644 --- a/tests/app/broadcast_areas/test_broadcast_area.py +++ b/tests/app/broadcast_areas/test_broadcast_area.py @@ -27,6 +27,11 @@ def test_loads_libraries(): 'Countries', False, ), + ( + 'demo', + 'Demo areas', + False, + ), ( 'wd20-lad20-ctyua19', 'Local authorities', @@ -159,9 +164,10 @@ def test_repository_has_all_libraries(): repo = BroadcastAreasRepository() libraries = repo.get_libraries() - assert len(libraries) == 3 + assert len(libraries) == 4 assert [ ('Countries', 'country'), + ('Demo areas', 'demo area'), ('Test areas', 'test area'), ('Local authorities', 'local authority'), ] == [(name, name_singular) for _, name, name_singular, _is_group in libraries] diff --git a/tests/app/main/views/test_broadcast.py b/tests/app/main/views/test_broadcast.py index 1c4ef92bc..0028779d0 100644 --- a/tests/app/main/views/test_broadcast.py +++ b/tests/app/main/views/test_broadcast.py @@ -900,6 +900,7 @@ def test_preview_broadcast_areas_page_with_custom_polygons( @pytest.mark.parametrize('areas, expected_list', ( ([], [ 'Countries', + 'Demo areas', 'Local authorities', 'Test areas', ]), @@ -909,6 +910,7 @@ def test_preview_broadcast_areas_page_with_custom_polygons( 'ctry19-S92000003', ], [ 'Countries', + 'Demo areas', 'Local authorities', 'Test areas', ]), @@ -919,6 +921,7 @@ def test_preview_broadcast_areas_page_with_custom_polygons( 'lad20-E06000052', # Cornwall, a unitary authority ], [ 'Countries', + 'Demo areas', 'Local authorities', 'Test areas', ]), @@ -936,6 +939,7 @@ def test_preview_broadcast_areas_page_with_custom_polygons( 'Shetland Islands', # --- 'Countries', + 'Demo areas', 'Local authorities', 'Test areas', ]),