Eriks Karls 25ec54994e init
2020-01-02 12:35:41 +02:00

64 lines
3.2 KiB
Python

import unittest
from sqlite_utils.db import NotFoundError
from db import DiscordDB
class TestDatabase(unittest.TestCase):
def setUp(self):
self.db = DiscordDB()
def test_member(self):
member = {'mention_number': 1, 'name': 'username'}
member.update(id=self.db.add_member(**member))
self.assertRaises(NotFoundError, self.db.get_member)
self.assertRaises(NotFoundError, self.db.get_member, mention_number=100)
self.assertEqual(self.db.get_member(local_id=member['id']), member)
self.assertEqual(self.db.get_member(mention_number=member['mention_number']), member)
self.assertFalse(self.db.update_member(member['id']))
member.update(name="Success", mention_number=2)
self.assertTrue(self.db.update_member(member['id'], name=member['name'],
mention_number=member['mention_number']))
self.assertTrue(self.db.update_member(member['id'], name=member['name']))
self.assertTrue(self.db.update_member(member['id'], mention_number=member['mention_number']))
self.assertEqual(self.db.get_member(local_id=member['id']), member)
self.assertEqual(self.db.get_member(mention_number=member['mention_number']), member)
def test_player(self):
player = {'id': 1, 'name': 'plato'}
self.assertTrue(self.db.add_player(player['id'], player['name']))
self.assertFalse(self.db.add_player(player['id'], player['name']))
self.assertEqual(self.db.get_player(0), None)
self.assertEqual(self.db.get_player(player['id']), player)
self.assertFalse(self.db.update_player(0, "Error"))
player["name"] = "New name"
self.assertTrue(self.db.update_player(player["id"], player["name"]))
self.assertEqual(self.db.get_player(player['id']), player)
def test_medal(self):
kwargs = {"pid": 1, "bid": 235837, "div": 4, "side": 71, "dmg": 1}
self.assertFalse(self.db.check_medal(**kwargs))
self.assertTrue(self.db.add_reported_medal(**kwargs))
self.assertTrue(self.db.check_medal(**kwargs))
self.assertTrue(self.db.delete_medals([kwargs['bid']]))
def test_hunt(self):
member_id = self.db.add_member(mention_number=2, name="username")
member_id2 = self.db.add_member(mention_number=3, name="username")
member_id3 = self.db.add_member(mention_number=4, name="username")
self.db.add_player(1, 'plato')
self.db.add_player(2, 'draco')
self.assertFalse(self.db.check_hunt(1, member_id))
self.assertFalse(self.db.remove_hunted_player(1, member_id))
self.assertTrue(self.db.add_hunted_player(1, member_id))
self.assertTrue(self.db.add_hunted_player(1, member_id2))
self.assertTrue(self.db.add_hunted_player(1, member_id3))
self.assertTrue(self.db.add_hunted_player(2, member_id))
self.assertListEqual(self.db.get_hunted_player_ids(), [1, 2])
self.assertListEqual(self.db.get_members_to_notify(1), [2, 3, 4])
self.assertListEqual(self.db.get_members_to_notify(2), [2])
self.assertFalse(self.db.add_hunted_player(1, member_id))
self.assertTrue(self.db.check_hunt(1, member_id))
self.assertTrue(self.db.remove_hunted_player(1, member_id))