Test and db update

This commit is contained in:
Eriks K 2021-08-17 08:35:23 +03:00
parent e3ec4ef0d8
commit 6dce4467a0
2 changed files with 13 additions and 0 deletions

View File

@ -192,9 +192,13 @@ class DiscordDB:
if channel_id in self.get_kind_notification_channel_ids(kind): if channel_id in self.get_kind_notification_channel_ids(kind):
logger.warning(f"removing channel with id {channel_id}") logger.warning(f"removing channel with id {channel_id}")
self.channel.delete_where("kind = ? and channel_id = ?", (kind, channel_id)) self.channel.delete_where("kind = ? and channel_id = ?", (kind, channel_id))
self.remove_role_mappings(channel_id)
return True return True
return False return False
def remove_role_mappings(self, channel_id: int):
return self.role_mapping.delete_where("channel_id = ?", (channel_id, ))
def add_role_mapping_entry(self, channel_id: int, division: int, role_id: int) -> bool: def add_role_mapping_entry(self, channel_id: int, division: int, role_id: int) -> bool:
if division not in (1, 2, 3, 4, 11): if division not in (1, 2, 3, 4, 11):
return False return False

View File

@ -49,8 +49,17 @@ class TestDatabase(unittest.TestCase):
self.assertTrue(self.db.add_notification_channel(13, 16, "epic")) self.assertTrue(self.db.add_notification_channel(13, 16, "epic"))
self.assertFalse(self.db.add_notification_channel(13, 16, "epic")) self.assertFalse(self.db.add_notification_channel(13, 16, "epic"))
self.assertListEqual(self.db.get_kind_notification_channel_ids("epic"), [16]) self.assertListEqual(self.db.get_kind_notification_channel_ids("epic"), [16])
self.assertFalse(self.db.add_role_mapping_entry(16, 5, 160003))
self.assertTrue(self.db.add_role_mapping_entry(16, 3, 160003))
self.assertTrue(self.db.add_role_mapping_entry(16, 4, 160003))
self.assertTrue(self.db.add_role_mapping_entry(16, 4, 160004))
self.assertEqual(self.db.get_role_id_for_channel_division(16, 3), 160003)
self.assertEqual(self.db.get_role_id_for_channel_division(16, 4), 160004)
self.assertTrue(self.db.remove_kind_notification_channel("epic", 16)) self.assertTrue(self.db.remove_kind_notification_channel("epic", 16))
self.assertFalse(self.db.remove_kind_notification_channel("epic", 16)) self.assertFalse(self.db.remove_kind_notification_channel("epic", 16))
self.assertFalse(self.db.get_role_id_for_channel_division(16, 3))
self.assertFalse(self.db.get_role_id_for_channel_division(16, 4))
self.assertFalse(self.db.get_role_id_for_channel_division(16, 5))
class TestRegexes(unittest.TestCase): class TestRegexes(unittest.TestCase):