-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtests.py
37 lines (26 loc) · 1.29 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pytest
from django.views.generic.detail import DetailView
from template_names import TemplateNames, camel_to_snake, get_app_template_folder
def test_camel_to_snake():
assert camel_to_snake('camelCaseStringExample') == 'camel_case_string_example'
assert camel_to_snake('camelCaseString44Example') == 'camel_case_string44_example'
def test_get_app_template_folder():
myview = CleanDetail()
assert get_app_template_folder(myview.__module__) == 'tests'
class DetailWithTemplateProvided(TemplateNames, DetailView):
template_name = 'somewhere/provided_template_name.html'
def test_provided_template_name():
myview = DetailWithTemplateProvided()
assert myview.get_template_names() == ['somewhere/provided_template_name.html',]
class CleanDetail(TemplateNames, DetailView):
# template_name not provided manually
pass
def test_generated_template_names():
myview = CleanDetail()
assert myview.get_template_names() == ('tests/clean_detail.html', 'tests/clean_detail.jinja')
class DetailWithExtensions(TemplateNames, DetailView):
def get_template_exts(self):
return ['html',]
def test_generated_template_names_with_extension_override():
myview = DetailWithExtensions()
assert myview.get_template_names() == ('tests/detail_with_extensions.html',)