def test_valid_template_with_time(self): keyboard_template = """[['Back'],['{% now 'local' %}']]""" validate_telegram_keyboard(keyboard_template) # #TODO: this case is not covered. When rendering the bad pattern is not validated # def test_not_valid_with_template_outside_not_generated(self): # keyboard_template = "{% if response.status == 400 %}[['a','b']{% else %}[['b', 'c']]{% endif %}" # self.assertRaises(ValidationError, validate_telegram_keyboard, keyboard_template)
def test_valid_no_template(self): keyboard_template = "[['a','b']]" validate_telegram_keyboard(keyboard_template)
def test_valid_template_with_state_context(self): keyboard_template = """[['Back']{% for repo in state_context.user_detail.response.data %}{% if loop.first %},{% endif %} ['{{repo.full_name}}']{% if not loop.last %},{% endif %}{% endfor%}]""" validate_telegram_keyboard(keyboard_template)
def test_valid_with_template_outside_rendered_as_none(self): keyboard_template = "{% if response.status == 200 %}[['Repos', 'Starred'],['Back']]{% endif %}" validate_telegram_keyboard(keyboard_template)
def test_valid_with_template_outside(self): keyboard_template = "{% if response.status == 400 %}[['a','b']]{% else %}[['b', 'c']]{% endif %}" validate_telegram_keyboard(keyboard_template)
def test_valid_with_template_inside(self): keyboard_template = "[['{{response.value}}','{% if pattern.condition %}{{ pattern.condition }}{% else %}back{% endif %}']]" validate_telegram_keyboard(keyboard_template)
def test_valid_template_with_time(self): keyboard_template = """[['Back'],['{% now 'local' %}']]""" validate_telegram_keyboard(keyboard_template)