Skip to content

Commit b335cc8

Browse files
committed
tests
1 parent c0a51b1 commit b335cc8

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

backend/custom_admin/widgets.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.forms import Textarea
2+
3+
4+
class RichEditorWidget(Textarea):
5+
template_name = "astro/widgets/rich-editor.html"

backend/notifications/admin/admins.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from django.urls import reverse
55
from django.contrib import admin
66
from django.urls.resolvers import URLPattern
7+
from custom_admin.widgets import RichEditorWidget
78
from notifications.admin.views import (
89
view_sent_email,
910
view_email_template,
@@ -16,10 +17,6 @@
1617
from django.forms import Textarea
1718

1819

19-
class RichEditorWidget(Textarea):
20-
template_name = "astro/widgets/rich-editor.html"
21-
22-
2320
class SentEmailEventInline(admin.TabularInline):
2421
model = SentEmailEvent
2522
extra = 0

backend/notifications/tests/admin/test_email_template_admin.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.urls import reverse
22

3+
from custom_admin.widgets import RichEditorWidget
34
from notifications.tests.factories import EmailTemplateFactory
45
import pytest
56
from notifications.models import EmailTemplate, EmailTemplateIdentifier
@@ -12,7 +13,6 @@
1213
[
1314
("subject", {"rows": 2, "cols": 200}),
1415
("preview_text", {"rows": 2, "cols": 200}),
15-
("body", {"rows": 50, "cols": 200}),
1616
],
1717
)
1818
def test_textarea_size_for_templates(rf, field_name, expected_attrs):
@@ -27,6 +27,18 @@ def test_textarea_size_for_templates(rf, field_name, expected_attrs):
2727
assert form_field.widget.attrs == expected_attrs
2828

2929

30+
def test_email_template_body_uses_rich_editor(rf):
31+
db_field = EmailTemplate._meta.get_field("body")
32+
33+
admin = EmailTemplateAdmin(
34+
model=EmailTemplate,
35+
admin_site=AdminSite(),
36+
)
37+
38+
form_field = admin.formfield_for_dbfield(db_field, request=rf.get("/"))
39+
assert isinstance(form_field.widget, RichEditorWidget)
40+
41+
3042
def test_cannot_edit_essential_fields_on_existing_object(rf):
3143
admin = EmailTemplateAdmin(
3244
model=EmailTemplate,

0 commit comments

Comments
 (0)