dana-medical-site/deploy/test_price_policy.py

27 lines
2.2 KiB
Python

import unittest
from price_policy import reason
def item(name, section="gyne-price", item_id=1):
return {"id": item_id, "name": name, "section": section}
class PricePolicyTest(unittest.TestCase):
def test_consultations_are_preserved(self):
for name in ("Консультация хирурга", "Консультация врача хирурга (Тест)", "Прием хирурга/ортопеда (Тест)"):
self.assertIsNone(reason(item(name, "hirurgiya-price")))
def test_gynaecological_and_misfiled_operations_are_hidden(self):
for name in ("Лапароскопическая миомэктомия", "Надвлагалищная ампутация матки (лапараскопия)", "Оперативная коррекция послеоперационного рубца", "Радиоволновая эксцизия ш/м", "Кольпорафия", "Вылущивание кисты шейки матки", "Вагинопластика 3 кат. сложности"):
self.assertIsNotNone(reason(item(name)))
self.assertIsNotNone(reason(item("Операция на опухоль спинного мозга", "uzi-price")))
def test_nonoperative_prices_are_unchanged(self):
for name, section in (("Кольпоскопия", "gyne-price"), ("Кардиотокография (КТГ) плода", "gyne-price"), ("УЗИ органов брюшной полости", "uzi-price"), ("Кариес (детям)", "stomatologiya"), ("Керамические коронки", "stomatologiya"), ("Капельница Восстановление после операций", "protsedurny-kabinet"), ("Реабилитация после операции", "lech_bol")):
self.assertIsNone(reason(item(name, section)))
def test_whole_unoffered_cosmetology_section_is_hidden(self):
self.assertEqual(reason(item("Чистка лица", "kosmetologiya-price")), "cosmetology_not_offered")
self.assertEqual(reason(item("Ошибочно включённая консультация", "kosmetologiya-price")), "cosmetology_not_offered")
if __name__ == "__main__":
unittest.main()