Order on post_date
This commit is contained in:
parent
cbecd4f9db
commit
38292b563f
7 changed files with 113 additions and 24 deletions
|
|
@ -2,15 +2,18 @@
|
|||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import json
|
||||
from datetime import timedelta
|
||||
from unittest import SkipTest
|
||||
|
||||
from django.utils.timezone import now
|
||||
|
||||
try:
|
||||
from channels import Channel
|
||||
from channels.tests import ChannelTestCase
|
||||
from cms.api import add_plugin
|
||||
|
||||
from djangocms_blog.liveblog.consumers import liveblog_connect, liveblog_disconnect
|
||||
from djangocms_blog.liveblog.models import DATE_FORMAT
|
||||
from djangocms_blog.liveblog.models import DATE_FORMAT, Liveblog
|
||||
from .base import BaseTest
|
||||
|
||||
|
||||
|
|
@ -25,11 +28,12 @@ try:
|
|||
raise SkipTest('channels not installed, skipping tests')
|
||||
|
||||
def test_add_plugin(self):
|
||||
pages = self.get_pages()
|
||||
posts = self.get_posts()
|
||||
self.get_pages()
|
||||
post = posts[0]
|
||||
post.enable_liveblog = True
|
||||
post.save()
|
||||
request = self.get_request(pages[0], user=self.user, lang='en')
|
||||
|
||||
Channel('setup').send({'connect': 1, 'reply_channel': 'reply'})
|
||||
message = self.get_next_message('setup', require=True)
|
||||
|
|
@ -38,6 +42,8 @@ try:
|
|||
plugin = add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='live text', publish=True
|
||||
)
|
||||
__, admin = plugin.get_plugin_instance()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
result = self.get_next_message(message.reply_channel.name, require=True)
|
||||
self.assertTrue(result['text'])
|
||||
|
||||
|
|
@ -50,6 +56,7 @@ try:
|
|||
|
||||
plugin.body = 'modified text'
|
||||
plugin.save()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
|
||||
result = self.get_next_message(message.reply_channel.name, require=True)
|
||||
self.assertTrue(result['text'])
|
||||
|
|
@ -63,11 +70,12 @@ try:
|
|||
self.assertTrue(rendered['content'].find('live text') == -1)
|
||||
|
||||
def test_add_plugin_no_publish(self):
|
||||
pages = self.get_pages()
|
||||
posts = self.get_posts()
|
||||
self.get_pages()
|
||||
post = posts[0]
|
||||
post.enable_liveblog = True
|
||||
post.save()
|
||||
request = self.get_request(pages[0], user=self.user, lang='en')
|
||||
|
||||
Channel('setup').send({'connect': 1, 'reply_channel': 'reply'})
|
||||
message = self.get_next_message('setup', require=True)
|
||||
|
|
@ -76,11 +84,14 @@ try:
|
|||
plugin = add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='live text', publish=False
|
||||
)
|
||||
__, admin = plugin.get_plugin_instance()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
result = self.get_next_message(message.reply_channel.name, require=False)
|
||||
self.assertIsNone(result)
|
||||
|
||||
plugin.publish = True
|
||||
plugin.save()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
|
||||
result = self.get_next_message(message.reply_channel.name, require=True)
|
||||
self.assertTrue(result['text'])
|
||||
|
|
@ -93,11 +104,12 @@ try:
|
|||
self.assertTrue(rendered['content'].find('live text') > -1)
|
||||
|
||||
def test_disconnect(self):
|
||||
pages = self.get_pages()
|
||||
posts = self.get_posts()
|
||||
self.get_pages()
|
||||
post = posts[0]
|
||||
post.enable_liveblog = True
|
||||
post.save()
|
||||
request = self.get_request(pages[0], user=self.user, lang='en')
|
||||
|
||||
Channel('setup').send({'connect': 1, 'reply_channel': 'reply'})
|
||||
message = self.get_next_message('setup', require=True)
|
||||
|
|
@ -106,6 +118,8 @@ try:
|
|||
plugin = add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='live text', publish=True
|
||||
)
|
||||
__, admin = plugin.get_plugin_instance()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
result = self.get_next_message(message.reply_channel.name, require=True)
|
||||
self.assertTrue(result['text'])
|
||||
|
||||
|
|
@ -113,6 +127,7 @@ try:
|
|||
|
||||
plugin.body = 'modified text'
|
||||
plugin.save()
|
||||
admin.save_model(request, plugin, None, None)
|
||||
|
||||
result = self.get_next_message(message.reply_channel.name, require=False)
|
||||
self.assertIsNone(result)
|
||||
|
|
@ -174,5 +189,32 @@ try:
|
|||
self.assertTrue(rendered.find('data-post-id="{}"'.format(plugin.pk)) > -1)
|
||||
self.assertTrue(rendered.find('live text') > -1)
|
||||
|
||||
def test_plugins_order(self):
|
||||
posts = self.get_posts()
|
||||
self.get_pages()
|
||||
post = posts[0]
|
||||
post.enable_liveblog = True
|
||||
post.save()
|
||||
|
||||
current_date = now()
|
||||
|
||||
plugin = add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='plugin 1', publish=True,
|
||||
post_date=current_date - timedelta(seconds=1)
|
||||
)
|
||||
add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='plugin 2', publish=True,
|
||||
post_date=current_date - timedelta(seconds=5)
|
||||
)
|
||||
add_plugin(
|
||||
post.liveblog, 'LiveblogPlugin', language='en', body='plugin 3', publish=True,
|
||||
post_date=current_date - timedelta(seconds=10)
|
||||
)
|
||||
self.assertTrue(Liveblog.objects.all().order_by('position').values_list('pk', flat=True), [3, 2, 1])
|
||||
|
||||
plugin.post_date = current_date - timedelta(seconds=20)
|
||||
plugin.save()
|
||||
self.assertTrue(Liveblog.objects.all().order_by('position').values_list('pk', flat=True), [1, 3, 2])
|
||||
|
||||
except ImportError: # pragma: no cover
|
||||
pass
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue