# HG changeset patch # User Filip de Waard # Date 1293851594 -3600 # Node ID bb68eaba4d3d67cd13e4a8c7269665ffb4ab5a29 # Parent 7e02ddd177d699e3015ee0f4fc84386227122780 improved entry/feed create tests diff -r 7e02ddd177d699e3015ee0f4fc84386227122780 -r bb68eaba4d3d67cd13e4a8c7269665ffb4ab5a29 vix/model/__init__.py --- a/vix/model/__init__.py Sat Jan 01 03:24:48 2011 +0100 +++ b/vix/model/__init__.py Sat Jan 01 04:13:14 2011 +0100 @@ -337,6 +337,7 @@ """ type = mapping.TextField(default=u'entry') + slug = mapping.TextField() feeds = mapping.ListField(mapping.TextField()) title = mapping.TextField() subtitle = mapping.TextField() @@ -404,7 +405,7 @@ authority_name=authority, date=self.published, specific=self.slug)) - + self.store(db) def store(self, db, silent=False, _original=True): diff -r 7e02ddd177d699e3015ee0f4fc84386227122780 -r bb68eaba4d3d67cd13e4a8c7269665ffb4ab5a29 vix/tests/functional/test_entries.py --- a/vix/tests/functional/test_entries.py Sat Jan 01 03:24:48 2011 +0100 +++ b/vix/tests/functional/test_entries.py Sat Jan 01 04:13:14 2011 +0100 @@ -166,8 +166,6 @@ headers=headers, status=201) - response_json = json.loads(response.body) - #test the values as they are returned by the controller #(i.e. the JSON for the object as stored in CouchDB) self.assertTrue(_couchdb_rev_re.match(response.json['_rev'])) @@ -177,6 +175,7 @@ self.assertEquals(response.json['subtitle'], u'This is my first post!') self.assertEquals(response.json['summary'], u'In this first post I explain what this site is about') + self.assertEquals(response.json['draft'], False) self.assertEquals(response.json['rights'], u'All rights reserved.') self.assertEquals(response.json['content'], {'type': 'text/plain', 'content': 'Hello, my dear reader...'}) @@ -190,14 +189,15 @@ #as this is rather unlikely and there is a simple recourse (i.e. #repeating the tests) this approach will do just fine. datetime_substr = datetime_to_rfc3339(datetime.utcnow()).rsplit(':')[0] - date_str = datetime_substr.split('T')[0] + date_str_dash = datetime_substr.split('T')[0] + date_str = date_str_dash.replace('-', '/') assert datetime_substr in response.json['published'] assert datetime_substr in response.json['updated'] + self.assertEquals(response.json['slug'], '/%s/first' % (date_str)) self.assertEquals(response.json['_id'], - u'tag:vix.io,%s:/%s/first' % ( - date_str, date_str.replace('-', '/'))) + u'tag:vix.io,%s:/%s/first' % (date_str_dash, date_str)) #try sending a request with invalid JSON input response = self.app.post(url('create_entry'), @@ -216,4 +216,14 @@ self.assertEquals(response.json['_id'], u'tag:vix.io,%s:/%s/welcome-to-my-weblog' % ( - date_str, date_str.replace('-', '/'))) + date_str_dash, date_str)) + + #test draft value + new_entry['draft'] = True + response = self.app.post(url('create_entry'), + content_type='application/json', + params=json.dumps(new_entry), + headers=headers, + status=201) + + self.assertEquals(response.json['draft'], True) diff -r 7e02ddd177d699e3015ee0f4fc84386227122780 -r bb68eaba4d3d67cd13e4a8c7269665ffb4ab5a29 vix/tests/functional/test_feeds.py --- a/vix/tests/functional/test_feeds.py Sat Jan 01 03:24:48 2011 +0100 +++ b/vix/tests/functional/test_feeds.py Sat Jan 01 04:13:14 2011 +0100 @@ -98,8 +98,6 @@ headers=headers, status=201) - response_json = json.loads(response.body) - #test the values as they are returned by the controller #(i.e. the JSON for the object as stored in CouchDB) self.assertTrue(_couchdb_rev_re.match(response.json['_rev']))