Skip to content

Commit d20d3a9

Browse files
committed
Convert the testsuite to pytest
1 parent 2072f6c commit d20d3a9

12 files changed

+2088
-2078
lines changed

pyproject.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ optional-dependencies.all = [
4747
optional-dependencies.tests = [
4848
"coverage",
4949
"django-ckeditor",
50+
"pytest",
51+
"pytest-cov",
52+
"pytest-django",
5053
"requests-mock",
5154
]
5255
urls.Homepage = "https://github.com/matthiask/feincms3/"
@@ -122,3 +125,8 @@ lint.per-file-ignores."*/migrat*/*" = [
122125
lint.isort.combine-as-imports = true
123126
lint.isort.lines-after-imports = 2
124127
lint.mccabe.max-complexity = 15
128+
129+
[tool.pytest.ini_options]
130+
DJANGO_SETTINGS_MODULE = "testapp.settings"
131+
python_files = [ "tests.py", "test_*.py" ]
132+
addopts = "--reuse-db"

tests/testapp/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
ROOT_URLCONF = "testapp.urls"
3333
LANGUAGES = [("en", "English"), ("de", "German"), ("fr", "French")]
34+
LANGUAGE_CODE = "en"
3435

3536
TEMPLATES = [
3637
{

tests/testapp/test_cleanse.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
from django.db import models
2-
from django.test import TestCase
32
from django.test.utils import isolate_apps
43

54
from feincms3.cleanse import CleansedRichTextField
65

76

8-
class Test(TestCase):
9-
@isolate_apps("testapp")
10-
def test_mixin(self):
11-
class Thing(models.Model): # noqa: DJ008
12-
text = CleansedRichTextField()
7+
@isolate_apps("testapp")
8+
def test_mixin():
9+
class Thing(models.Model): # noqa: DJ008
10+
text = CleansedRichTextField()
1311

14-
thing = Thing(text="<script>Hello</script>World")
15-
thing.full_clean()
16-
self.assertEqual(thing.text, "World")
12+
thing = Thing(text="<script>Hello</script>World")
13+
thing.full_clean()
14+
assert thing.text == "World"

tests/testapp/test_embedding.py

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,59 @@
1-
from django.test import TestCase
2-
31
from feincms3.embedding import embed
42

53

6-
class EmbeddingTest(TestCase):
7-
def test_no_handlers(self):
8-
"""Embed video without handlers"""
9-
self.assertEqual(embed("stuff"), None)
4+
def test_no_handlers():
5+
"""Embed video without handlers"""
6+
assert embed("stuff") is None
7+
108

11-
def test_youtube(self):
12-
"""YouTube video embedding works"""
13-
self.assertEqual(
14-
embed("https://www.youtube.com/watch?v=dQw4w9WgXcQ"),
15-
"""\
9+
def test_youtube():
10+
"""YouTube video embedding works"""
11+
assert (
12+
embed("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
13+
== """\
1614
<div class="responsive-embed widescreen youtube"><iframe \
1715
src="https://www.youtube.com/embed/dQw4w9WgXcQ?rel=0" frameborder="0" \
18-
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>""",
19-
)
16+
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>"""
17+
)
2018

21-
self.assertEqual(
22-
embed("https://youtu.be/y7-s5ZvC_2A"),
23-
"""\
19+
assert (
20+
embed("https://youtu.be/y7-s5ZvC_2A")
21+
== """\
2422
<div class="responsive-embed widescreen youtube"><iframe \
2523
src="https://www.youtube.com/embed/y7-s5ZvC_2A?rel=0" frameborder="0" \
26-
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>""",
27-
)
28-
29-
self.assertTrue(
30-
embed("https://www.youtube.com/watch?v=4zGnNmncJWg&feature=emb_title")
31-
)
32-
self.assertTrue(
33-
embed(
34-
"https://www.youtube.com/watch?v=DYu_bGbZiiQ&list=RDJMOOG7rWTPg&index=7"
35-
)
36-
)
37-
self.assertTrue(embed("https://www.youtube.com/watch/ZumRshfKdtM"))
38-
self.assertTrue(embed("https://www.youtube.com/shorts/ZumRshfKdtM"))
39-
40-
self.assertEqual(
41-
embed("https://www.youtube.com/live/ljSZ0xrJjCs"),
42-
"""\
43-
<div class="responsive-embed widescreen youtube"><iframe src="https://www.youtube.com/embed/ljSZ0xrJjCs?rel=0" frameborder="0" allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>""",
44-
)
45-
46-
def test_vimeo(self):
47-
"""Vimeo video embedding works"""
48-
self.assertEqual(
49-
embed("https://vimeo.com/455728498"),
50-
"""\
24+
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>"""
25+
)
26+
27+
assert embed("https://www.youtube.com/watch?v=4zGnNmncJWg&feature=emb_title")
28+
assert embed(
29+
"https://www.youtube.com/watch?v=DYu_bGbZiiQ&list=RDJMOOG7rWTPg&index=7"
30+
)
31+
assert embed("https://www.youtube.com/watch/ZumRshfKdtM")
32+
assert embed("https://www.youtube.com/shorts/ZumRshfKdtM")
33+
34+
assert (
35+
embed("https://www.youtube.com/live/ljSZ0xrJjCs")
36+
== """\
37+
<div class="responsive-embed widescreen youtube"><iframe src="https://www.youtube.com/embed/ljSZ0xrJjCs?rel=0" frameborder="0" allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>"""
38+
)
39+
40+
41+
def test_vimeo():
42+
"""Vimeo video embedding works"""
43+
assert (
44+
embed("https://vimeo.com/455728498")
45+
== """\
5146
<div class="responsive-embed widescreen vimeo"><iframe \
5247
src="https://player.vimeo.com/video/455728498" frameborder="0" \
53-
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>""",
54-
)
48+
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>"""
49+
)
5550

56-
self.assertTrue(embed("https://player.vimeo.com/video/417955670"))
51+
assert embed("https://player.vimeo.com/video/417955670")
5752

58-
self.assertEqual(
59-
embed("https://vimeo.com/12345678/3213124324"),
60-
"""\
53+
assert (
54+
embed("https://vimeo.com/12345678/3213124324")
55+
== """\
6156
<div class="responsive-embed widescreen vimeo"><iframe \
6257
src="https://player.vimeo.com/video/12345678" frameborder="0" \
63-
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>""",
64-
)
58+
allow="autoplay; fullscreen" allowfullscreen=""></iframe></div>"""
59+
)

0 commit comments

Comments
 (0)