mirror of
https://github.com/sstent/FitTrack_ReportGenerator.git
synced 2026-01-26 17:12:28 +00:00
sync
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
import io
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch, mock_open
|
||||
from src.core.file_parser import GpxParser, WorkoutData, WorkoutMetadata
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_gpxpy_parse():
|
||||
with patch('gpxpy.parse') as mock_parse:
|
||||
with patch("gpxpy.parse") as mock_parse:
|
||||
mock_gpx = MagicMock()
|
||||
mock_parse.return_value = mock_gpx
|
||||
|
||||
@@ -35,17 +37,14 @@ def mock_gpxpy_parse():
|
||||
|
||||
yield mock_parse
|
||||
|
||||
def test_gpx_parser_initialization():
|
||||
parser = GpxParser("dummy.gpx")
|
||||
assert parser.file_path == "dummy.gpx"
|
||||
|
||||
def test_gpx_parser_parse_method_returns_workout_data(mock_gpxpy_parse):
|
||||
# Mock the open function as well, since GpxParser directly opens the file
|
||||
with patch('builtins.open', mock_open(read_data="<gpx></gpx>")):
|
||||
parser = GpxParser("dummy.gpx")
|
||||
workout_data = parser.parse()
|
||||
with patch("builtins.open", mock_open(read_data="<gpx></gpx>")):
|
||||
parser = GpxParser()
|
||||
workout_data = parser.parse(io.BytesIO(b"<gpx></gpx>"))
|
||||
|
||||
mock_gpxpy_parse.assert_called_once() # gpxpy.parse is called
|
||||
mock_gpxpy_parse.assert_called_once() # gpxpy.parse is called
|
||||
|
||||
assert isinstance(workout_data, WorkoutData)
|
||||
assert isinstance(workout_data.metadata, WorkoutMetadata)
|
||||
@@ -55,4 +54,4 @@ def test_gpx_parser_parse_method_returns_workout_data(mock_gpxpy_parse):
|
||||
assert not workout_data.time_series_data.empty
|
||||
assert "latitude" in workout_data.time_series_data.columns
|
||||
assert "longitude" in workout_data.time_series_data.columns
|
||||
assert "elevation" in workout_data.time_series_data.columns
|
||||
assert "elevation" in workout_data.time_series_data.columns
|
||||
|
||||
Reference in New Issue
Block a user