def test_like(self): posts = Post.select().where('content').like("test%").all() self.assertEqual([p.id for p in Post.select().all()], [i.id for i in posts]) posts = Post.select().where('id').like("1").all() self.assertEqual([Post.get(id=1).id], [p.id for p in posts]) posts = Post.select().where('content').like('%est%').all() self.assertEqual([p.id for p in Post.select().all()], [i.id for i in posts])
def test_update(self): p1 = Post.update(id=5).set(title="new title 5").commit() self.assertEqual(p1.rowcount, 1) p2 = Post.get(id=5) self.assertEqual(p2.title, 'new title 5') p3 = Post.update(id=-1).set(title="unexisted id").commit() self.assertEqual(p3.rowcount, 0)
def test_m2m_add(self): p = Post.get(id=1) t1 = Tag.get(id=1) t2 = Tag.get(id=2) p.tags.add(t1) p.tags.add(t2) self.assertEqual([p.id for p in p.tags.all()], [t1.id, t2.id]) self.assertEqual([p.id for p in t1.posts.all()], [p.id]) self.assertEqual([p.id for p in t2.posts.all()], [p.id])
def test_m2m_remove(self): p = Post.get(id=5) self.assertEqual(p.tags.all(), []) t = Tag.get(id=5) p.tags.add(t) self.assertEqual([t.id for t in p.tags.all()], [t.id]) self.assertEqual([p.id for p in t.posts.all()], [p.id]) p.tags.remove(t) self.assertEqual(p.tags.all(), []) self.assertEqual(t.posts.all(), [])
def test_get(self): p1 = Post.get(id=1) self.assertEqual(p1.title, 'test title 1') self.assertEqual(p1.content, 'test content 1') self.assertEqual(p1.id, 1)
def test_m2m_count(self): p = Post.get(id=3) self.assertEqual(p.tags.count(), 0) p.tags.add(Tag.get(id=3)) p.tags.add(Tag.get(id=4)) self.assertEqual(p.tags.count(), 2)