conversations quick tests
This commit is contained in:
parent
8bcb679e23
commit
e4f413adcc
|
@ -1,6 +1,6 @@
|
|||
from django.contrib import messages
|
||||
from django.contrib.auth.signals import user_logged_in, user_logged_out
|
||||
from django.dispatch import receiver
|
||||
from django.contrib import messages
|
||||
|
||||
|
||||
@receiver(user_logged_in)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from django.conf import settings
|
||||
from django.conf.urls import include, url
|
||||
from django.contrib.auth import views as auth_views
|
||||
|
||||
from .views import profile
|
||||
from django.conf import settings
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^profile$', profile, name='profile'),
|
||||
|
|
|
@ -2,6 +2,5 @@ from django.contrib import admin
|
|||
|
||||
from .models import Conversation, Message
|
||||
|
||||
|
||||
admin.site.register(Conversation)
|
||||
admin.site.register(Message)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
|
||||
from accounts.models import Speaker
|
||||
|
||||
|
@ -12,6 +13,9 @@ class Conversation(models.Model):
|
|||
def __str__(self):
|
||||
return "Conversation with %s" % self.speaker
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('show-conversation', kwargs={'conversation': self.pk})
|
||||
|
||||
|
||||
class Message(models.Model):
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.template.loader import render_to_string
|
||||
from django.core import mail
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
from django.template.loader import render_to_string
|
||||
|
||||
from .models import Message
|
||||
from .utils import get_reply_addr
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="h1">{{ conversation }}</div>
|
||||
|
||||
{# for message in conversation.messages %}
|
||||
<p>{{ message }}</p>
|
||||
{% endfor #}
|
||||
|
||||
<!-- TODO -->
|
||||
|
||||
{% endblock %}
|
|
@ -1,5 +1,27 @@
|
|||
from django.contrib.auth.models import User
|
||||
from django.contrib.sites.models import Site
|
||||
from django.test import TestCase
|
||||
|
||||
from accounts.models import Speaker
|
||||
|
||||
from .models import Conversation, Message
|
||||
from .utils import get_reply_addr
|
||||
|
||||
|
||||
class ConversationTests(TestCase):
|
||||
pass
|
||||
def setUp(self):
|
||||
a, b = (User.objects.create_user(guy, email='%s@example.org' % guy, password=guy) for guy in 'ab')
|
||||
speaker = Speaker.objects.create(user=a, site=Site.objects.first())
|
||||
conversation = Conversation.objects.create(speaker=speaker)
|
||||
Message.objects.create(token='pipo', conversation=conversation, author=a, content='allo')
|
||||
|
||||
def test_models(self):
|
||||
self.assertEqual(str(Conversation.objects.first()), 'Conversation with a')
|
||||
self.assertEqual(str(Message.objects.first()), 'Message from a')
|
||||
|
||||
def test_views(self):
|
||||
self.assertEqual(self.client.get(Conversation.objects.first().get_absolute_url()).status_code, 200)
|
||||
|
||||
def test_utils(self):
|
||||
ret = ['pipo+ 11183704aabfddb3d694ff4f24c0daadfa2d8d2193336e345f92a6fd3ffb6a19e7@example.org']
|
||||
self.assertEqual(get_reply_addr(1, User.objects.first()), ret)
|
||||
|
|
|
@ -2,7 +2,6 @@ from django.conf.urls import url
|
|||
|
||||
from conversations import views
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^(?P<conversation>[0-9]+)$', views.conversation_details, name='show-conversation'),
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from django.conf import settings
|
||||
|
||||
import hashlib
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
def hexdigest_sha256(*args):
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from django.shortcuts import get_object_or_404, render
|
||||
from django.contrib.sites.shortcuts import get_current_site
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
|
||||
from .models import Conversation
|
||||
|
||||
|
@ -7,5 +7,5 @@ from .models import Conversation
|
|||
def conversation_details(request, conversation):
|
||||
conversation = get_object_or_404(Conversation, id=conversation, speaker__site=get_current_site(request))
|
||||
return render(request, 'conversations/message.html', {
|
||||
'messages': conversation.messages,
|
||||
'conversation': conversation,
|
||||
})
|
||||
|
|
|
@ -178,3 +178,4 @@ BOOTSTRAP3 = {
|
|||
|
||||
AUTHENTICATION_BACKENDS = ['yeouia.backends.YummyEmailOrUsernameInsensitiveAuth']
|
||||
LOGOUT_REDIRECT_URL = 'home'
|
||||
REPLY_EMAIL = 'pipo@example.org'
|
||||
|
|
|
@ -2,7 +2,7 @@ from django.contrib.auth.models import User
|
|||
from django.core.urlresolvers import reverse
|
||||
from django.test import TestCase
|
||||
|
||||
from .models import Talk, Topic, Speech
|
||||
from .models import Speech, Talk, Topic
|
||||
|
||||
|
||||
class ProposalsTests(TestCase):
|
||||
|
@ -40,3 +40,4 @@ class ProposalsTests(TestCase):
|
|||
item = model.objects.first()
|
||||
self.assertEqual(self.client.get(item.get_absolute_url()).status_code, 200)
|
||||
self.assertTrue(str(item))
|
||||
self.assertEqual(Speech.objects.first().username(), 'a')
|
||||
|
|
Loading…
Reference in New Issue