442 firstname=u'adrien') |
442 firstname=u'adrien') |
443 |
443 |
444 with self.assertRaises(MultipleResultsError): |
444 with self.assertRaises(MultipleResultsError): |
445 req.execute('Any X WHERE X is CWUser').one() |
445 req.execute('Any X WHERE X is CWUser').one() |
446 |
446 |
|
447 def test_first(self): |
|
448 with self.admin_access.web_request() as req: |
|
449 req.create_entity('CWUser', |
|
450 login=u'cdevienne', |
|
451 upassword=u'cdevienne', |
|
452 surname=u'de Vienne', |
|
453 firstname=u'Christophe') |
|
454 e = req.execute('Any X WHERE X login "cdevienne"').first() |
|
455 self.assertEqual(e.surname, u'de Vienne') |
|
456 |
|
457 e = req.execute( |
|
458 'Any X, N WHERE X login "cdevienne", X surname N').first() |
|
459 self.assertEqual(e.surname, u'de Vienne') |
|
460 |
|
461 e = req.execute( |
|
462 'Any N, X WHERE X login "cdevienne", X surname N').first(col=1) |
|
463 self.assertEqual(e.surname, u'de Vienne') |
|
464 |
|
465 def test_first_no_rows(self): |
|
466 with self.admin_access.web_request() as req: |
|
467 with self.assertRaises(NoResultError): |
|
468 req.execute('Any X WHERE X login "patanok"').first() |
|
469 |
|
470 def test_first_multiple_rows(self): |
|
471 with self.admin_access.web_request() as req: |
|
472 req.create_entity( |
|
473 'CWUser', login=u'user1', upassword=u'cdevienne', |
|
474 surname=u'de Vienne', firstname=u'Christophe') |
|
475 req.create_entity( |
|
476 'CWUser', login=u'user2', upassword='adim', |
|
477 surname=u'di mascio', firstname=u'adrien') |
|
478 |
|
479 e = req.execute('Any X ORDERBY X WHERE X is CWUser, ' |
|
480 'X login LIKE "user%"').first() |
|
481 self.assertEqual(e.login, 'user1') |
|
482 |
|
483 def test_last(self): |
|
484 with self.admin_access.web_request() as req: |
|
485 req.create_entity('CWUser', |
|
486 login=u'cdevienne', |
|
487 upassword=u'cdevienne', |
|
488 surname=u'de Vienne', |
|
489 firstname=u'Christophe') |
|
490 e = req.execute('Any X WHERE X login "cdevienne"').last() |
|
491 self.assertEqual(e.surname, u'de Vienne') |
|
492 |
|
493 e = req.execute( |
|
494 'Any X, N WHERE X login "cdevienne", X surname N').last() |
|
495 self.assertEqual(e.surname, u'de Vienne') |
|
496 |
|
497 e = req.execute( |
|
498 'Any N, X WHERE X login "cdevienne", X surname N').last(col=1) |
|
499 self.assertEqual(e.surname, u'de Vienne') |
|
500 |
|
501 def test_last_no_rows(self): |
|
502 with self.admin_access.web_request() as req: |
|
503 with self.assertRaises(NoResultError): |
|
504 req.execute('Any X WHERE X login "patanok"').last() |
|
505 |
|
506 def test_last_multiple_rows(self): |
|
507 with self.admin_access.web_request() as req: |
|
508 req.create_entity( |
|
509 'CWUser', login=u'user1', upassword=u'cdevienne', |
|
510 surname=u'de Vienne', firstname=u'Christophe') |
|
511 req.create_entity( |
|
512 'CWUser', login=u'user2', upassword='adim', |
|
513 surname=u'di mascio', firstname=u'adrien') |
|
514 |
|
515 e = req.execute('Any X ORDERBY X WHERE X is CWUser, ' |
|
516 'X login LIKE "user%"').last() |
|
517 self.assertEqual(e.login, 'user2') |
|
518 |
447 def test_related_entity_optional(self): |
519 def test_related_entity_optional(self): |
448 with self.admin_access.web_request() as req: |
520 with self.admin_access.web_request() as req: |
449 req.create_entity('Bookmark', title=u'aaaa', path=u'path') |
521 req.create_entity('Bookmark', title=u'aaaa', path=u'path') |
450 rset = req.execute('Any B,U,L WHERE B bookmarked_by U?, U login L') |
522 rset = req.execute('Any B,U,L WHERE B bookmarked_by U?, U login L') |
451 entity, rtype = rset.related_entity(0, 2) |
523 entity, rtype = rset.related_entity(0, 2) |