Skip to content

Commit

Permalink
[IMP][MOV] mail: move / pimp test tools and asserts to mail
Browse files Browse the repository at this point in the history
PURPOSE

Currently tools and asserts for mail tests are located inside test_mail
module. It makes difficult to re-use them in application tests or force them
to write custom quick and dirty tools and asserts. Purpose of this merge
is therefore to move tools classes and mocks to mail directly and use them
in various sub modules.

SPECIFICATIONS

Have class, mocks, tools and asserts available in mail so that all modules
below from mail can use them.

Including

  * mock mail gateway in a clean way: mock server connection, email building
    and sending;
  * allow to simulate errors while sending emails to test corner cases;
  * provide tools to insert emails in mail gateway;
  * mock mail application to check record creation (message, notifications,
    mails, ...);
  * mock bus notification;
  * provide clearer assert methods for bus and mail notifications;
  * provide clearer emails sending and content methods;
  * provide a with_user tool context manager for tests allowing to quickly
    change current user given a login;

Most of those tools, asserts and mocks come from test_mail/tests/common.py.
They have been partially rewritten to be easier to use or to perform tests
more cleanly.

Future commits will gradually update existing tests in test_mail, test_mass
mailing and test_mail_full.

LINKS

Task ID 2068986
PR #38070
  • Loading branch information
tde-banana-odoo committed Nov 20, 2019
1 parent fd5264c commit c3be4c3
Show file tree
Hide file tree
Showing 4 changed files with 589 additions and 0 deletions.
1 change: 1 addition & 0 deletions addons/mail/__init__.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-

from . import models
from . import tests
from . import wizard
from . import controllers
3 changes: 3 additions & 0 deletions addons/mail/tests/__init__.py
@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-

from . import common

0 comments on commit c3be4c3

Please sign in to comment.