diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/test_com_alma_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/test_com_alma_mapper.py index 614fd096..a46e9f03 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/test_com_alma_mapper.py +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/test_com_alma_mapper.py @@ -4,14 +4,13 @@ import pytest from src.batch.common.batch_config import BatchConfig from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_alma_mapper -from src.batch.ultmarc.utmp_tables.ultmarc_table_mapper_factory import \ - UltmarcTableMapperFactory from src.db.database import Database from tests.testing_utility import (assert_table_results, create_delete_sql_with_parameter, create_insert_sql_with_parameter, create_ultmarc_common_column_names, create_ultmarc_common_column_values, + create_ultmarc_table_mapper_sut, create_ultmarc_test_csv, get_module_name) @@ -62,16 +61,8 @@ class TestComAlmaMapper: # sut(system under test)作成 for i, line in enumerate(test_dat_file, start=1): - layout_class = line.layout_class - record_id = line.record_id - factory = UltmarcTableMapperFactory() - sut: com_alma_mapper.ComAlmaMapper = factory.create( - layout_class=layout_class, - record_id=record_id, - records=line.records, - db=self.db - ) - assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目:マッパークラスが期待通りか' + sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目:マッパークラスが期通りか' # Act sut.make_query() @@ -137,15 +128,7 @@ class TestComAlmaMapper: # sut(system under test)作成 for i, line in enumerate(test_dat_file, start=1): - layout_class = line.layout_class - record_id = line.record_id - factory = UltmarcTableMapperFactory() - sut: com_alma_mapper.ComAlmaMapper = factory.create( - layout_class=layout_class, - record_id=record_id, - records=line.records, - db=self.db - ) + sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db) assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目: マッパークラスが期待通りか' # Act @@ -220,15 +203,7 @@ class TestComAlmaMapper: # sut(system under test)作成 for i, line in enumerate(test_dat_file, start=1): - layout_class = line.layout_class - record_id = line.record_id - factory = UltmarcTableMapperFactory() - sut: com_alma_mapper.ComAlmaMapper = factory.create( - layout_class=layout_class, - record_id=record_id, - records=line.records, - db=self.db - ) + sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db) assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目: マッパークラスが期待通りか' # Act diff --git a/ecs/jskult-batch-daily/tests/testing_utility.py b/ecs/jskult-batch-daily/tests/testing_utility.py index a517af1b..c483c9af 100644 --- a/ecs/jskult-batch-daily/tests/testing_utility.py +++ b/ecs/jskult-batch-daily/tests/testing_utility.py @@ -3,7 +3,12 @@ import io from types import ModuleType -from src.batch.ultmarc.datfile import DatFile +from src.batch.ultmarc.datfile import DatFile, DatFileLine +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.ultmarc_table_mapper_factory import \ + UltmarcTableMapperFactory +from src.db.database import Database def create_ultmarc_test_csv(*csv_rows: str) -> DatFile: @@ -114,6 +119,29 @@ def create_ultmarc_common_column_values(**kwargs) -> list: ] +def create_ultmarc_table_mapper_sut(line: DatFileLine, db: Database) -> UltmarcTableMapper: + """アルトマークテーブルマッパーのインスタンスを返す + + Args: + line (DatFileLine): テストデータの1行 + db (Database): 接続済みDBインスタンス + + Returns: + UltmarcTableMapper: マッパークラス + """ + layout_class = line.layout_class + record_id = line.record_id + factory = UltmarcTableMapperFactory() + sut = factory.create( + layout_class=layout_class, + record_id=record_id, + records=line.records, + db=db + ) + + return sut + + def get_module_name(module: ModuleType) -> str: """登録プログラムID、更新プログラムIDに登録するモジュール名を作成