diff --git a/core/tests.py b/core/tests.py
index de8bdc0..4993a78 100644
--- a/core/tests.py
+++ b/core/tests.py
@@ -1,3 +1,32 @@
-from django.test import TestCase
+from django.test import TestCase, Client
+from django.core.urlresolvers import reverse
+from rolepermissions.shortcuts import assign_role
+from users.models import User
+# from django.core import mail
-# Create your tests here.
+class LoginTestCase(TestCase):
+
+ def setUp(self):
+ self.client = Client()
+
+ self.user = User.objects.create_user(username = 'test', email = 'testing@amadeus.com', is_staff = True, is_active = True, password = 'testing')
+ assign_role(self.user, 'system_admin')
+
+ self.url = reverse('core:home')
+
+ def test_ok(self):
+ response = self.client.get(self.url)
+ self.assertEquals(response.status_code, 200)
+ self.assertTemplateUsed(response, 'index.html')
+ data = {'username': 'test', 'password': 'testing'}
+ response = self.client.post(self.url, data)
+ self.assertRedirects(response, reverse("app:index"))
+
+ def test_not_ok(self):
+ response = self.client.get(self.url)
+ self.assertEquals(response.status_code, 200)
+ self.assertTemplateUsed(response, 'index.html')
+ data = {'username': 'test', 'password': 'senhaerrada'}
+ response = self.client.post(self.url, data)
+ self.assertTrue('message' in response.context)
+ self.assertEquals(response.context['message'], "Email ou senha incorretos!")
diff --git a/core/views.py b/core/views.py
index 97a518b..6492ca4 100644
--- a/core/views.py
+++ b/core/views.py
@@ -22,15 +22,17 @@ from django.shortcuts import redirect
from django.urls import reverse
def login(request):
+ context = {}
if request.POST:
username = request.POST['username']
password = request.POST['password']
usuario = authenticate(username=username, password=password)
- print (dir(usuario))
if usuario is not None:
login_user(request, usuario)
return redirect(reverse("app:index"))
- return render(request,"index.html")
+ else:
+ context["message"] = "Email ou senha incorretos!"
+ return render(request,"index.html",context)
# class LoginClass(LoginView):
diff --git a/courses/tests/test_views.py b/courses/tests/test_views.py
index eb4bf7b..dc77c94 100644
--- a/courses/tests/test_views.py
+++ b/courses/tests/test_views.py
@@ -12,7 +12,7 @@ class CourseViewTestCase(TestCase):
def setUp(self):
self.client = Client()
-
+
self.user = User.objects.create_user(username = 'test', email = 'testing@amadeus.com', is_staff = True, is_active = True, password = 'testing')
assign_role(self.user, 'system_admin')
@@ -27,25 +27,25 @@ class CourseViewTestCase(TestCase):
def test_index(self):
self.client.login(username='test', password='testing')
-
- url = reverse('app:course:manage')
-
+
+ url = reverse('course:manage')
+
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'course/index.html')
def test_index_not_logged(self):
- url = reverse('app:course:manage')
-
+ url = reverse('course:manage')
+
response = self.client.get(url, follow = True)
- self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
+ self.assertRedirects(response, '%s?next=%s' % (reverse('core:home'), url), 302, 200)
def test_create(self):
self.client.login(username='test', password='testing')
- url = reverse('app:course:create')
+ url = reverse('course:create')
response = self.client.get(url)
@@ -53,11 +53,11 @@ class CourseViewTestCase(TestCase):
self.assertTemplateUsed(response, 'course/create.html')
def test_create_not_logged(self):
- url = reverse('app:course:create')
-
+ url = reverse('course:create')
+
response = self.client.get(url, follow = True)
- self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
+ self.assertRedirects(response, '%s?next=%s' % (reverse('core:home'), url), 302, 200)
def test_create_no_permission(self):
self.user = User.objects.create_user(username = 'student', email = 'student@amadeus.com', type_profile = 2, is_staff = False, is_active = True, password = 'testing')
@@ -66,8 +66,8 @@ class CourseViewTestCase(TestCase):
self.client.login(username='student', password='testing')
- url = reverse('app:course:create')
-
+ url = reverse('course:create')
+
response = self.client.get(url)
self.assertEquals(response.status_code, 403)
@@ -76,7 +76,7 @@ class CourseViewTestCase(TestCase):
def test_update(self):
self.client.login(username = 'test', password = 'testing')
- url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
+ url = reverse('course:update', kwargs = {'slug': self.course.slug})
response = self.client.get(url)
@@ -84,11 +84,11 @@ class CourseViewTestCase(TestCase):
self.assertTemplateUsed(response, 'course/update.html')
def test_update_not_logged(self):
- url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
-
+ url = reverse('course:update', kwargs = {'slug': self.course.slug})
+
response = self.client.get(url, follow = True)
- self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
+ self.assertRedirects(response, '%s?next=%s' % (reverse('core:home'), url), 302, 200)
def test_update_no_permission(self):
self.user = User.objects.create_user(username = 'student', email = 'student@amadeus.com', type_profile = 2, is_staff = False, is_active = True, password = 'testing')
@@ -97,8 +97,8 @@ class CourseViewTestCase(TestCase):
self.client.login(username='student', password='testing')
- url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
-
+ url = reverse('course:update', kwargs = {'slug': self.course.slug})
+
response = self.client.get(url)
self.assertEquals(response.status_code, 403)
@@ -106,7 +106,7 @@ class CourseViewTestCase(TestCase):
def test_view(self):
self.client.login(username = 'test', password = 'testing')
- url = reverse('app:course:view', kwargs = {'slug': self.course.slug})
+ url = reverse('course:view', kwargs = {'slug': self.course.slug})
response = self.client.get(url)
@@ -114,8 +114,8 @@ class CourseViewTestCase(TestCase):
self.assertTemplateUsed(response, 'course/view.html')
def test_update_not_logged(self):
- url = reverse('app:course:view', kwargs = {'slug': self.course.slug})
-
+ url = reverse('course:view', kwargs = {'slug': self.course.slug})
+
response = self.client.get(url, follow = True)
- self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
\ No newline at end of file
+ self.assertRedirects(response, '%s?next=%s' % (reverse('core:home'), url), 302, 200)
diff --git a/courses/views.py b/courses/views.py
index d52063a..85b4e7d 100644
--- a/courses/views.py
+++ b/courses/views.py
@@ -15,7 +15,7 @@ from .models import Course, Module, Category
class IndexView(LoginRequiredMixin, generic.ListView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
queryset = Course.objects.all()
template_name = 'course/index.html'
@@ -31,7 +31,7 @@ class IndexView(LoginRequiredMixin, generic.ListView):
class CreateView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'course/create.html'
form_class = CourseForm
@@ -52,7 +52,7 @@ class CreateView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
class UpdateView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'course/update.html'
model = Course
@@ -73,7 +73,7 @@ class UpdateView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
class View(LoginRequiredMixin, generic.DetailView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
model = Course
context_object_name = 'course'
@@ -82,7 +82,7 @@ class View(LoginRequiredMixin, generic.DetailView):
class DeleteView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
model = Course
template_name = 'course/delete.html'
@@ -95,7 +95,7 @@ class DeleteView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
class FilteredView(LoginRequiredMixin, generic.ListView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'course/filtered.html'
context_object_name = 'courses'
@@ -115,7 +115,7 @@ class FilteredView(LoginRequiredMixin, generic.ListView):
class IndexCatView(LoginRequiredMixin, generic.ListView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
queryset = Category.objects.all()
template_name = 'category/index.html'
@@ -125,7 +125,7 @@ class IndexCatView(LoginRequiredMixin, generic.ListView):
class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'category/create.html'
form_class = CategoryForm
@@ -146,7 +146,7 @@ class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
class UpdateCatView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'category/update.html'
model = Category
@@ -166,7 +166,7 @@ class UpdateCatView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine)
class ViewCat(LoginRequiredMixin, generic.DetailView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
model = Category
template_name = 'category/view.html'
@@ -175,7 +175,7 @@ class ViewCat(LoginRequiredMixin, generic.DetailView):
class DeleteCatView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
model = Category
template_name = 'category/delete.html'
@@ -188,7 +188,7 @@ class DeleteCatView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
class ModulesView(LoginRequiredMixin, generic.ListView):
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'module/index.html'
context_object_name = 'modules'
@@ -208,7 +208,7 @@ class ModulesView(LoginRequiredMixin, generic.ListView):
class CreateModView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'module/create.html'
form_class = ModuleForm
@@ -241,7 +241,7 @@ class CreateModView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = 'module/update.html'
model = Module
@@ -272,7 +272,7 @@ class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
class DeleteModView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
allowed_roles = ['professor', 'system_admin']
- login_url = '/'
+ login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
model = Module
template_name = 'module/delete.html'
--
libgit2 0.21.2