Skip to content

Commit

Permalink
HB2-66 fix Strava route import srid add test
Browse files Browse the repository at this point in the history
  • Loading branch information
Cedric Hofstetter committed Nov 9, 2020
1 parent 29664bf commit e574378
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
2 changes: 1 addition & 1 deletion homebytwo/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ def _mock_call_json_responses(call, response_mocks, *args, **kwargs):
def mock_import_route_call_response(client, mock_route_details_response):
def _mock_import_route_call_response(
data_source,
source_id,
source_id=12345678,
method="get",
post_data=None,
follow_redirect=False,
Expand Down
2 changes: 1 addition & 1 deletion homebytwo/importers/models/stravaroute.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def get_route_data(self, cookies=None):
if key == "latlng":
geom = LineString(
[(lng, lat) for lat, lng in stream.data], srid=4326
).transform(21781, clone=True)
).transform(3857, clone=True)

# import other streams
else:
Expand Down
15 changes: 12 additions & 3 deletions homebytwo/importers/tests/test_stravaroute.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from pathlib import Path

from django.contrib.gis.geos import LineString
from django.contrib.gis.geos import LineString, Point
from django.shortcuts import resolve_url
from django.urls import reverse
from django.utils.html import escape
Expand All @@ -16,6 +16,7 @@
from ...conftest import STRAVA_API_BASE_URL
from ...routes.fields import DataFrameField
from ...routes.models import ActivityType
from ...routes.tests.factories import PlaceFactory
from ...utils.factories import AthleteFactory
from ...utils.tests import get_route_post_data
from ..models import StravaRoute
Expand Down Expand Up @@ -176,15 +177,23 @@ def test_get_strava_routes_connection_error(athlete, client):


def test_get_import_strava_route(athlete, mock_import_route_call_response):
source_id = 2325453

response = mock_import_route_call_response("strava", source_id)
response = mock_import_route_call_response("strava")
route_name = escape("Le Flon - Col de Verne")

assert response.status_code == 200
assertContains(response, route_name)


def test_get_import_strava_route_with_checkpoints(
athlete, mock_import_route_call_response
):
place = PlaceFactory(geom=Point(x=759599.4425849458, y=5833329.401508623))
response = mock_import_route_call_response("strava")

assertContains(response, place.name)


def test_get_import_strava_route_already_imported(
athlete, mock_import_route_call_response
):
Expand Down
14 changes: 9 additions & 5 deletions homebytwo/importers/tests/test_switzerlandmobilityroute.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,23 @@
from re import compile as re_compile

from django.conf import settings
from django.contrib.gis.geos import LineString
from django.contrib.gis.geos import LineString, Point
from django.forms.models import model_to_dict
from django.shortcuts import resolve_url
from django.test import TestCase, override_settings
from django.urls import reverse
from django.utils.http import urlencode

import responses
from pytest_django.asserts import assertRedirects, assertContains
from pytest_django.asserts import assertContains, assertRedirects
from requests.exceptions import ConnectionError

from ...routes.fields import DataFrameField
from ...routes.forms import RouteForm
from ...routes.models import Checkpoint
from ...routes.tests.factories import PlaceFactory
from ...utils.factories import AthleteFactory, UserFactory
from ...utils.tests import read_data, create_checkpoints_from_geom, get_route_post_data
from ...utils.tests import create_checkpoints_from_geom, get_route_post_data, read_data
from ..exceptions import SwitzerlandMobilityError, SwitzerlandMobilityMissingCredentials
from ..forms import SwitzerlandMobilityLogin
from ..models import SwitzerlandMobilityRoute
Expand Down Expand Up @@ -475,8 +476,11 @@ def test_importers_index_view_logged_in(self):
response = self.client.get(url)
self.assertContains(response, content)

def test_switzerland_mobility_route_success(self):
def test_get_import_switzerland_mobility_route(self):

possible_checkpoint_place = PlaceFactory(
geom=Point(x=770627.7496480079, y=5804675.451271648)
)
response = self.get_import_route_response(route_id=2823968)

title = "<title>Home by Two - Import Haute Cime</title>"
Expand All @@ -485,10 +489,10 @@ def test_switzerland_mobility_route_success(self):
'class="field"',
'id="id_start_place"',
]

map_data = '<div id="main" class="leaflet-container-default"></div>'

self.assertContains(response, title, html=True)
self.assertContains(response, possible_checkpoint_place.name)
for start_place_form_element in start_place_form_elements:
self.assertContains(response, start_place_form_element)
self.assertContains(response, map_data, html=True)
Expand Down

0 comments on commit e574378

Please sign in to comment.