Skip to content
2 changes: 1 addition & 1 deletion backend/apps/owasp/models/chapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ def save(self, *args, **kwargs) -> None:
if not self.suggested_location:
self.generate_suggested_location()

if not self.latitude or not self.longitude:
if self.latitude is None or self.longitude is None:
self.generate_geo_location()

super().save(*args, **kwargs)
Expand Down
2 changes: 1 addition & 1 deletion backend/apps/owasp/models/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ def save(self, *args, **kwargs):
if not self.suggested_location:
self.generate_suggested_location()

if not self.latitude or not self.longitude:
if self.latitude is None or self.longitude is None:
self.generate_geo_location()

super().save(*args, **kwargs)
11 changes: 11 additions & 0 deletions backend/tests/apps/owasp/models/chapter_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -294,3 +294,14 @@ def test_update_data_no_save(self):
assert result.key == "www-chapter-new"
mock_from_github.assert_called_once_with(mock_repository)
mock_save.assert_not_called()

@patch("apps.owasp.models.chapter.Chapter.generate_suggested_location")
def test_save_does_not_call_geo_location_on_zero_coords(self, mock_suggested):
"""Verify 0.0 coordinates are treated as valid data."""
chapter = Chapter(latitude=0.0, longitude=0.0, name="Test chapter")
with (
patch.object(chapter, "generate_geo_location") as mock_geo,
patch.object(Chapter, "save_base"),
):
chapter.save()
mock_geo.assert_not_called()
11 changes: 11 additions & 0 deletions backend/tests/apps/owasp/models/event_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,3 +458,14 @@ def test_save_generates_geo_when_missing(self):
event.save()

mock_gen_geo.assert_called_once()

@patch("apps.owasp.models.event.Event.generate_suggested_location")
def test_save_does_not_call_geo_location_on_zero_coords(self, mock_suggested):
"""Verify 0.0 coordinates are treated as valid data."""
event = Event(latitude=0.0, longitude=0.0, name="Test event")
with (
patch.object(event, "generate_geo_location") as mock_geo,
patch.object(Event, "save_base"),
):
event.save()
mock_geo.assert_not_called()