favorites: tests: minor improvements

This commit is contained in:
Helmut Merz 2023-12-18 20:02:07 +01:00
parent 2c22df9c1d
commit a65c138949
2 changed files with 15 additions and 11 deletions

View file

@ -9,6 +9,7 @@ import unittest
from zope import component, interface from zope import component, interface
from zope.app.testing.setup import placefulSetUp, placefulTearDown from zope.app.testing.setup import placefulSetUp, placefulTearDown
from cco.storage.common import Storage, getEngine
from loops.expert.testsetup import TestSite from loops.expert.testsetup import TestSite
from loops.organize.personal.setup import SetupManager from loops.organize.personal.setup import SetupManager
from loops.organize.tests import setupObjectsForTesting from loops.organize.tests import setupObjectsForTesting
@ -35,6 +36,8 @@ class TestCase(unittest.TestCase):
loopsId = util.getUidForObject(loopsRoot) loopsId = util.getUidForObject(loopsRoot)
setupData = setupObjectsForTesting(site, g.concepts) setupData = setupObjectsForTesting(site, g.concepts)
g.johnC = setupData.johnC g.johnC = setupData.johnC
g.storage = Storage(getEngine('postgresql', 'ccotest', 'ccotest', 'cco'),
schema='testing')
@classmethod @classmethod
def cleanup(cls): def cleanup(cls):

View file

@ -7,9 +7,10 @@ import transaction
from zope import component from zope import component
from zope.traversing.api import getName from zope.traversing.api import getName
import config
from loops.concept import Concept from loops.concept import Concept
from loops.config.base import LoopsOptions from loops.config.base import LoopsOptions
from loops.organize.personal.favorite import Favorites as FavoritesFolder from loops.organize.personal.favorite import Favorites as FavoritesAdapter
from loops.organize.personal.interfaces import IFavorites from loops.organize.personal.interfaces import IFavorites
from loops.organize.personal.storage.favorite import Favorites from loops.organize.personal.storage.favorite import Favorites
from loops.organize.tracking.storage.migration import migrate from loops.organize.tracking.storage.migration import migrate
@ -21,32 +22,32 @@ class TestStorage(common.TestCase):
def test_000_setUp(self): def test_000_setUp(self):
self.prepare() self.prepare()
component.provideAdapter(FavoritesAdapter)
self.assertEqual(getName(self.loopsRoot), 'loops') self.assertEqual(getName(self.loopsRoot), 'loops')
person = self.loopsRoot['concepts']['person']
component.provideAdapter(FavoritesFolder)
def test_fav_001_setUp(self):
self.assertEqual(getName(self.g.concepts), 'concepts') self.assertEqual(getName(self.g.concepts), 'concepts')
self.assertEqual(self.g.johnC.title, u'john') self.assertEqual(self.g.johnC.title, u'john')
def test_fav_001_setUp(self):
self.g.records = records = self.loopsRoot.getRecordManager() self.g.records = records = self.loopsRoot.getRecordManager()
self.g.favorites = records['favorites'] favs = IFavorites(records['favorites'])
self.g.fav = IFavorites(self.g.favorites) favs.add(self.g.resources['d001.txt'], self.g.johnC)
self.g.fav.add(self.g.resources['d001.txt'], self.g.johnC) self.assertEqual(len(records['favorites']), 1)
self.assertEqual(len(self.g.favorites), 1)
def test_fav_002_migration(self): def test_fav_002_migration(self):
import config
self.assertEqual(config.dbname, 'ccotest') self.assertEqual(config.dbname, 'ccotest')
self.assertEqual(config.dbuser, 'ccotest') self.assertEqual(config.dbuser, 'ccotest')
LoopsOptions(self.loopsRoot).set('cco.storage.schema', ['testing']) LoopsOptions(self.loopsRoot).set('cco.storage.schema', ['testing'])
self.assertEqual(LoopsOptions(self.loopsRoot)('cco.storage.schema'), ['testing']) self.assertEqual(LoopsOptions(self.loopsRoot)('cco.storage.schema'), ['testing'])
migrate(self.loopsRoot, 'favorites', factory=Favorites) migrate(self.loopsRoot, 'favorites', factory=Favorites)
transaction.commit() self.g.favorites = favorites = self.g.storage.create(Favorites)
fav = favorites.get(1)
self.assertEqual(fav.head['userName'], '102')
def test_query(self): def test_query(self):
self.assertEqual('a'.upper(), 'A') self.assertEqual('a'.upper(), 'A')
def test_zzz_tearDown(self): def test_zzz_tearDown(self):
transaction.commit()
self.cleanup() self.cleanup()