mirror of
https://github.com/sstent/FitTrack_GarminSync.git
synced 2026-01-25 16:41:41 +00:00
feat: Initial commit of FitTrack_GarminSync project
This commit is contained in:
34
backend/tests/unit/test_sync_status_service.py
Normal file
34
backend/tests/unit/test_sync_status_service.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from src.services.sync_status_service import SyncStatusService
|
||||
from src.jobs import SyncJob, JobStore
|
||||
|
||||
@pytest.fixture
|
||||
def mock_job_store():
|
||||
"""Fixture to create a mock JobStore."""
|
||||
job_store = MagicMock(spec=JobStore)
|
||||
job_id = uuid.uuid4()
|
||||
job = SyncJob(id=str(job_id), status="completed", created_at=datetime.utcnow())
|
||||
job_store.get_all_jobs.return_value = [job]
|
||||
job_store.get_job.return_value = job
|
||||
return job_store
|
||||
|
||||
def test_get_sync_jobs_all(mock_job_store):
|
||||
"""Test retrieving all sync jobs."""
|
||||
service = SyncStatusService(job_store=mock_job_store)
|
||||
jobs = service.get_sync_jobs()
|
||||
assert len(jobs) == 1
|
||||
mock_job_store.get_all_jobs.assert_called_once()
|
||||
|
||||
def test_get_sync_job_by_id(mock_job_store):
|
||||
"""Test retrieving a single sync job by ID."""
|
||||
service = SyncStatusService(job_store=mock_job_store)
|
||||
job_id = mock_job_store.get_job.return_value.id
|
||||
# The get_sync_jobs implementation filters all jobs, so we need to mock get_all_jobs
|
||||
mock_job_store.get_all_jobs.return_value = [mock_job_store.get_job.return_value]
|
||||
jobs = service.get_sync_jobs(job_id=job_id)
|
||||
assert len(jobs) == 1
|
||||
assert jobs[0].id == str(job_id)
|
||||
Reference in New Issue
Block a user