新規作成(診療科目)
This commit is contained in:
parent
a806b5602e
commit
bbb49cf28c
@ -89,7 +89,4 @@ class ComAlmaMapper(UltmarcTableMapper):
|
|||||||
return self.INSERT_QUERY
|
return self.INSERT_QUERY
|
||||||
|
|
||||||
# 存在する場合ではUpdate
|
# 存在する場合ではUpdate
|
||||||
if self.record.alma == '':
|
return self.UPDATE_QUERY
|
||||||
return None
|
|
||||||
else:
|
|
||||||
return self.UPDATE_QUERY
|
|
||||||
|
|||||||
@ -44,6 +44,8 @@ from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_inst_att_mapper imp
|
|||||||
ComInstAttMapper
|
ComInstAttMapper
|
||||||
from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_cop_hp_mapper import \
|
from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_cop_hp_mapper import \
|
||||||
ComCopHpMapper
|
ComCopHpMapper
|
||||||
|
from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_trt_course_mapper import \
|
||||||
|
ComTrtCourseMapper
|
||||||
from src.batch.ultmarc.utmp_tables.table_mapper.concrete.null_mapper import \
|
from src.batch.ultmarc.utmp_tables.table_mapper.concrete.null_mapper import \
|
||||||
NullMapper
|
NullMapper
|
||||||
|
|
||||||
@ -77,7 +79,7 @@ COM_TABLE_LIST = {
|
|||||||
# COM_都道府県医療機能情報(専門外来)
|
# COM_都道府県医療機能情報(専門外来)
|
||||||
"136": ComPrefcMedSpOutpatMapper,
|
"136": ComPrefcMedSpOutpatMapper,
|
||||||
# COM_診療科目
|
# COM_診療科目
|
||||||
"001": NullMapper,
|
"001": ComTrtCourseMapper,
|
||||||
# COM_病院種別
|
# COM_病院種別
|
||||||
"002": NullMapper,
|
"002": NullMapper,
|
||||||
# COM_出身校学部識別
|
# COM_出身校学部識別
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"001","北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
"001","北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"002","札幌医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
"002","札幌医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"003","弘大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
"003","弘大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"004","","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","clsComAlma"
|
"004","","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"005","東北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
"005","東北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"006","福島医","20171020","20171020","20171020","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
"006","福島医","20171020","20171020","20171020","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
"007","群馬大","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:43:15","com_alma_mapper","2017/10/20 10:43:15","com_alma_mapper"
|
"007","群馬大","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:43:15","com_alma_mapper","2017/10/20 10:43:15","com_alma_mapper"
|
||||||
|
|||||||
|
@ -2,7 +2,7 @@
|
|||||||
"001","北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
"001","北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
"002","札幌医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
"002","札幌医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
"003","弘大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
"003","弘大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
"004","岩手医","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:27:33","clsComAlma"
|
"004","","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:27:33","com_alma_mapper"
|
||||||
"005","福島医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
"005","福島医","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
"006","東北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
"006","東北大","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","clsComAlma","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
"007","神大","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","com_alma_mapper","2017/10/20 10:35:27","com_alma_mapper"
|
"007","神大","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 10:27:33","com_alma_mapper","2017/10/20 10:35:27","com_alma_mapper"
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
"001","A01","A","20141113","20141114","","",""
|
||||||
|
"001","A02","A","20141113","20141114","腫瘍","腫瘍科","シユヨウカ"
|
||||||
|
"001","A03","A","20141113","20141114","腫内","腫瘍内科","シユヨウナイカ"
|
||||||
|
"001","A04","C","20141113","20141114","腫疼","腫瘍内科(疼痛緩和)","シユヨウナイカ(トウツウカンワ)"
|
||||||
|
"001","A05","A","20141113","20141114","内循","内科(循環器)","ナイカ(ジユンカンキ)"
|
||||||
|
"001","A06","A","20141113","20141114","血腫","血液・腫瘍内科","ケツエキ.シユヨウナイカ"
|
||||||
|
"001","A07","A","20141113","20141114","内薬","内科(薬物療法)","ナイカ(ヤクブツリヨウホウ)"
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
"001","A01","A","20141113","20141114","内","一般内科","イツパンナイカ"
|
||||||
|
"001","A02","A","20141113","20141114","腫瘍","腫瘍科","シユヨウカ"
|
||||||
|
"001","A03","A","20141113","20141114","腫内","腫瘍内科","シユヨウナイカ"
|
||||||
|
"001","A04","A","20141113","20141114","腫疼","腫瘍内科(疼痛緩和)","シユヨウナイカ(トウツウカンワ)"
|
||||||
|
"001","A05","A","20141113","20141114","血腫","血液・腫瘍内科","ケツエキ.シユヨウナイカ"
|
||||||
|
"001","A06","A","20141113","20141114","内循","内科(循環器)","ナイカ(ジユンカンキ)"
|
||||||
|
"001","999","A","","","あいうえ","あいうえおかきくけこあいうえおかきくけこ","アイウエオカキクケコアイウエオカキクケコケコ"
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
"001","A01","A","20141113","20141114","","",""
|
||||||
|
"001","A02","A","20141113","20141114","腫瘍","腫瘍科","シユヨウカ"
|
||||||
|
"001","A03","A","20141113","20141114","腫内","腫瘍内科","シユヨウナイカ"
|
||||||
|
"001","A04","A","20141113","20141114","腫疼","腫瘍内科(疼痛緩和)","シユヨウナイカ(トウツウカンワ)"
|
||||||
|
"001","A05","A","20141113","20141114","内循","内科(循環器)","ナイカ(ジユンカンキ)"
|
||||||
|
"001","A06","A","20141113","20141114","血腫","血液・腫瘍内科","ケツエキ.シユヨウナイカ"
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
"trt_course_cd","trt_course_name_kana","trt_course_name_abb","trt_course_name","regist_ymd","update_ymd","delete_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
|
||||||
|
"A01","","","","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
"A02","シユヨウカ","腫瘍","腫瘍科","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
"A03","シユヨウナイカ","腫内","腫瘍内科","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
"A04","シユヨウナイカ(トウツウカンワ)","腫疼","腫瘍内科(疼痛緩和)","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
"A05","ナイカ(ジユンカンキ)","内循","内科(循環器)","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
"A06","ケツエキ.シユヨウナイカ","血腫","血液・腫瘍内科","20171020","20171020","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:59:56","clsComTrtCourse"
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
"trt_course_cd","trt_course_name_kana","trt_course_name_abb","trt_course_name","regist_ymd","update_ymd","delete_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
|
||||||
|
"A01","イツパンナイカ","内","一般内科","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
"A02","シユヨウカ","腫瘍","腫瘍科","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
"A03","シユヨウナイカ","腫内","腫瘍内科","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
"A04","シユヨウナイカ(トウツウカンワ)","腫疼","腫瘍内科(疼痛緩和)","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
"A05","ケツエキ.シユヨウナイカ","血腫","血液・腫瘍内科","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
"A06","ナイカ(ジユンカンキ)","内循","内科(循環器)","20171020","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 8:54:31","clsComTrtCourse"
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
"trt_course_cd","trt_course_name_kana","trt_course_name_abb","trt_course_name","regist_ymd","update_ymd","delete_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
|
||||||
|
"A01","","","","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
"A02","シユヨウカ","腫瘍","腫瘍科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
"A03","シユヨウナイカ","腫内","腫瘍内科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
"A04","シユヨウナイカ(トウツウカンワ)","腫疼","腫瘍内科(疼痛緩和)","20171020","20171020","20230512","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/11 09:16:56","com_trt_course_mapper"
|
||||||
|
"A05","ナイカ(ジユンカンキ)","内循","内科(循環器)","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
"A06","ケツエキ.シユヨウナイカ","血腫","血液・腫瘍内科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
"A07","ナイカ(ヤクブツリヨウホウ)","内薬","内科(薬物療法)","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 9:16:56","com_trt_course_mapper","2017/10/20 9:16:56","com_trt_course_mapper"
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
"trt_course_cd","trt_course_name_kana","trt_course_name_abb","trt_course_name","regist_ymd","update_ymd","delete_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
|
||||||
|
"999","アイウエオカキクケコアイウエオカキクケコケコ","あいうえ","あいうえおかきくけこあいうえおかきくけこ","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A01","イツパンナイカ","内","一般内科","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A02","シユヨウカ","腫瘍","腫瘍科","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A03","シユヨウナイカ","腫内","腫瘍内科","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A04","シユヨウナイカ(トウツウカンワ)","腫疼","腫瘍内科(疼痛緩和)","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A05","ケツエキ.シユヨウナイカ","血腫","血液・腫瘍内科","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
"A06","ナイカ(ジユンカンキ)","内循","内科(循環器)","20230512","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","com_trt_course_mapper","2017/10/20 8:54:31","com_trt_course_mapper"
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
"trt_course_cd","trt_course_name_kana","trt_course_name_abb","trt_course_name","regist_ymd","update_ymd","delete_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
|
||||||
|
"A01","","","","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
"A02","シユヨウカ","腫瘍","腫瘍科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
"A03","シユヨウナイカ","腫内","腫瘍内科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
"A04","シユヨウナイカ(トウツウカンワ)","腫疼","腫瘍内科(疼痛緩和)","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
"A05","ナイカ(ジユンカンキ)","内循","内科(循環器)","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
"A06","ケツエキ.シユヨウナイカ","血腫","血液・腫瘍内科","20171020","20230512","NULL","NULL","NULL","NULL","NULL","2017/10/20 8:54:31","clsComTrtCourse","2023/05/12 8:59:56","com_trt_course_mapper"
|
||||||
|
@ -0,0 +1,197 @@
|
|||||||
|
import os.path as path
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from src.batch.common.batch_context import BatchContext
|
||||||
|
from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_trt_course_mapper
|
||||||
|
from src.db.database import Database
|
||||||
|
from tests.testing_utility import (assert_table_results,
|
||||||
|
create_db_data_from_csv,
|
||||||
|
create_delete_sql_with_parameter,
|
||||||
|
create_insert_sql_with_parameter,
|
||||||
|
create_ultmarc_table_mapper_sut,
|
||||||
|
create_ultmarc_test_data_from_csv)
|
||||||
|
|
||||||
|
|
||||||
|
class TestComTrtCourseMapper:
|
||||||
|
"""レイアウト区分001: COM_診療科目"""
|
||||||
|
|
||||||
|
db: Database
|
||||||
|
batch_context: BatchContext
|
||||||
|
test_file_path: str = path.dirname(__file__)
|
||||||
|
|
||||||
|
@pytest.fixture(autouse=True, scope='function')
|
||||||
|
def pre_test(self, database: Database):
|
||||||
|
"""テスト実行前後処理"""
|
||||||
|
self.batch_context = BatchContext.get_instance()
|
||||||
|
# setup
|
||||||
|
self.db = database
|
||||||
|
self.db.connect()
|
||||||
|
# self.db.begin()
|
||||||
|
|
||||||
|
# testing
|
||||||
|
yield
|
||||||
|
|
||||||
|
# teardown
|
||||||
|
# self.db.rollback()
|
||||||
|
self.db.disconnect()
|
||||||
|
|
||||||
|
def test_insert_record(self):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
COM_診療科目テーブルにレコードを登録する
|
||||||
|
Arranges:
|
||||||
|
- CSVデータを用意し、読み込む
|
||||||
|
- 追加対象となるレコードを削除する
|
||||||
|
Expects:
|
||||||
|
- 登録内容が期待値と一致すること
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Arrange
|
||||||
|
# 処理日設定
|
||||||
|
self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d')
|
||||||
|
# テスト用のCSVを読み込む
|
||||||
|
test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_trt_course_insert.csv'))
|
||||||
|
# 一旦全データをDBから削除
|
||||||
|
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_trt_course', {'1': '1'})
|
||||||
|
self.db.execute(delete_sql, delete_parameter)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
for line_number, line in enumerate(test_dat_file, start=1):
|
||||||
|
sut: com_trt_course_mapper.ComTrtCourseMapper = create_ultmarc_table_mapper_sut(line, self.db)
|
||||||
|
assert type(sut) is com_trt_course_mapper.ComTrtCourseMapper, f'{line_number}行目:マッパークラスが期通りか'
|
||||||
|
|
||||||
|
sut.make_query()
|
||||||
|
sut.execute_queries()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
# 期待値ファイルを読み込む
|
||||||
|
expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_trt_course_insert.csv'))
|
||||||
|
primary_keys = [f"'{primary_key['trt_course_cd']}'" for primary_key in expect_data_list]
|
||||||
|
actual_select_sql = f"SELECT * FROM src05.com_trt_course WHERE trt_course_cd IN ({','.join(primary_keys)})"
|
||||||
|
actual_data_list = self.db.execute_select(actual_select_sql)
|
||||||
|
# 期待値検査
|
||||||
|
ignore_columns = ['regist_ymd', 'sys_update_date', 'sys_regist_date']
|
||||||
|
assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns)
|
||||||
|
# 動的日付項目の個別確認
|
||||||
|
line_number = 0
|
||||||
|
for actual_row, expect_row in zip(actual_data_list, expect_data_list):
|
||||||
|
line_number += 1
|
||||||
|
for actual_col_name, expect_col_name in zip(actual_row, expect_row):
|
||||||
|
if actual_col_name in ['regist_ymd', 'sys_regist_date', 'sys_update_date']:
|
||||||
|
assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること'
|
||||||
|
|
||||||
|
def test_update_record(self):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
COM_診療科目テーブルのレコードを更新する
|
||||||
|
Arranges:
|
||||||
|
- CSVデータを用意し、読み込む
|
||||||
|
- 更新対象となるレコードを登録する
|
||||||
|
Expects:
|
||||||
|
- 登録内容が期待値と一致すること
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Arrange
|
||||||
|
# 処理日設定
|
||||||
|
self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d')
|
||||||
|
# テスト用のCSVを読み込む
|
||||||
|
test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_trt_course_update.csv'))
|
||||||
|
# 一旦全データをDBから削除
|
||||||
|
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_trt_course', {'1': '1'})
|
||||||
|
self.db.execute(delete_sql, delete_parameter)
|
||||||
|
# テストデータをDBに登録
|
||||||
|
# DBデータを読み込む
|
||||||
|
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_trt_course_before_update.csv'))
|
||||||
|
for test_data in test_sql_data_list:
|
||||||
|
insert_sql, insert_parameter = create_insert_sql_with_parameter(
|
||||||
|
'src05.com_trt_course',
|
||||||
|
test_data.keys(),
|
||||||
|
test_data.values()
|
||||||
|
)
|
||||||
|
self.db.execute(insert_sql, insert_parameter)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
for line_number, line in enumerate(test_dat_file, start=1):
|
||||||
|
sut: com_trt_course_mapper.ComTrtCourseMapper = create_ultmarc_table_mapper_sut(line, self.db)
|
||||||
|
assert type(sut) is com_trt_course_mapper.ComTrtCourseMapper, f'{line_number}行目:マッパークラスが期通りか'
|
||||||
|
sut.make_query()
|
||||||
|
sut.execute_queries()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
# 期待値ファイルを読み込む
|
||||||
|
expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_trt_course_update.csv'))
|
||||||
|
primary_keys = [f"'{primary_key['trt_course_cd']}'" for primary_key in expect_data_list]
|
||||||
|
actual_select_sql = f"SELECT * FROM src05.com_trt_course WHERE trt_course_cd IN ({','.join(primary_keys)})"
|
||||||
|
actual_data_list = self.db.execute_select(actual_select_sql)
|
||||||
|
# 期待値検査
|
||||||
|
ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date']
|
||||||
|
assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns)
|
||||||
|
# 動的日付項目の個別確認
|
||||||
|
line_number = 0
|
||||||
|
for actual_row, expect_row in zip(actual_data_list, expect_data_list):
|
||||||
|
line_number += 1
|
||||||
|
for actual_col_name, expect_col_name in zip(actual_row, expect_row):
|
||||||
|
if actual_col_name in ignore_columns:
|
||||||
|
if expect_row[expect_col_name] is None:
|
||||||
|
assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと'
|
||||||
|
else:
|
||||||
|
assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること'
|
||||||
|
|
||||||
|
def test_logical_delete(self):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
COM_診療科目テーブルのレコードを1件論理削除する
|
||||||
|
Arranges:
|
||||||
|
- CSVデータを用意し、読み込む
|
||||||
|
- 削除対象となるレコードを登録する
|
||||||
|
Expects:
|
||||||
|
- 登録内容が期待値と一致すること
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Arrange
|
||||||
|
# 処理日設定
|
||||||
|
self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d')
|
||||||
|
# テスト用のCSVを読み込む
|
||||||
|
test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_trt_course_delete.csv'))
|
||||||
|
# 一旦全データをDBから削除
|
||||||
|
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_trt_course', {'1': '1'})
|
||||||
|
self.db.execute(delete_sql, delete_parameter)
|
||||||
|
# テストデータをDBに登録
|
||||||
|
# DBデータを読み込む
|
||||||
|
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_trt_course_before_delete.csv'))
|
||||||
|
for test_data in test_sql_data_list:
|
||||||
|
insert_sql, insert_parameter = create_insert_sql_with_parameter(
|
||||||
|
'src05.com_trt_course',
|
||||||
|
test_data.keys(),
|
||||||
|
test_data.values()
|
||||||
|
)
|
||||||
|
self.db.execute(insert_sql, insert_parameter)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
for line_number, line in enumerate(test_dat_file, start=1):
|
||||||
|
sut: com_trt_course_mapper.ComTrtCourseMapper = create_ultmarc_table_mapper_sut(line, self.db)
|
||||||
|
assert type(sut) is com_trt_course_mapper.ComTrtCourseMapper, f'{line_number}行目:マッパークラスが期通りか'
|
||||||
|
sut.make_query()
|
||||||
|
sut.execute_queries()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
# 期待値ファイルを読み込む
|
||||||
|
expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_trt_course_delete.csv'))
|
||||||
|
primary_keys = [f"'{primary_key['trt_course_cd']}'" for primary_key in expect_data_list]
|
||||||
|
actual_select_sql = f"SELECT * FROM src05.com_trt_course WHERE trt_course_cd IN ({','.join(primary_keys)})"
|
||||||
|
actual_data_list = self.db.execute_select(actual_select_sql)
|
||||||
|
# 期待値検査
|
||||||
|
ignore_columns = ['regist_ymd', 'update_ymd', 'delete_ymd', 'sys_update_date', 'sys_regist_date']
|
||||||
|
assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns)
|
||||||
|
# 動的日付項目の個別確認
|
||||||
|
line_number = 0
|
||||||
|
for actual_row, expect_row in zip(actual_data_list, expect_data_list):
|
||||||
|
line_number += 1
|
||||||
|
for actual_col_name, expect_col_name in zip(actual_row, expect_row):
|
||||||
|
if actual_col_name in ignore_columns:
|
||||||
|
if expect_row[expect_col_name] is None:
|
||||||
|
assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと'
|
||||||
|
else:
|
||||||
|
assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること'
|
||||||
Loading…
x
Reference in New Issue
Block a user