|
57 | 57 |
|
58 | 58 | @pytest.fixture |
59 | 59 | def repo_under_test(set_env, mocker): |
| 60 | + mocker.patch("services.bulk_upload_service.BulkUploadDynamoRepository") |
| 61 | + mocker.patch("services.bulk_upload_service.BulkUploadSqsRepository") |
| 62 | + mocker.patch("services.bulk_upload_service.BulkUploadS3Repository") |
60 | 63 | service = BulkUploadService(strict_mode=True) |
61 | | - mocker.patch.object(service, "dynamo_repository") |
62 | | - mocker.patch.object(service, "sqs_repository") |
63 | | - mocker.patch.object(service, "bulk_upload_s3_repository") |
64 | 64 | yield service |
65 | 65 |
|
66 | 66 |
|
@@ -889,25 +889,29 @@ def test_convert_to_document_reference(set_env, mock_uuid, repo_under_test): |
889 | 889 |
|
890 | 890 |
|
891 | 891 | @freeze_time("2024-01-01 12:00:00") |
892 | | -def test_convert_to_document_reference_missing_scan_date( |
893 | | - set_env, mock_uuid, repo_under_test |
| 892 | +def test_reject_document_reference_if_missing_scan_date( |
| 893 | + set_env, mock_uuid, repo_under_test, mocker |
894 | 894 | ): |
895 | 895 | TEST_STAGING_METADATA.retries = 0 |
896 | | - repo_under_test.bulk_upload_s3_repository.lg_bucket_name = "test_lg_s3_bucket" |
897 | | - expected = TEST_DOCUMENT_REFERENCE |
898 | | - expected.document_scan_creation = None |
899 | | - TEST_FILE_METADATA.scan_date = "" |
| 896 | + modify_test_sqs_message = json.loads(TEST_SQS_MESSAGE.get("body")) |
| 897 | + modify_test_sqs_message["files"][0]["scan_date"] = "" |
| 898 | + TEST_STAGING_METADATA.files[0].scan_date = "" |
| 899 | + mock_report_upload_failure = mocker.patch.object( |
| 900 | + repo_under_test.dynamo_repository, "write_report_upload_to_dynamo" |
| 901 | + ) |
900 | 902 |
|
901 | | - actual = repo_under_test.convert_to_document_reference( |
902 | | - file_metadata=TEST_FILE_METADATA, |
903 | | - nhs_number=TEST_STAGING_METADATA.nhs_number, |
904 | | - current_gp_ods=TEST_CURRENT_GP_ODS, |
| 903 | + repo_under_test.handle_sqs_message( |
| 904 | + message={"body": json.dumps(modify_test_sqs_message)} |
905 | 905 | ) |
906 | 906 |
|
907 | | - assert actual == expected |
| 907 | + repo_under_test.dynamo_repository.write_report_upload_to_dynamo.assert_called() |
| 908 | + |
| 909 | + mock_report_upload_failure.assert_called_with( |
| 910 | + TEST_STAGING_METADATA, UploadStatus.FAILED, "Invalid scan date format", "" |
| 911 | + ) |
| 912 | + repo_under_test.sqs_repository.send_message_to_pdf_stitching_queue.assert_not_called() |
908 | 913 |
|
909 | | - TEST_FILE_METADATA.scan_date = "03/09/2022" |
910 | | - TEST_DOCUMENT_REFERENCE.document_scan_creation = "2022-09-03" |
| 914 | + TEST_STAGING_METADATA.files[0].scan_date = "2022-09-03" |
911 | 915 |
|
912 | 916 |
|
913 | 917 | def test_raise_client_error_from_ssm_with_pds_service( |
|
0 commit comments