44
55from app .database .models .processing_job import ProcessingJobRecord
66from app .schemas import BaseJobRequest , ProcessingJobSummary , ProcessType , ProcessingStatusEnum , ServiceDetails
7- from app .services .processing import create_processing_job
7+ from app .services .processing import create_processing_job , get_processing_jobs_by_user_id
88
99
1010def make_job_request ():
@@ -22,7 +22,7 @@ def make_job_request():
2222
2323@patch ("app.services.processing.save_job_to_db" )
2424@patch ("app.services.processing.get_processing_platform" )
25- def test_create_processing_job_calls_platform_execute (mock_get_platform , mock_save_job_to_db ):
25+ def test_create_processing_job_calls_platform_execute (mock_get_platform , mock_save_job_to_db , fake_db_session ):
2626
2727 # Arrange
2828 fake_job = make_job_request ()
@@ -36,7 +36,7 @@ def test_create_processing_job_calls_platform_execute(mock_get_platform, mock_sa
3636
3737 mock_save_job_to_db .return_value = fake_record
3838
39- result = create_processing_job (None , "foobar" , fake_job )
39+ result = create_processing_job (fake_db_session , "foobar" , fake_job )
4040
4141 mock_get_platform .assert_called_once_with (fake_job .label )
4242 fake_platform .execute_job .assert_called_once_with (
@@ -48,11 +48,30 @@ def test_create_processing_job_calls_platform_execute(mock_get_platform, mock_sa
4848 assert result == fake_summary
4949
5050
51- @patch ("app.services.processing.save_job_to_db" )
5251@patch ("app.services.processing.get_processing_platform" )
53- def test_create_processing_job_platform_raises (mock_get_platform , mock_save_job_to_db ):
52+ def test_create_processing_job_platform_raises (mock_get_platform , fake_db_session ):
5453 fake_summary = make_job_request ()
5554 mock_get_platform .side_effect = ValueError ("Unsupported platform" )
5655
5756 with pytest .raises (ValueError , match = "Unsupported platform" ):
58- create_processing_job (None , "foobar" , fake_summary )
57+ create_processing_job (fake_db_session , "foobar" , fake_summary )
58+
59+ @patch ("app.services.processing.get_jobs_by_user_id" )
60+ def test_get_processing_jobs_by_user_id (mock_get_jobs , fake_db_session ):
61+ # Arrange
62+ fake_db_records = [
63+ MagicMock (id = 1 , title = "Job 1" , status = ProcessingStatusEnum .CREATED ),
64+ MagicMock (id = 2 , title = "Job 2" , status = ProcessingStatusEnum .CREATED ),
65+ ]
66+ mock_get_jobs .return_value = fake_db_records
67+
68+ # Act
69+ results = get_processing_jobs_by_user_id (fake_db_session , user = "user1" )
70+
71+ # Assert
72+ mock_get_jobs .assert_called_once_with (fake_db_session , "user1" )
73+ assert len (results ) == len (fake_db_records )
74+ for i , job_summary in enumerate (results ):
75+ assert job_summary .id == fake_db_records [i ].id
76+ assert job_summary .title == fake_db_records [i ].title
77+ assert job_summary .status == fake_db_records [i ].status
0 commit comments