mirror of
https://github.com/arcan1s/ffxivbis.git
synced 2025-07-10 04:15:52 +00:00
initial commit
This commit is contained in:
88
test/test_view_loot.py
Normal file
88
test/test_view_loot.py
Normal file
@ -0,0 +1,88 @@
|
||||
from typing import Any
|
||||
|
||||
from service.api.utils import make_json
|
||||
from service.core.party import Party
|
||||
from service.models.piece import Piece
|
||||
from service.models.player import Player
|
||||
|
||||
|
||||
async def test_loot_get(server: Any, party: Party, player: Player, player2: Player, weapon: Piece) -> None:
|
||||
party.set_item(player.player_id, weapon)
|
||||
party.set_item(player2.player_id, weapon)
|
||||
|
||||
response = await server.get('/api/v1/party/loot')
|
||||
assert response.status == 200
|
||||
assert await response.text() == make_json([weapon, weapon], {}, 200)
|
||||
|
||||
|
||||
async def test_loot_get_with_filter(server: Any, party: Party, player: Player, player2: Player, weapon: Piece) -> None:
|
||||
party.set_item(player.player_id, weapon)
|
||||
party.set_item(player2.player_id, weapon)
|
||||
|
||||
response = await server.get('/api/v1/party/loot', params={'nick': player.nick})
|
||||
assert response.status == 200
|
||||
assert await response.text() == make_json([weapon], {'nick': player.nick}, 200)
|
||||
|
||||
response = await server.get('/api/v1/party/loot', params={'nick': player2.nick})
|
||||
assert response.status == 200
|
||||
assert await response.text() == make_json([weapon], {'nick': player2.nick}, 200)
|
||||
|
||||
|
||||
async def test_loot_post_add(server: Any, player: Player, weapon: Piece) -> None:
|
||||
response = await server.get('/api/v1/party/loot')
|
||||
assert response.status == 200
|
||||
assert await response.text() == make_json([], {}, 200)
|
||||
assert weapon not in player.loot
|
||||
|
||||
response = await server.post('/api/v1/party/loot', json={
|
||||
'action': 'add',
|
||||
'piece': weapon.name,
|
||||
'is_tome': weapon.is_tome,
|
||||
'job': player.job.name,
|
||||
'nick': player.nick
|
||||
})
|
||||
assert response.status == 200
|
||||
assert weapon in player.loot
|
||||
|
||||
|
||||
async def test_loot_post_remove(server: Any, player: Player, head_with_upgrade: Piece, weapon: Piece) -> None:
|
||||
assert weapon not in player.loot
|
||||
player.loot.append(weapon)
|
||||
player.loot.append(weapon)
|
||||
assert player.loot.count(weapon) == 2
|
||||
|
||||
response = await server.post('/api/v1/party/loot', json={
|
||||
'action': 'remove',
|
||||
'piece': weapon.name,
|
||||
'is_tome': weapon.is_tome,
|
||||
'job': player.job.name,
|
||||
'nick': player.nick
|
||||
})
|
||||
assert response.status == 200
|
||||
assert player.loot.count(weapon) == 1
|
||||
|
||||
player.loot.append(head_with_upgrade)
|
||||
|
||||
response = await server.post('/api/v1/party/loot', json={
|
||||
'action': 'remove',
|
||||
'piece': weapon.name,
|
||||
'is_tome': weapon.is_tome,
|
||||
'job': player.job.name,
|
||||
'nick': player.nick
|
||||
})
|
||||
assert response.status == 200
|
||||
assert player.loot.count(weapon) == 0
|
||||
assert player.loot.count(head_with_upgrade) == 1
|
||||
|
||||
|
||||
async def test_loot_put(server: Any, player: Player, player2: Player, head_with_upgrade: Piece) -> None:
|
||||
response = await server.put('/api/v1/party/loot', json={
|
||||
'is_tome': head_with_upgrade.is_tome,
|
||||
'piece': head_with_upgrade.name
|
||||
})
|
||||
assert response.status == 200
|
||||
assert await response.text() == make_json(
|
||||
[player2.player_id_with_counters(head_with_upgrade), player.player_id_with_counters(head_with_upgrade)],
|
||||
{'is_tome': head_with_upgrade.is_tome, 'piece': head_with_upgrade.name},
|
||||
200
|
||||
)
|
Reference in New Issue
Block a user