feat: 住所型が複合オブジェクト項目になっていたため、個別にテストを追加

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2022-08-19 16:02:26 +09:00
parent 9a511af10b
commit 08f87d2abf

View File

@ -9,6 +9,8 @@ Accountオブジェクトの下記SFIDのレコードはいじらないように
変更してしまった場合は各SOQLの取得日付とデータを修正してください 変更してしまった場合は各SOQLの取得日付とデータを修正してください
""" """
from typing import OrderedDict
import pytest import pytest
from requests.exceptions import ConnectTimeout, ReadTimeout from requests.exceptions import ConnectTimeout, ReadTimeout
from src.config.objects import LastFetchDatetime, TargetObject from src.config.objects import LastFetchDatetime, TargetObject
@ -160,7 +162,7 @@ class TestSalesforceApiClient:
- LastFetchDatetimeのFromに2000年1月1日を指定する - LastFetchDatetimeのFromに2000年1月1日を指定する
- LastFetchDatetimeのToに2100年12月31日を指定する - LastFetchDatetimeのToに2100年12月31日を指定する
Expects: Expects:
取得件数が16になる 取得件数が17になる
""" """
execute_datetime = ExecuteDateTime() execute_datetime = ExecuteDateTime()
@ -190,7 +192,7 @@ class TestSalesforceApiClient:
sut = SalesforceApiClient() sut = SalesforceApiClient()
actual = sut.fetch_sf_count(soql) actual = sut.fetch_sf_count(soql)
assert actual == 16 assert actual == 17
def test_fetch_sf_data_one_record(self): def test_fetch_sf_data_one_record(self):
""" """
@ -422,6 +424,63 @@ class TestSalesforceApiClient:
assert dict(actual[0]) == expect assert dict(actual[0]) == expect
def test_fetch_sf_data_by_soql_builder_address_item_check(self):
"""
Cases:
- SOQLBuilderから生成したSOQLでSalesforceからオブジェクトが取得できること
- SystemModStampのFromが2000年1月1日以降のレコードが取得できること
- SystemModStampのToが2100年12月31日未満のレコードが取得できること
Arranges:
- SalesforceのAccountオブジェクトにレコードを作成する
- LastFetchDatetimeのFromに2000年1月1日を指定する
- LastFetchDatetimeのToに2100年12月31日を指定する
Expects:
取得できたオブジェクト件数が1件になる
住所項目(BillingAddress)が想定通りの値になっていること
"""
execute_datetime = ExecuteDateTime()
last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '2022-08-19T05:53:29.000Z',
'last_fetch_datetime_to': '2022-08-19T05:53:30.000Z',
}, execute_datetime)
target_object = TargetObject({
'object_name': 'Account',
'columns': [
'Id',
'Name',
'SystemModstamp',
'LastModifiedDate',
'BillingAddress',
'CustomItem1__c',
'CustomItem2__c',
'CustomItem3__c',
'CustomItem4__c',
'CustomItem5__c',
'CustomItem6__c',
'CustomItem7__c',
'CustomItem8__c'
]
}, execute_datetime)
soql_builder = SOQLBuilder(target_object, last_fetch_datetime)
soql = soql_builder.create_fetch_soql()
sut = SalesforceApiClient()
actual = sut.fetch_sf_data(soql)
assert len(actual) == 1
expect_address = OrderedDict([
("city", '〇〇区'),
("country", "日本"),
("geocodeAccuracy", None),
("latitude", None),
("longitude", None),
("postalCode", '999-9999'),
("state", '東京都'),
("street", '△△-✗✗'),
])
assert actual[0]['BillingAddress'] == expect_address
def test_fetch_sf_data_by_soql_builder_system_modstamp_all_range(self): def test_fetch_sf_data_by_soql_builder_system_modstamp_all_range(self):
""" """
Cases: Cases:
@ -433,7 +492,7 @@ class TestSalesforceApiClient:
- LastFetchDatetimeのFromに2000年1月1日を指定する - LastFetchDatetimeのFromに2000年1月1日を指定する
- LastFetchDatetimeのToに2100年12月31日を指定する - LastFetchDatetimeのToに2100年12月31日を指定する
Expects: Expects:
取得できたオブジェクト件数が16件になる 取得できたオブジェクト件数が17件になる
""" """
execute_datetime = ExecuteDateTime() execute_datetime = ExecuteDateTime()
@ -463,7 +522,7 @@ class TestSalesforceApiClient:
sut = SalesforceApiClient() sut = SalesforceApiClient()
actual = sut.fetch_sf_data(soql) actual = sut.fetch_sf_data(soql)
assert len(actual) == 16 assert len(actual) == 17
# 内容の確認は別のケースで行っているため省略 # 内容の確認は別のケースで行っているため省略
def test_raise_create_instance_cause_auth_failed(self, monkeypatch): def test_raise_create_instance_cause_auth_failed(self, monkeypatch):