From af2fac038c6b3dae8a7634ea07db203c8122dea8 Mon Sep 17 00:00:00 2001
From: Sam Splunks <72095718+samsplunks@users.noreply.github.com>
Date: Fri, 6 Dec 2024 09:19:06 +0000
Subject: [PATCH] Update votes with POST method and CSRF token
---
.../templates/helpdesk/kb_category_base.html | 6 ++++--
helpdesk/tests/test_kb.py | 17 +++++++++--------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/helpdesk/templates/helpdesk/kb_category_base.html b/helpdesk/templates/helpdesk/kb_category_base.html
index 4b276f0e..2b679e37 100644
--- a/helpdesk/templates/helpdesk/kb_category_base.html
+++ b/helpdesk/templates/helpdesk/kb_category_base.html
@@ -25,8 +25,10 @@
{% if request.user.pk %}
{% endif %}
{% if staff %}
diff --git a/helpdesk/tests/test_kb.py b/helpdesk/tests/test_kb.py
index ab90ca3b..4430bf17 100644
--- a/helpdesk/tests/test_kb.py
+++ b/helpdesk/tests/test_kb.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from django.test import TestCase
+from django.test import TestCase, Client
from django.urls import reverse
from helpdesk.models import KBCategory, KBItem, Queue, Ticket
from helpdesk.tests.helpers import get_staff_user
@@ -64,19 +64,20 @@ class KBTests(TestCase):
self.assertContains(response, '1 open tickets')
def test_kb_vote(self):
- self.client.login(username=self.user.get_username(),
+ client = Client(enforce_csrf_checks=True)
+ client.login(username=self.user.get_username(),
password='password')
- response = self.client.get(
- reverse('helpdesk:kb_vote', args=(self.kbitem1.pk, "up")))
+ response = client.post(
+ reverse('helpdesk:kb_vote', args=(self.kbitem1.pk, "up")), params={})
cat_url = reverse('helpdesk:kb_category',
args=("test_cat",)) + "?kbitem=1"
self.assertRedirects(response, cat_url)
- response = self.client.get(cat_url)
+ response = client.get(cat_url)
self.assertContains(response, '1 people found this answer useful of 1')
- response = self.client.get(
- reverse('helpdesk:kb_vote', args=(self.kbitem1.pk, "down")))
+ response = client.post(
+ reverse('helpdesk:kb_vote', args=(self.kbitem1.pk, "down")), params={})
self.assertRedirects(response, cat_url)
- response = self.client.get(cat_url)
+ response = client.get(cat_url)
self.assertContains(response, '0 people found this answer useful of 1')
def test_kb_category_iframe(self):