from data.snipe import should_snipe import unittest from unittest.mock import Mock class TestSnipe(unittest.TestCase): def test_should_snipe(self): mock_message = Mock() mock_guild = Mock() mock_author = Mock() # Guild is None mock_message.guild = None self.assertFalse(should_snipe(mock_message)) mock_message.guild = mock_guild # Author is a bot mock_message.author = mock_author mock_author.bot = True self.assertFalse(should_snipe(mock_message)) mock_author.bot = False mock_message.content = "Some string that contains A123B-CE68S-Z6B34 a Steam code" self.assertFalse(should_snipe(mock_message)) mock_message.content = "Some string that does NOT contain a Steam code" self.assertTrue(should_snipe(mock_message))