class AddEveryMonthTimeItemTest(unittest.TestCase): def setUp(self) -> None: self.bot = TodoBot("sqlite:///../static/test_todo_bot.db") def tearDown(self) -> None: os.remove("../static/test_todo_bot.db") def test_add_one_item_interface(self): answer = self.bot.message_handler('++ 1 00:00 напоминание №1', '1') self.assertEqual('Добавлено напоминание о "напоминание №1" на 1 00:00', answer) def test_add_one_item_base(self): self.bot.message_handler('++ 1 00:00 напоминание №1', '1') item = self.bot.get_session().query(EveryMonthTimeScheduleItem).first() self.assertEqual('напоминание №1', item.name) self.assertEqual('1 00:00', item.notification_datetime)
class MarkItemTest(unittest.TestCase): def setUp(self) -> None: self.bot = TodoBot("sqlite:///../static/test_todo_bot.db") def tearDown(self) -> None: os.remove("../static/test_todo_bot.db") def test_mark_one_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list)) session.commit() answer = self.bot.message_handler('** 1', '1') self.assertEqual('Зачеркнуто "дело №1"', answer) def test_mark_one_item_interface_2(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №2', list)) session.commit() answer = self.bot.message_handler('** 1', '1') self.assertEqual('Зачеркнуто "дело №2"', answer) def test_mark_one_item_interface_3(self): answer = self.bot.message_handler('** 1', '1') self.assertEqual('Элемента с номером 1 нет в вашем списке', answer) def test_mark_one_item_interface_4(self): answer = self.bot.message_handler('** -1', '1') self.assertEqual('Элемента с номером -1 не может быть в вашем списке', answer) def test_mark_one_item_interface_5(self): answer = self.bot.message_handler('** 2', '1') self.assertEqual('Элемента с номером 2 нет в вашем списке', answer) def test_mark_one_item_interface_6(self): answer = self.bot.message_handler('** -2', '1') self.assertEqual('Элемента с номером -2 не может быть в вашем списке', answer) def test_mark_one_item_interface_7(self): answer = self.bot.message_handler('** первый', '1') self.assertEqual('"первый" непохоже на номер в списке', answer) def test_mark_one_item_interface_8(self): answer = self.bot.message_handler('** второй', '1') self.assertEqual('"второй" непохоже на номер в списке', answer) def test_delete_all_items_interface(self): answer = self.bot.message_handler('--*', '1') self.assertEqual('Все зачеркнутые элементы удалены', answer) def test_mark_one_item_base(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() item = Item('дело №1', list) session.add(item) session.commit() self.bot.message_handler('** 1', '1') self.assertEqual(ItemState.MARK, item.state)
class GetListTest(unittest.TestCase): def setUp(self) -> None: self.bot = TodoBot("sqlite:///../static/test_todo_bot.db") def tearDown(self) -> None: os.remove("../static/test_todo_bot.db") def test_get_empty_list_interface(self): answer = self.bot.message_handler('??', '1') self.assertEqual('Список пуст', answer) def test_get_list_with_one_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('1) дело №1', answer) def test_get_list_with_two_items_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list)) session.add(Item('дело №2', list)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('1) дело №1\n' '2) дело №2', answer) def test_get_items_from_different_lists_interface(self): session = self.bot.get_session() list1 = List('1') session.add(list1) session.commit() session.add(Item('дело №1', list1)) list2 = List('2') session.add(list2) session.commit() session.add(Item('дело №2', list2)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('1) дело №1', answer) answer = self.bot.message_handler('??', '2') self.assertEqual('1) дело №2', answer) def test_get_list_with_one_mark_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list, state=ItemState.MARK)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('<strike>1) дело №1</strike>', answer) def test_get_list_with_two_mark_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list, state=ItemState.MARK)) session.add(Item('дело №2', list, state=ItemState.MARK)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual( '<strike>1) дело №1</strike>\n' '<strike>2) дело №2</strike>', answer) def test_get_list_with_one_mark_item_and_one_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list, state=ItemState.MARK)) session.add(Item('дело №2', list)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('<strike>1) дело №1</strike>\n' '2) дело №2', answer) def test_get_list_with_one_item_and_one_mark_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list)) session.add(Item('дело №2', list, state=ItemState.MARK)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('1) дело №1\n' '<strike>2) дело №2</strike>', answer) def test_get_list_with_one_item_and_one_delete_item_interface(self): session = self.bot.get_session() list = List('1') session.add(list) session.commit() session.add(Item('дело №1', list)) session.add(Item('дело №2', list, state=ItemState.DELETE)) session.commit() answer = self.bot.message_handler('??', '1') self.assertEqual('1) дело №1', answer)