36 lines
958 B
Python
36 lines
958 B
Python
import pytest
|
|
from unittest.mock import AsyncMock
|
|
|
|
from disagreement.client import Client
|
|
from disagreement.models import Game
|
|
from disagreement.errors import DisagreementException
|
|
|
|
|
|
from unittest.mock import MagicMock
|
|
|
|
|
|
class DummyGateway(MagicMock):
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
self.update_presence = AsyncMock()
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_change_presence_passes_arguments():
|
|
client = Client(token="t")
|
|
client._gateway = DummyGateway()
|
|
game = Game("hi")
|
|
await client.change_presence(status="idle", activity=game)
|
|
|
|
client._gateway.update_presence.assert_awaited_once_with(
|
|
status="idle", activity=game, since=0, afk=False
|
|
)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_change_presence_when_closed():
|
|
client = Client(token="t")
|
|
client._closed = True
|
|
with pytest.raises(DisagreementException):
|
|
await client.change_presence(status="online")
|