async def test_unsub(): subs = [ Subscription(guild_id=2, channel_id=6, _filter="type:nominate"), Subscription(guild_id=2, channel_id=4, _filter="user:someone"), Subscription(guild_id=1, channel_id=6, _filter="type:nominate") ] database = Database(BOT_TEST_DB_NAME) for sub in subs: database.insert_subscription(sub) subscriber.load() mock_message = MockMessage( channel=MockChannel(_id=6, guild=MockGuild(_id=2))) mock_command = MockCommand("unsub", context=mock_message) assert all(sub in subscriber.cache for sub in subs) assert await receive_command(mock_command) assert mock_command.response.startswith("✓") assert "🔕" in mock_command.response_embed.fields[0].name.lower() assert "unsubscribed from" in mock_command.response_embed.fields[ 0].name.lower() assert "type:nominate" in mock_command.response_embed.fields[0].value assert "`type:nominate`" in mock_command.response_embed.fields[0].value assert subs[0] not in subscriber.cache assert subs[1] in subscriber.cache assert subs[2] in subscriber.cache
def test_load(): sub1 = Subscription(guild_id=1, channel_id=1, _filter="type:nominate") sub2 = Subscription(guild_id=1, channel_id=2, _filter="type:ranked") database = Database(BOT_TEST_DB_NAME) database.insert_subscription(sub1) database.insert_subscription(sub2) subscriber.load() assert sub1 in subscriber.cache assert sub2 in subscriber.cache