|
- from odoo.tests.common import TransactionCase
- from odoo.tests.common import HttpCase
- from odoo.exceptions import UserError
-
- # 添加一个简单测试用例,创建一本新书并检测active 字段的值是否正确
- # 使用–test-enable参数在安装或升级模块时进行测试:-u library_app --test-enable
-
- class TestBook(TransactionCase):
- def setUp(self, *args, **kwargs): # 固定的
- result = super().setUp(*args, **kwargs) # 固定的
- user_admin = self.env.ref('base.user_admin')
- self.env = self.env(user=user_admin) # user 属性修改为希望运行测试的用户
- self.Book = self.env['library.book'] # 要测试的model名称,这个Book的名字是基于什么来定的
- self.book_ode = self.Book.create({ #
- 'name': 'Odoo developdfjklajdflkajflkaj',
- 'isbn': '9787530220245'
- })
- return result
-
- def test_create(self):
- "Test Books are active by default"
- self.assertEqual(self.book_ode.active, True)
-
- # 测试业务逻辑
- def test_check_isbn(self):
- "Check valid ISBN"
- self.assertTrue(self.book_ode._check_isbn())
-
- def test_button_check_isbn(self):
- "Button Check ISBN"
- self.assertTrue(self.book_ode.button_check_isbn())
-
- #覆盖check
- def test_isbn_invalid(self):
- "Button Check ISBN IF 1"
- self.book_ode.isbn = '1'
- with self.assertRaises(UserError):
- self.assertRaises(self.book_ode.button_check_isbn())
-
-
- def test_isbn_blank(self):
- "Button Check ISBN IF 2"
- self.book_ode.isbn = ''
- with self.assertRaises(UserError):
- self.assertRaises(self.book_ode.button_check_isbn())
-
- # 测试安全权限
- # def setUp(self, *args, **kwargs):
- # result = super().setUp(*args, **kwargs)
- # user_admin = self.env.ref('base.user_admin')
- # self.env = self.env(user=user_admin) # user 属性修改为希望运行测试的用户
- # self.Book = self.env['library.book']
- # self.book_ode = self.Book.create({
- # 'name': 'Odoo developdfjklajdflkajflkaj',
- # 'isbn': '9787530220245'
- # })
- # return result
-
- # 测试网页
- class Test_SurveyCase(HttpCase):
- def test_access_page(self):
- self.authenticate("admin", "1")
- return self.url_open('/library/books')
|