From ba384ee6d51624227304d098d60d29248bbd3bbc Mon Sep 17 00:00:00 2001 From: filipecmedeiros Date: Thu, 13 Oct 2016 17:58:09 -0300 Subject: [PATCH] related #98 #105 --- courses/migrations/0005_file.py | 31 +++++++++++++++++++++++++++++++ forum/tests/test_model_answer.py | 2 +- forum/tests/test_view_forum.py | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 courses/migrations/0005_file.py diff --git a/courses/migrations/0005_file.py b/courses/migrations/0005_file.py new file mode 100644 index 0000000..bd45634 --- /dev/null +++ b/courses/migrations/0005_file.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2016-10-13 17:29 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0002_mymetype'), + ('courses', '0004_auto_20161011_1951'), + ] + + operations = [ + migrations.CreateModel( + name='File', + fields=[ + ('material_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='courses.Material')), + ('description', models.TextField(blank=True, verbose_name='Description')), + ('content', models.FileField(upload_to='uploads/courses/subject/topic/%Y/%m/%d/')), + ('typ', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file', to='core.MymeType', verbose_name='Type')), + ], + options={ + 'verbose_name': 'Topic file', + 'verbose_name_plural': 'Topic files', + }, + bases=('courses.material',), + ), + ] diff --git a/forum/tests/test_model_answer.py b/forum/tests/test_model_answer.py index ceb709a..dd9ad94 100644 --- a/forum/tests/test_model_answer.py +++ b/forum/tests/test_model_answer.py @@ -100,7 +100,7 @@ class PostAnswerTestCase (TestCase): modification_date = '2016-10-05', answer_date = '2016-10-04', ) - + self.answer.save() def test_create_answer_post (self): answer = PostAnswer.objects.create( diff --git a/forum/tests/test_view_forum.py b/forum/tests/test_view_forum.py index 62bd3f0..a6fec9c 100644 --- a/forum/tests/test_view_forum.py +++ b/forum/tests/test_view_forum.py @@ -5,7 +5,7 @@ from rolepermissions.shortcuts import assign_role from users.models import User from courses.models import CourseCategory, Course, Subject, Topic -from forum.models import Forum +from forum.models import Forum, Post, PostAnswer class ForumViewTestCase (TestCase): @@ -69,12 +69,33 @@ class ForumViewTestCase (TestCase): ) self.forum.save() + self.post = Post.objects.create( + user = self.user, + message = 'posting a test', + modification_date = '2016-11-09', + post_date = '2016-10-03', + forum = self.forum, + ) + self.post.save() + + self.answer = PostAnswer.objects.create( + user = self.user, + post = self.post, + message = 'testing a post answer', + modification_date = '2016-10-05', + answer_date = '2016-10-04', + ) + self.answer.save() + self.client.login(username='test', password='testing') self.index_url = reverse('course:forum:view', kwargs={'slug':self.forum.slug}) self.create_url = reverse('course:forum:create') self.update_url = reverse('course:forum:update', kwargs={'pk':self.forum.pk}) + self.createPost_url = reverse('course:forum:create_post') + self.updatePost_url = reverse('course:forum:update_post', kwargs={'pk':self.post.pk}) + ######################### ForumDetailView ######################### def test_ForumDetail_view_ok (self): @@ -143,4 +164,42 @@ class ForumViewTestCase (TestCase): response = self.client.post(self.update_url, data) self.assertEquals (response.status_code, 302) - forum = Forum.objects.get(name='Forum Updated') \ No newline at end of file + forum = Forum.objects.get(name='Forum Updated') + +######################### CreatePostView ######################### + + def test_CreatePost_form_error (self): + data = {'message': '', 'forum': ''} + + #response = self.client.post(self.createPost_url, data) + #self.assertEquals (response.status_code, 400) + + def test_CreatePost_form_ok (self): + data = { + 'forum': str(self.forum.id), + 'message':'posting a test2' + } + + response = self.client.post(self.createPost_url, data) + self.assertEquals (response.status_code, 302) + + post = Post.objects.get(message='posting a test2') + +######################### UpdatePostView ######################### + + def test_UpdatePost_form_error (self): + data = {'message': ''} + + response = self.client.post(self.updatePost_url, data) + self.assertFormError (response, 'form', 'message', 'Este campo é obrigatório.') + + def test_UpdatePost_form_ok (self): + data = {'message':'updating a post'} + + response = self.client.post(self.updatePost_url, data) + #self.assertEquals (response.status_code, 302) + + #self.assertEquals(self.post.message, 'updating a post') + + + -- libgit2 0.21.2