Support broadcasts with no areas data

Previously we used to return an empty CustomBroadcastAreas object,
which doesn't make sense for broadcasts created in this app.
This commit is contained in:
Ben Thorner
2021-09-06 11:57:32 +01:00
parent 411fda81c0
commit baf20e0075
2 changed files with 10 additions and 4 deletions

View File

@@ -99,10 +99,15 @@ class BroadcastMessage(JSONModel):
)
return library_areas
return CustomBroadcastAreas(
names=self._dict['areas']['names'],
polygons=self._dict['areas']['simple_polygons'],
)
polygons = self._dict['areas'].get('simple_polygons', [])
if polygons:
return CustomBroadcastAreas(
names=self._dict['areas']['names'],
polygons=polygons,
)
return []
@property
def area_ids(self):

View File

@@ -41,6 +41,7 @@ def test_content_comes_from_attribute_not_template():
@pytest.mark.parametrize(('areas', 'expected_length'), [
({'ids': []}, 0),
({'ids': ['wd20-E05009372']}, 1),
({'no data': 'just created'}, 0),
({'names': ['somewhere'], 'simple_polygons': [[[3.5, 1.5]]]}, 1)
])
def test_areas(