258 lines
7.3 KiB
Python
Executable File
258 lines
7.3 KiB
Python
Executable File
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
import unittest
|
|
|
|
from sql import Literal
|
|
|
|
from trytond.pool import Pool
|
|
from trytond.tests.test_tryton import activate_module, with_transaction
|
|
|
|
|
|
class FieldBooleanTestCase(unittest.TestCase):
|
|
"Test Field Boolean"
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
activate_module('tests')
|
|
|
|
@with_transaction()
|
|
def test_create(self):
|
|
"Test create boolean"
|
|
Boolean = Pool().get('test.boolean')
|
|
|
|
boolean_true, boolean_false, boolean_none = Boolean.create([{
|
|
'boolean': True,
|
|
}, {
|
|
'boolean': False,
|
|
}, {
|
|
'boolean': None,
|
|
}])
|
|
|
|
self.assertEqual(boolean_true.boolean, True)
|
|
self.assertEqual(boolean_false.boolean, False)
|
|
self.assertEqual(boolean_none.boolean, None)
|
|
|
|
@with_transaction()
|
|
def test_create_without_default(self):
|
|
"Test create boolean without default"
|
|
Boolean = Pool().get('test.boolean')
|
|
|
|
boolean, = Boolean.create([{}])
|
|
|
|
self.assertEqual(boolean.boolean, False)
|
|
|
|
@with_transaction()
|
|
def test_create_with_default(self):
|
|
"Test create boolean with default"
|
|
Boolean = Pool().get('test.boolean_default')
|
|
|
|
boolean, = Boolean.create([{}])
|
|
|
|
self.assertEqual(boolean.boolean, True)
|
|
|
|
@with_transaction()
|
|
def test_create_with_sql_value(self):
|
|
"Test create boolean with SQL value"
|
|
Boolean = Pool().get('test.boolean')
|
|
|
|
boolean, = Boolean.create([{'boolean': Literal(True)}])
|
|
|
|
self.assertEqual(boolean.boolean, True)
|
|
|
|
@with_transaction()
|
|
def test_set_sql_value(self):
|
|
"Test cannot set SQL value"
|
|
Boolean = Pool().get('test.boolean')
|
|
|
|
boolean = Boolean()
|
|
|
|
with self.assertRaises(ValueError):
|
|
boolean.boolean = Literal(True)
|
|
|
|
@with_transaction()
|
|
def test_search_equals_true(self):
|
|
"Test search boolean equals True"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean1, boolean2 = Boolean.create([{
|
|
'boolean': True,
|
|
}, {
|
|
'boolean': False,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', '=', True),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [boolean1])
|
|
|
|
@with_transaction()
|
|
def test_search_equals_false(self):
|
|
"Test search boolean equals False"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean1, boolean2 = Boolean.create([{
|
|
'boolean': True,
|
|
}, {
|
|
'boolean': False,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', '=', False),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [boolean2])
|
|
|
|
@with_transaction()
|
|
def test_search_non_equals(self):
|
|
"Test search boolean non equals"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', '!=', True),
|
|
])
|
|
self.assertListEqual(booleans, [])
|
|
|
|
@with_transaction()
|
|
def test_search_in_true(self):
|
|
"Test search boolean in [True]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'in', [True]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [boolean])
|
|
|
|
@with_transaction()
|
|
def test_search_in_false(self):
|
|
"Test search boolean in [False]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'in', [False]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [])
|
|
|
|
@with_transaction()
|
|
def test_search_not_in_true(self):
|
|
"Test search boolean not in [True]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'not in', [True]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [])
|
|
|
|
@with_transaction()
|
|
def test_search_not_in_false(self):
|
|
"Test search boolean not in [False]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'not in', [False]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [boolean])
|
|
|
|
@with_transaction()
|
|
def test_search_in_true_false(self):
|
|
"Test search boolean in [True, False]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean1, boolean2 = Boolean.create([{
|
|
'boolean': True,
|
|
}, {
|
|
'boolean': False,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'in', [True, False]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [boolean1, boolean2])
|
|
|
|
@with_transaction()
|
|
def test_search_not_in_true_false(self):
|
|
"Test search boolean not in [True, False]"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean1, boolean2 = Boolean.create([{
|
|
'boolean': True,
|
|
}, {
|
|
'boolean': False,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', 'not in', [True, False]),
|
|
])
|
|
|
|
self.assertListEqual(booleans, [])
|
|
|
|
@with_transaction()
|
|
def test_search_equals_false_with_none(self):
|
|
"Test search boolean equals False with None"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': None,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', '=', False),
|
|
])
|
|
self.assertListEqual(booleans, [boolean])
|
|
|
|
@with_transaction()
|
|
def test_search_non_equals_false_with_none(self):
|
|
"Test search boolean non equals False with None"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': None,
|
|
}])
|
|
|
|
booleans = Boolean.search([
|
|
('boolean', '!=', False),
|
|
])
|
|
self.assertListEqual(booleans, [])
|
|
|
|
@with_transaction()
|
|
def test_write_false(self):
|
|
"Test write boolean False"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': True,
|
|
}])
|
|
|
|
Boolean.write([boolean], {
|
|
'boolean': False,
|
|
})
|
|
|
|
self.assertEqual(boolean.boolean, False)
|
|
|
|
@with_transaction()
|
|
def test_write_true(self):
|
|
"Test write boolean True"
|
|
Boolean = Pool().get('test.boolean')
|
|
boolean, = Boolean.create([{
|
|
'boolean': False,
|
|
}])
|
|
|
|
Boolean.write([boolean], {
|
|
'boolean': True,
|
|
})
|
|
|
|
self.assertEqual(boolean.boolean, True)
|