feat: 住所型が複合オブジェクト項目になっていたため、個別にテストを追加
This commit is contained in:
parent
9a511af10b
commit
08f87d2abf
@ -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):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user