Projet

Général

Profil

0001-misc-add-method-to-get-last-update-time-of-a-page-an.patch

Frédéric Péters, 14 février 2017 21:25

Télécharger (2,21 ko)

Voir les différences:

Subject: [PATCH] misc: add method to get last update time of a page and its
 cells (#15001)

 combo/data/models.py |  4 ++++
 tests/test_pages.py  | 17 +++++++++++++++++
 2 files changed, 21 insertions(+)
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
-