def test_make_text_list_categories(self): add_example_user(session) add_example_category_consumption(session) expected = f"1. {example_category_consumption['category']}\n" self.assertEqual(ConsumptionCategoryManager.make_text_list_categories(session, example_user['telegram_user_id']), expected)
def test_get_all_categories_by_text(self): add_example_user(session) add_example_category_consumption(session) expected = [example_category_consumption['category']] answer = ConsumptionCategoryManager.get_all_categories_by_text(session, example_user['telegram_user_id']) self.assertEqual(answer, expected)
def test_not_user_has_earning_or_consumption_today(self): add_example_user(session) now = datetime.datetime(2020, 1, 1, 10) actual = user_has_earning_or_consumption_today( user=session.query(User).get(1), now=now) expected = False self.assertEqual(expected, actual)
def test_repr(self): add_example_user(session) user = session.query(User).get(1) expected = f"<User ('{example_user['id']}', '{example_user['telegram_username']}', " \ f"'{example_user['telegram_user_id']}', '{example_user['first_name']}', " \ f"'{example_user['last_name']}', '{example_user['last_activity']}', '{example_user['date_registration']}')>" self.assertEqual(repr(user), expected)
def test_make_text_list_categories(self): add_example_user(session) add_example_category_earning(session) expected = f"1. {example_category_earning['category']}\n" self.assertEqual( EarningCategoryManager.make_text_list_categories( session, example_user['telegram_user_id']), expected)
def test_add_category_in_db(self): add_example_user(session) new_category = 'Стипендия' expected = CategoryEarning(id=1, category=new_category, user_id=1) EarningCategoryManager.add_category_in_db( session, new_category, example_user['telegram_user_id']) answer = session.query(CategoryEarning).get(1) self.assertEqual(answer, expected)
def test_get_all_categories(self): add_example_user(session) add_example_category_consumption(session) expected = [CategoryConsumption(id=1, user_id=example_user['id'], category=example_category_consumption['category'])] answer = session.query(CategoryConsumption).all() self.assertEqual(answer, expected)
def test_make_text_week_results(self): now = datetime.datetime(2020, 1, 12, 12, 30, 00) add_example_user(session) add_example_consumption(session) user = session.query(User).get(1) actual = make_text_week_results(session, now, user) expected = 'За прошедшую неделю вы потратили <b>{} рублей</b>.'.format( example_consumption['amount_money']) self.assertEqual(expected, actual)
def test_edit_category_in_db(self): add_example_user(session) add_example_category_consumption(session) new_category = 'расход какой то' ConsumptionCategoryManager.edit_category_in_db(session, example_user['telegram_user_id'], example_category_consumption['category'], new_category) answer = session.query(CategoryConsumption).get(1) self.assertEqual(answer.category, new_category)
def test_delete_category_in_db(self): add_example_user(session) add_example_category_consumption(session) ConsumptionCategoryManager.delete_category_in_db(session, example_category_consumption['category'], example_user['telegram_user_id']) expected = None answer = session.query(CategoryConsumption).get(1) self.assertEqual(answer, expected)
def test_add_category_in_db(self): add_example_user(session) new_category = 'Бензин' expected = CategoryConsumption(id=1, category=new_category, user_id=1) ConsumptionCategoryManager.add_category_in_db(session, new_category, example_user['telegram_user_id']) answer = session.query(CategoryConsumption).get(1) self.assertEqual(answer, expected)
def test_edit_category_in_db(self): add_example_user(session) add_example_category_earning(session) new_category = 'расход какой то' EarningCategoryManager.edit_category_in_db( session, example_user['telegram_user_id'], example_category_earning['category'], new_category) answer = session.query(CategoryEarning).get(1) self.assertEqual(answer.category, new_category)
def test_delete_category_in_db(self): add_example_user(session) add_example_category_earning(session) EarningCategoryManager.delete_category_in_db( session, example_category_earning['category'], example_user['telegram_user_id']) expected = None answer = session.query(CategoryEarning).get(1) self.assertEqual(answer, expected)
def test_get_all_categories(self): add_example_user(session) add_example_category_earning(session) expected = [ CategoryEarning(id=1, user_id=example_user['id'], category=example_category_earning['category']) ] answer = session.query(CategoryEarning).all() self.assertEqual(answer, expected)
def test_add_consumption_in_db(self): amount_money = 120.120 add_example_user(session) add_example_category_consumption(session) expected = Consumption(id=1, category_id=example_category_consumption['id'], amount_money=amount_money) add_consumption_in_db(session=session, telegram_user_id=example_user['telegram_user_id'], amount_money=amount_money, category_text=example_category_consumption['category']) answer = session.query(Consumption).get(1) self.assertEqual(answer, expected)
def test_add_earning_in_db(self): amount_money = 120.120 add_example_user(session) add_example_category_earning(session) expected = Earning(id=1, category_id=example_category_earning['id'], amount_money=amount_money) add_earning_in_db(session=session, telegram_user_id=example_user['telegram_user_id'], amount_money=amount_money, category_text=example_category_earning['category']) answer = session.query(Earning).get(1) self.assertEqual(answer, expected)
def test_make_list_transactions(self): add_example_user(session) session.add(Consumption(id=1, user_id=1, time_creation=datetime.datetime(2020, 1, 10, 12, 30, 00))) session.add(Consumption(id=2, user_id=1, time_creation=datetime.datetime(2020, 1, 8, 12, 25, 00))) session.add(Earning(id=1, user_id=1, time_creation=datetime.datetime(2020, 1, 9, 12, 25, 00))) session.add(Consumption(id=3, user_id=1, time_creation=datetime.datetime(2020, 1, 12, 12, 25, 00))) session.commit() answer = make_list_transactions(session, example_user['telegram_user_id']) expected = [Consumption(id=3), Consumption(id=1), Earning(id=1), Consumption(id=2)] self.assertEqual(answer, expected)
def test_exist_transactions(self): now = datetime.datetime(2020, 1, 22, 10, 10) add_example_user(session) add_example_category_consumption(session) add_example_category_earning(session) add_example_consumption(session, now) add_example_earning(session, now) expected = f"Информация на 22.01.2020 10:10, Среда\n\n" \ f"<b>Расходы:</b>\n" \ f"{example_category_consumption['category']} - {example_consumption['amount_money']} р.\n\n" \ f"<b>Доходы:</b>\n" \ f"{example_category_earning['category']} - {example_earning['amount_money']} р.\n\n" \ f"<b>Всего:</b>\n" \ f"Доход: {example_earning['amount_money']}\n" \ f"Расход: {example_consumption['amount_money']}\n\n" \ f"Хорошего дня!" user = session.query(User).get(1) actual = make_text_today(session, now, user) self.assertEqual(actual, expected)
def test_exist_transactions(self): add_example_user(session) add_example_category_earning(session) add_example_category_consumption(session) session.add( Earning(id=1, time_creation=datetime.datetime(2020, 1, 10, 12, 30, 00), category_id=1, user_id=1)) session.add( Consumption(id=1, time_creation=datetime.datetime( 2020, 1, 9, 12, 30, 00), category_id=1, user_id=1)) session.commit() list_transactions = make_list_transactions( session, example_user['telegram_user_id']) expected = f"Доход 0.0 руб. {example_category_earning['category']} 10.01.2020, 12:30 - /del_e1\n" \ f"Расход 0.0 руб. {example_category_consumption['category']} 09.01.2020, 12:30 - /del_c1\n" actual = make_text_list_transactions(session, list_transactions) self.assertEqual(actual, expected)
def test_update_activity(self): add_example_user(session) now = datetime.datetime(2021, 1, 10, 12, 55, 12) user = session.query(User).get(1) user.update_activity(session, now) self.assertEqual(user.last_activity, now)
def test_has_any_categories(self): add_example_user(session) add_example_category_earning(session) self.assertTrue( EarningCategoryManager.check_any_categories( session, example_user['telegram_user_id']))
def setUp(self): Base.metadata.create_all(engine) add_example_user(session) add_example_category_consumption(session)
def setUp(self): Base.metadata.create_all(engine) add_example_user(session) add_example_category_earning(session)
def test_not_has_any_categories(self): add_example_user(session) self.assertFalse(ConsumptionCategoryManager.check_any_categories(session, example_user['telegram_user_id']))
def test_query_user(self): add_example_user(session) expected = [User(id=1, telegram_username='******', telegram_user_id=123, first_name='boris', last_name='last name')] result = session.query(User).all() self.assertEqual(result, expected)