conversations quick tests

This commit is contained in:
Guilhem Saurel 2016-06-13 02:00:30 +02:00
parent 8bcb679e23
commit e4f413adcc
13 changed files with 55 additions and 17 deletions

View File

@ -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)

View File

@ -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'),

View File

@ -2,6 +2,5 @@ from django.contrib import admin
from .models import Conversation, Message
admin.site.register(Conversation)
admin.site.register(Message)

View File

@ -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):

View File

@ -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

View File

@ -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 %}

View File

@ -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)

View File

@ -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'),
]

View File

@ -1,7 +1,7 @@
from django.conf import settings
import hashlib
from django.conf import settings
def hexdigest_sha256(*args):

View File

@ -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,
})

View File

@ -178,3 +178,4 @@ BOOTSTRAP3 = {
AUTHENTICATION_BACKENDS = ['yeouia.backends.YummyEmailOrUsernameInsensitiveAuth']
LOGOUT_REDIRECT_URL = 'home'
REPLY_EMAIL = 'pipo@example.org'

View File

@ -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')

View File

@ -1,5 +1,5 @@
[coverage:run]
source = accounts, ponyconf, proposals
source = accounts, ponyconf, proposals, conversations
omit = */migrations/*, */apps.py, ponyconf/wsgi.py
[flake8]