Subtitles
25
test "캐릭터마다 독립된 보관함을 가져야 한다", %{state1: state} do
desc("캐릭터 보관함 설치")
bank_type = TableHelper.new_bank(:character)
{state, _} = BankHelper.install_bank(state, bank_type)
desc("캐릭터 보관함에 넣을 수 있는 아이템을 만든다")
%{item_db_id: item_db_id, item_type: item_type} =
BankHelper.create_some_storable_item_get_item(state, bank_type, 2)
desc("아이템을 보관하고 확인한다")
BankHelper.store_items(state, bank_type, %{id: item_db_id, count: 2})
InventoryHelper.assert_remain_items(state, %{}, %{item_db_id => 2})
BankHelper.assert_bank_items(state, bank_type,
[%{type: item_type, count: 2}])
test "캐릭터마다 독립된 보관함을 가져야 한다", %{state1: state} do
desc("캐릭터 보관함 설치")
bank_type = TableHelper.new_bank(:character)
{state, _} = BankHelper.install_bank(state, bank_type)
desc("캐릭터 보관함에 넣을 수 있는 아이템을 만든다")
%{item_db_id: item_db_id, item_type: item_type} =
BankHelper.create_some_storable_item_get_item(state, bank_type, 2)
desc("아이템을 보관하고 확인한다")
BankHelper.store_items(state, bank_type, %{id: item_db_id, count: 2})
InventoryHelper.assert_remain_items(state, %{}, %{item_db_id => 2})
BankHelper.assert_bank_items(state, bank_type,
[%{type: item_type, count: 2}])
desc("재접속했을 때, 캐릭터 보관함에 아이템이 그대로여야 한다")
{state, _} = ConnectionHelper.reconnect_enter(state)
BankHelper.assert_bank_items_after_load(state, bank_type, [
%{type: item_type, count: 2, locked: false}
])
desc("같은 계정 다른 캐릭터로 접속")
name = ConnectionHelper.test_common_char_name(state, 1)
state = put_in(state.common_char_name, name)
{state, _char_id2, _} = common_character_setup(state: state)
desc("다른 캐릭터로 접속했을 때, 캐릭터 보관함이 설치되어 있어야 한다")
assert BankHelper.get_installed_bank_types(state) == [bank_type]
desc("다른 캐릭터가 캐릭터 보관함에 저장한 아이템이 보이지 않아야 한다")
assert BankHelper.assert_empty_bank(state, bank_type)
desc("재접속해도 비어있는 캐릭터 보관함이 그대로여야 한다 ")
{state, _} = ConnectionHelper.reconnect_enter(state))
assert BankHelper.get_installed_bank_types(state) == [bank_type]
assert BankHelper.assert_empty_bank(state, bank_type)
desc("캐릭터 보관함에 넣을 수 있는 아이템을 만든다")
%{item_db_id: item_db_id, item_type: item_type} =
BankHelper.create_some_storable_item_get_item(state, bank_type, 2)
desc("아이템을 보관하고 확인한다")
BankHelper.store_items(state, bank_type, %{id: item_db_id, count: 2})
InventoryHelper.assert_remain_items(state, %{}, %{item_db_id => 2})
BankHelper.assert_bank_items(state, bank_type, [%{type: item_type, count: 2}])