util.tests.test_email

Test file for emails.py.

Functions

_write_template(tpldir, relpath, content)

Helper to create a template file with given relative path and content.

templates_dir(settings, tmp_path)

Provide a clean temporary template directory and point Django to it.

locmem_email_backend(settings)

Force Django to use locmem email backend for tests.

test_mailtemplate_helpers()

Ensure MailTemplate.txt() and .html() return correct paths.

test_render_bodies_prefers_txt_when_present(templates_dir)

Verify that _render_bodies prefers .txt when both txt and html exist.

test_render_bodies_falls_back_if_txt_missing(templates_dir)

Verify that _render_bodies falls back to HTML and strip_tags when txt missing.

test_send_email_builds_multipart_and_uses_locmem(...)

Ensure send_email renders templates and sends a multipart email.

test_send_bulk_sends_multiple(templates_dir)

Ensure send_bulk sends all payloads and accumulates sent count.

test_emailpayload_post_init_normalizes_types(templates_dir)

Verify that EmailPayload.__post_init__ normalizes lists to tuples and dicts to MappingProxyType.

Module Contents

util.tests.test_email._write_template(tpldir, relpath, content)[source]

Helper to create a template file with given relative path and content.

Parameters:
  • tpldir (pathlib.Path)

  • relpath (str)

  • content (str)

Return type:

None

util.tests.test_email.templates_dir(settings, tmp_path)[source]

Provide a clean temporary template directory and point Django to it.

Parameters:
  • settings (Any)

  • tmp_path (pathlib.Path)

Return type:

pathlib.Path

util.tests.test_email.locmem_email_backend(settings)[source]

Force Django to use locmem email backend for tests.

Parameters:

settings (Any)

Return type:

None

util.tests.test_email.test_mailtemplate_helpers()[source]

Ensure MailTemplate.txt() and .html() return correct paths.

Return type:

None

util.tests.test_email.test_render_bodies_prefers_txt_when_present(templates_dir)[source]

Verify that _render_bodies prefers .txt when both txt and html exist.

Parameters:

templates_dir (pathlib.Path)

Return type:

None

util.tests.test_email.test_render_bodies_falls_back_if_txt_missing(templates_dir)[source]

Verify that _render_bodies falls back to HTML and strip_tags when txt missing.

Parameters:

templates_dir (pathlib.Path)

Return type:

None

util.tests.test_email.test_send_email_builds_multipart_and_uses_locmem(templates_dir)[source]

Ensure send_email renders templates and sends a multipart email.

Parameters:

templates_dir (pathlib.Path)

Return type:

None

util.tests.test_email.test_send_bulk_sends_multiple(templates_dir)[source]

Ensure send_bulk sends all payloads and accumulates sent count.

Parameters:

templates_dir (pathlib.Path)

Return type:

None

util.tests.test_email.test_emailpayload_post_init_normalizes_types(templates_dir)[source]

Verify that EmailPayload.__post_init__ normalizes lists to tuples and dicts to MappingProxyType.

Parameters:

templates_dir (pathlib.Path)

Return type:

None