Introduction

When it comes to developing large applications, automated test cases are a good practice for improving the reliability of your module. This makes your module more robust. Every year, Odoo releases a new version of its software, and automated test cases are very helpful in detecting regression in your application, which may have been generated due to a version upgrade. Luckily, an Odoo framework comes with different automated testing utilities. Odoo includes the following three main types of tests:

  • Python test case: Used to test Python business logic
  • JavaScript QUnit test: Used to test JavaScript implementation in Odoo
  • Tours: Integration test to check that Python and JavaScript work with each other properly

In this chapter, we will look at all of these test cases in detail. In order to cover all of test cases in the same module, we have created a small module. Its Python definition is as follows:

class LibraryBook(models.Model):
_name = 'library.book'
name = fields.Char('Title', required=True)
date_release = fields.Date('Release Date')
author_ids = fields.Many2many('res.partner', string='Authors')
state = fields.Selection(
[('draft', 'Not Available'),
('available', 'Available'),
('lost', 'Lost')],
'State', default="draft")
color = fields.Integer()

def make_available(self):
self.write({'state': 'available'})

def make_lost(self):
self.write({'state': 'lost'})

This Python code will help us to write test cases for Python business cases. For JavaScript-side test cases, we have added the int_color widget from the Creating custom widgets recipe in Chapter 16, Web Client Development.

You can grab this initial module from the GitHub repository of this book, at the following link: https://github.com/PacktPublishing/Odoo-12-Development-Cookbook-Third-Edition/tree/master/Chapter18/r0_initial_module

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset