Skip to content

Commit f59b1bf

Browse files
committed
added new unit tests for converter conversion
1 parent e9a5759 commit f59b1bf

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

delta_backend/tests/test_convert_to_flat_json.py

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
from decimal import Decimal
66
from copy import deepcopy
77
from unittest import TestCase
8+
from unittest.mock import patch, Mock
89
from moto import mock_dynamodb, mock_sqs
910
from boto3 import resource as boto3_resource, client as boto3_client
1011
from tests.utils_for_converter_tests import ValuesForTests, ErrorValuesForTests
11-
from unittest.mock import patch
1212
from botocore.config import Config
1313
from pathlib import Path
1414
from SchemaParser import SchemaParser
1515
from Converter import Converter
16+
from ConversionChecker import ConversionChecker
1617

1718

1819
MOCK_ENV_VARS = {
@@ -293,6 +294,51 @@ def test_conversion_exceptions(self, mock_get_key_value, mock_get_conversions):
293294
)
294295
self.assertEqual(error_records[0]["code"], 0)
295296

297+
@patch("ConversionChecker.LookUpData")
298+
def test_convert_to_not_empty(self, MockLookUpData):
299+
300+
dataParser = Mock()
301+
302+
checker = ConversionChecker(dataParser, summarise=False, report_unexpected_exception=True)
303+
304+
result = checker._convertToNotEmpty(None, "fieldName", "Some data", False, True)
305+
self.assertEqual(result, "Some data")
306+
307+
result = checker._convertToNotEmpty(None, "fieldName", "", False, True)
308+
self.assertEqual(result, "")
309+
310+
@patch("ConversionChecker.LookUpData")
311+
def test_convert_to_nhs_number(self, MockLookUpData):
312+
313+
dataParser = Mock()
314+
315+
checker = ConversionChecker(dataParser, summarise=False, report_unexpected_exception=True)
316+
317+
valid_nhs_number = "6000000000"
318+
result = checker._convertToNHSNumber(None, "fieldName", valid_nhs_number, False, True)
319+
self.assertTrue("NHS Number does not meet regex " in result)
320+
321+
invalid_nhs_number = "1234567890"
322+
result = checker._convertToNHSNumber(None, "fieldName", invalid_nhs_number, False, True)
323+
324+
@patch("ConversionChecker.LookUpData")
325+
def test_convert_to_date(self, MockLookUpData):
326+
dataParser = Mock()
327+
328+
checker = ConversionChecker(dataParser, summarise=False, report_unexpected_exception=True)
329+
330+
valid_date = "2022-01-01"
331+
result = checker._convertToDate("%Y-%m-%d", "fieldName", valid_date, False, True)
332+
self.assertEqual(result, "2022-01-01")
333+
334+
invalid_date = "invalid_date"
335+
result = checker._convertToDate("%Y-%m-%d", "fieldName", invalid_date, False, True)
336+
self.assertTrue("Unexpected exception" in result)
337+
338+
# Test for error case with exception
339+
result = checker._convertToDate("%Y-%m-%d", "fieldName", None, False, True)
340+
self.assertTrue("Unexpected exception" in result)
341+
296342
def clear_table(self):
297343
scan = self.table.scan()
298344
with self.table.batch_writer() as batch:

0 commit comments

Comments
 (0)