Files
odoo_source/addons/account
Adrian Torres ca91e13dee [IMP] testing: forbid module operations during testing
With this commit, module operations such as install, upgrades and
uninstalls are henceforth forbidden inside unit tests and instead such
tests must be performed with standalone Odoo scripts.

This is done because module operations during tests are not
transactional, this can leave the registry in an unclean state and
further tests may be affected by this, it also creates a new registry
which complicates registry cleanup if anything crashes,
because the registry to be cleaned up is not the same one that crashed.

Instead, what should be done is a script that imports odoo as a library,
and loads the database necessary then performs whichever operations
necessary. This script should contain a single function with a single
parameter (env) and should be decorated with
@odoo.tests.common.standalone in order to be executed properly, this
decorator accepts any amount of positional parameters as tags that can
be specified when calling the script in order to execute only a select
subset of scripts.

Special tags are: 'all' and <module_name>, these are generated
automatically, the first will execute ALL scripts available whereas
<module_name> will execute all scripts introduced by said module.

When calling the test_module_operations script, only scripts found in
*installed* modules will be executed, script discovery is only possible
if the code is loaded therefore it is only possible if the module is
installed.

closes odoo/odoo#49669

Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2020-04-22 07:45:53 +00:00
..
…
…
…

Odoo Accounting

The Odoo Open Source Accounting app allows a better way to collaborate with your accountants, your customers and control your suppliers.

Activate features on demand, from integrated analytic accounting to budget, assets and multiple companies consolidation.

A Smart User Interface

Record transactions in a few clicks and easily manage all financial activities in one place. Odoo's user interface is designed with productivity in mind.

A Better Way To Work – Together

Share access to your latest business numbers with your team and your accountant – so everyone is up to speed. From work, home or on the go.

Connect Your Bank Accounts

Import your bank statements and reconcile them in just a few clicks. Prepare payment orders based on your supplier invoices and payment terms.

Electronic invoicing and automated follow-ups

Create and send professional invoices & get paid online. Get rid of the stress of having to constantly remind your debtors. Simply set-up and automate follow-ups to get paid quickly.

Sales Integration

Automatically create invoices from sales orders, delivery orders or base them on time and material. Re-invoice expenses on projects to your customer in just a few clicks.

Purchase Integration

Control supplier invocies based on purchase orders. Get real-time inventory valuation reports automatically posted in your accounts.

Multi-Level Analytic Accounting

Integrate your analytic accounting operations with timesheets, projects, invoices, expenses, etc. No need to record transactions, all analytic entries are posted automatically following your business rules.

Everything you need to grow

Manage your assets, track expenses, control budgets, multi-level analytic accounting; Odoo has all the features you need to sustain all your business activities.

Scale With Your Organization

Odoo supports multiple currencies, multiple users with different access rights, multiple companies with real time consolidation and unlimited analytic plans.