# HG changeset patch # User Filip de Waard # Date 1272586239 -7200 # Node ID 492aa3843651ac2f2af93b1533c30bc956551ace # Parent 8817b3cb2e16e9c5ae5a86734cab64e59442fbd7 added by_slug view diff -r 8817b3cb2e16e9c5ae5a86734cab64e59442fbd7 -r 492aa3843651ac2f2af93b1533c30bc956551ace vix/model/views.py --- a/vix/model/views.py Fri Apr 30 01:08:33 2010 +0200 +++ b/vix/model/views.py Fri Apr 30 02:10:39 2010 +0200 @@ -21,9 +21,9 @@ from couchdb.design import ViewDefinition -by_slug = ViewDefinition('/_design/by_slug', 'by_slug', +by_slug = ViewDefinition('by_slug', 'by_slug', '''function(doc) { if(doc.slug) { - emit(doc.slug, doc) + emit(doc.slug, doc); } }''') diff -r 8817b3cb2e16e9c5ae5a86734cab64e59442fbd7 -r 492aa3843651ac2f2af93b1533c30bc956551ace vix/tests/test_views.py --- a/vix/tests/test_views.py Fri Apr 30 01:08:33 2010 +0200 +++ b/vix/tests/test_views.py Fri Apr 30 02:10:39 2010 +0200 @@ -31,22 +31,31 @@ class TestViews(vix.tests.DatabasePoweredTestCase): - def _test_by_slug(self): + def test_by_slug(self): """Test by_slug CouchDB view.""" views.by_slug.sync(model.db) - #add some test data - for i in range(10): - feed = model.Feed(title=u'Vix Weblog', - subtitle=u'Hic Sunt Dracones', - slug_suggestion=u'blog', - authority=u'vix.io') - feed.store(model.db) + feed = model.Feed(title=u'Vix Weblog', + subtitle=u'Hic Sunt Dracones', + slug_suggestion=u'blog', + authority=u'vix.io') + feed.store(model.db) - blog_result = model.db.view('_design/by_slug') - blog2_result = model.db.view('_design/by_slug', key='blog') + feed = model.Feed(title=u'Vix Photos', + subtitle=u'Hic Sunt Dracones', + slug_suggestion=u'photos', + authority=u'vix.io') + feed.store(model.db) - print repr(blog_result) - print repr(blog2_result) - assert False + all = model.db.view('by_slug/by_slug') + blog = model.db.view('by_slug/by_slug', key='/feeds/blog') + photos = model.db.view('by_slug/by_slug', key='/feeds/photos') + + self.assertEquals(len(all), 2) + self.assertEquals(len(blog), 1) + self.assertEquals(len(photos), 1) + + self.assertEquals(blog.rows[0]['value']['title'], 'Vix Weblog') + self.assertEquals(photos.rows[0]['value']['title'], 'Vix Photos') +