342 # no entity |
342 # no entity |
343 rset = None |
343 rset = None |
344 req = self.request() |
344 req = self.request() |
345 self.assertIsInstance(self.vreg['views'].select('index', req, rset=rset), |
345 self.assertIsInstance(self.vreg['views'].select('index', req, rset=rset), |
346 startup.IndexView) |
346 startup.IndexView) |
347 self.failUnlessRaises(NoSelectableObject, |
347 self.assertTrueRaises(NoSelectableObject, |
348 self.vreg['views'].select, 'primary', req, rset=rset) |
348 self.vreg['views'].select, 'primary', req, rset=rset) |
349 self.failUnlessRaises(NoSelectableObject, |
349 self.assertTrueRaises(NoSelectableObject, |
350 self.vreg['views'].select, 'table', req, rset=rset) |
350 self.vreg['views'].select, 'table', req, rset=rset) |
351 |
351 |
352 # no entity |
352 # no entity |
353 req = self.request() |
353 req = self.request() |
354 rset = req.execute('Any X WHERE X eid 999999') |
354 rset = req.execute('Any X WHERE X eid 999999') |
355 self.failUnlessRaises(NoSelectableObject, |
355 self.assertTrueRaises(NoSelectableObject, |
356 self.vreg['views'].select, 'index', req, rset=rset) |
356 self.vreg['views'].select, 'index', req, rset=rset) |
357 self.failUnlessRaises(NoSelectableObject, |
357 self.assertTrueRaises(NoSelectableObject, |
358 self.vreg['views'].select, 'creation', req, rset=rset) |
358 self.vreg['views'].select, 'creation', req, rset=rset) |
359 self.failUnlessRaises(NoSelectableObject, |
359 self.assertTrueRaises(NoSelectableObject, |
360 self.vreg['views'].select, 'primary', req, rset=rset) |
360 self.vreg['views'].select, 'primary', req, rset=rset) |
361 self.failUnlessRaises(NoSelectableObject, |
361 self.assertTrueRaises(NoSelectableObject, |
362 self.vreg['views'].select, 'table', req, rset=rset) |
362 self.vreg['views'].select, 'table', req, rset=rset) |
363 # one entity |
363 # one entity |
364 req = self.request() |
364 req = self.request() |
365 rset = req.execute('CWGroup X WHERE X name "managers"') |
365 rset = req.execute('CWGroup X WHERE X name "managers"') |
366 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
366 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
369 baseviews.ListView) |
369 baseviews.ListView) |
370 self.assertIsInstance(self.vreg['views'].select('edition', req, rset=rset), |
370 self.assertIsInstance(self.vreg['views'].select('edition', req, rset=rset), |
371 editforms.EditionFormView) |
371 editforms.EditionFormView) |
372 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
372 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
373 tableview.TableView) |
373 tableview.TableView) |
374 self.failUnlessRaises(NoSelectableObject, |
374 self.assertTrueRaises(NoSelectableObject, |
375 self.vreg['views'].select, 'creation', req, rset=rset) |
375 self.vreg['views'].select, 'creation', req, rset=rset) |
376 self.failUnlessRaises(NoSelectableObject, |
376 self.assertTrueRaises(NoSelectableObject, |
377 self.vreg['views'].select, 'index', req, rset=rset) |
377 self.vreg['views'].select, 'index', req, rset=rset) |
378 # list of entities of the same type |
378 # list of entities of the same type |
379 req = self.request() |
379 req = self.request() |
380 rset = req.execute('CWGroup X') |
380 rset = req.execute('CWGroup X') |
381 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
381 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
382 primary.PrimaryView) |
382 primary.PrimaryView) |
383 self.assertIsInstance(self.vreg['views'].select('list', req, rset=rset), |
383 self.assertIsInstance(self.vreg['views'].select('list', req, rset=rset), |
384 baseviews.ListView) |
384 baseviews.ListView) |
385 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
385 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
386 tableview.TableView) |
386 tableview.TableView) |
387 self.failUnlessRaises(NoSelectableObject, |
387 self.assertTrueRaises(NoSelectableObject, |
388 self.vreg['views'].select, 'creation', req, rset=rset) |
388 self.vreg['views'].select, 'creation', req, rset=rset) |
389 # list of entities of different types |
389 # list of entities of different types |
390 req = self.request() |
390 req = self.request() |
391 rset = req.execute('Any X') |
391 rset = req.execute('Any X') |
392 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
392 self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset), |
393 primary.PrimaryView) |
393 primary.PrimaryView) |
394 self.assertIsInstance(self.vreg['views'].select('list', req, rset=rset), |
394 self.assertIsInstance(self.vreg['views'].select('list', req, rset=rset), |
395 baseviews.ListView) |
395 baseviews.ListView) |
396 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
396 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
397 tableview.TableView) |
397 tableview.TableView) |
398 self.failUnlessRaises(NoSelectableObject, |
398 self.assertTrueRaises(NoSelectableObject, |
399 self.vreg['views'].select, 'creation', req, rset=rset) |
399 self.vreg['views'].select, 'creation', req, rset=rset) |
400 self.failUnlessRaises(NoSelectableObject, |
400 self.assertTrueRaises(NoSelectableObject, |
401 self.vreg['views'].select, 'index', req, rset=rset) |
401 self.vreg['views'].select, 'index', req, rset=rset) |
402 # whatever |
402 # whatever |
403 req = self.request() |
403 req = self.request() |
404 rset = req.execute('Any N, X WHERE X in_group Y, Y name N') |
404 rset = req.execute('Any N, X WHERE X in_group Y, Y name N') |
405 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
405 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
406 tableview.TableView) |
406 tableview.TableView) |
407 self.failUnlessRaises(NoSelectableObject, |
407 self.assertTrueRaises(NoSelectableObject, |
408 self.vreg['views'].select, 'index', req, rset=rset) |
408 self.vreg['views'].select, 'index', req, rset=rset) |
409 self.failUnlessRaises(NoSelectableObject, |
409 self.assertTrueRaises(NoSelectableObject, |
410 self.vreg['views'].select, 'creation', req, rset=rset) |
410 self.vreg['views'].select, 'creation', req, rset=rset) |
411 self.failUnlessRaises(NoSelectableObject, |
411 self.assertTrueRaises(NoSelectableObject, |
412 self.vreg['views'].select, 'primary', req, rset=rset) |
412 self.vreg['views'].select, 'primary', req, rset=rset) |
413 self.failUnlessRaises(NoSelectableObject, |
413 self.assertTrueRaises(NoSelectableObject, |
414 self.vreg['views'].select, 'list', req, rset=rset) |
414 self.vreg['views'].select, 'list', req, rset=rset) |
415 self.failUnlessRaises(NoSelectableObject, |
415 self.assertTrueRaises(NoSelectableObject, |
416 self.vreg['views'].select, 'edition', req, rset=rset) |
416 self.vreg['views'].select, 'edition', req, rset=rset) |
417 # mixed query |
417 # mixed query |
418 req = self.request() |
418 req = self.request() |
419 rset = req.execute('Any U,G WHERE U is CWUser, G is CWGroup') |
419 rset = req.execute('Any U,G WHERE U is CWUser, G is CWGroup') |
420 self.failUnlessRaises(NoSelectableObject, |
420 self.assertTrueRaises(NoSelectableObject, |
421 self.vreg['views'].select, 'edition', req, rset=rset) |
421 self.vreg['views'].select, 'edition', req, rset=rset) |
422 self.failUnlessRaises(NoSelectableObject, |
422 self.assertTrueRaises(NoSelectableObject, |
423 self.vreg['views'].select, 'creation', req, rset=rset) |
423 self.vreg['views'].select, 'creation', req, rset=rset) |
424 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
424 self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset), |
425 tableview.TableView) |
425 tableview.TableView) |
426 |
426 |
427 def test_interface_selector(self): |
427 def test_interface_selector(self): |