0001-misc-add-method-to-get-last-update-time-of-a-page-an.patch
combo/data/models.py | ||
---|---|---|
263 | 263 |
def get_redirect_url(self): |
264 | 264 |
return utils.get_templated_url(self.redirect_url) |
265 | 265 | |
266 |
def get_last_update_time(self): |
|
267 |
cells = CellBase.get_cells(page_id=self.id) |
|
268 |
return max([self.last_update_timestamp] + [x.last_update_timestamp for x in cells]) |
|
269 | ||
266 | 270 | |
267 | 271 |
class CellMeta(MediaDefiningClass, ModelBase): |
268 | 272 |
pass |
tests/test_pages.py | ||
---|---|---|
1 | 1 |
from StringIO import StringIO |
2 |
import datetime |
|
2 | 3 |
import os |
3 | 4 |
import pytest |
4 | 5 |
import sys |
5 | 6 | |
6 | 7 |
from django.conf import settings |
7 | 8 |
from django.contrib.auth.models import User, Group |
9 |
from django.utils.timezone import now |
|
8 | 10 |
from combo.data.models import Page, CellBase, TextCell, LinkCell |
9 | 11 |
from combo.data.management.commands.import_site import Command as ImportSiteCommand |
10 | 12 |
from combo.data.management.commands.export_site import Command as ExportSiteCommand |
... | ... | |
245 | 247 |
assert len(CellBase.get_cells(page_id=new_page_1.id)) == 1 |
246 | 248 |
assert isinstance(CellBase.get_cells(page_id=new_page_1.id)[0], TextCell) |
247 | 249 |
assert CellBase.get_cells(page_id=new_page_1.id)[0].text == 'foo' |
250 | ||
251 |
def test_last_update_time(): |
|
252 |
page = Page(title=u'foo', slug='foo', order=0) |
|
253 |
page.save() |
|
254 | ||
255 |
cell = TextCell(page=page, text='foo', order=0) |
|
256 |
cell.save() |
|
257 | ||
258 |
cell = TextCell(page=page, text='bar', order=0) |
|
259 |
cell.save() |
|
260 | ||
261 |
future_time = now() + datetime.timedelta(days=2) |
|
262 |
TextCell.objects.filter(pk=cell.id).update(last_update_timestamp=future_time) |
|
263 | ||
264 |
assert page.get_last_update_time() == future_time |
|
248 |
- |