Skip to content

Commit

Permalink
Few more tests for recordlist
Browse files Browse the repository at this point in the history
  • Loading branch information
katyukha committed Jul 30, 2015
1 parent b3b81c8 commit e217baa
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 2 deletions.
5 changes: 4 additions & 1 deletion openerp_proxy/orm/record.py
Expand Up @@ -413,8 +413,11 @@ def refresh(self):
def sort(self, cmp=None, key=None, reverse=False):
""" sort(cmp=None, key=None, reverse=False) -- inplace sort
cmp(x, y) -> -1, 0, 1
:return: self
"""
return self._records.sort(cmp=cmp, key=key, reverse=reverse)
self._records.sort(cmp=cmp, key=key, reverse=reverse)
return self

def copy(self, context=None, new_cache=False):
""" Returns copy of this list, possibly with modified context
Expand Down
32 changes: 32 additions & 0 deletions openerp_proxy/tests/test_orm.py
Expand Up @@ -233,3 +233,35 @@ def test_getitem(self):

with self.assertRaises(IndexError):
self.recordlist[100]

def test_contains(self):
rid = self.obj_ids[0]
rec = self.object.read_records(rid)

brid = self.object.search([('id', 'not in', self.obj_ids)], limit=1)[0]
brec = self.object.read_records(brid)

self.assertIn(rid, self.recordlist)
self.assertIn(rec, self.recordlist)

self.assertNotIn(brid, self.recordlist)
self.assertNotIn(brec, self.recordlist)

self.assertNotIn(None, self.recordlist)

def test_prefetch(self):
# check that cache is only filled with ids
self.assertEqual(len(self.recordlist._lcache), self.recordlist.length)
for record in self.recordlist:
self.assertEqual(len(record._data), 1)
self.assertEqual(record._data.keys(), ['id'])

# prefetch
self.recordlist.prefetch('name')

self.assertEqual(len(self.recordlist._lcache), self.recordlist.length)
for record in self.recordlist:
self.assertEqual(len(record._data), 2)
self.assertEqual(record._data.keys(), ['id', 'name'])

# TODO: test prefetch related
2 changes: 1 addition & 1 deletion run_tests.bash
Expand Up @@ -7,7 +7,7 @@ SCRIPTPATH=`dirname "$SCRIPT"`
(cd $SCRIPTPATH && \
virtualenv venv_test && \
source ./venv_test/bin/activate && \
pip install --upgrade pip setuptools coverage mock pudb && \
pip install --upgrade pip setuptools coverage mock pudb ipython && \
python setup.py develop && \
rm -f .coverage && \
coverage run --source openerp_proxy -m unittest -v openerp_proxy.tests.all && \
Expand Down

0 comments on commit e217baa

Please sign in to comment.