LIL-71 Use logout

remotes/origin/hasaccess
Sergey G 8 years ago
parent 513166847c
commit b8478ea2c8
  1. 20
      apps/auth/tests/test_logout.py
  2. 3
      apps/auth/urls.py
  3. 12
      apps/auth/views.py

@ -0,0 +1,20 @@
from django.test import TestCase, Client
from django.contrib.auth import get_user_model
from django.urls import reverse
User = get_user_model()
class LogoutTest(TestCase):
def setUp(self):
self.url = reverse("lilcity:logout")
self.user = User.objects.create(username='Alice', password='1234')
self.client = Client()
def test_logout(self):
self.client.login(username=self.user.username, password='1234')
response = self.client.post(self.url)
self.assertTrue(response.json()['success'])

@ -3,5 +3,6 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path('registration/learner/', views.LearnerRegistrationView.as_view(), name="registration-learner") path('registration/learner/', views.LearnerRegistrationView.as_view(), name="registration-learner"),
path('logout/', views.LogoutView.as_view(), name="logout"),
] ]

@ -1,6 +1,6 @@
from django.views.generic import FormView from django.views.generic import FormView, View
from django.http import JsonResponse from django.http import JsonResponse
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model, logout
from .forms import LearnerRegistrationForm from .forms import LearnerRegistrationForm
@ -18,9 +18,15 @@ class LearnerRegistrationView(FormView):
email = form.cleaned_data['email'] email = form.cleaned_data['email']
password = form.cleaned_data['password'] password = form.cleaned_data['password']
User.objects.create(username=email, email=email, first_name=first_name, last_name=last_name, password=password) User.objects.create_user(username=email, email=email, first_name=first_name, last_name=last_name, password=password)
return JsonResponse({"success": True}, status=201) return JsonResponse({"success": True}, status=201)
def form_invalid(self, form): def form_invalid(self, form):
return JsonResponse(form.errors.get_json_data(escape_html=True), status=400) return JsonResponse(form.errors.get_json_data(escape_html=True), status=400)
class LogoutView(View):
def post(self, request, *args, **kwargs):
logout(request)
return JsonResponse({"success": True})

Loading…
Cancel
Save