From 41e2997a81ecd88d206f88a870fd609c66c9fb0d Mon Sep 17 00:00:00 2001
From: Haakon Gunleiksrud <haakongunleiksrud@gmail.com>
Date: Sat, 17 Apr 2021 22:47:56 +0200
Subject: [PATCH] Add test for remember_me functionality

---
 backend/secfit/workouts/tests.py | 33 +++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/backend/secfit/workouts/tests.py b/backend/secfit/workouts/tests.py
index f376332..1dc15bb 100644
--- a/backend/secfit/workouts/tests.py
+++ b/backend/secfit/workouts/tests.py
@@ -2,7 +2,7 @@
 Tests for the workouts application.
 """
 from django.test import TestCase
-from rest_framework.test import APIRequestFactory, APIClient
+from rest_framework.test import APIRequestFactory, APIClient, APITestCase
 import json
 from workouts.models import Workout
 from users.models import User
@@ -225,6 +225,37 @@ class WorkoutsExerciseBoundaryTestCase(TestCase):
         request = self.client.post('http://testserver/api/workouts/', json.dumps(self.request), content_type='application/json')
         self.assertEquals(request.status_code,400)
 
+# -------------------------------------------------------------------------------------------------
+# Tests for remember_me functionality 
+# -------------------------------------------------------------------------------------------------
+
+class RememberMeTestCase(APITestCase):
+    def setUp(self):
+        self.client_1 = APIClient()
+        self.test_user_data = {
+            "username": "Bill",
+            "email": "",
+            "password": "123",
+            "password1": "123",
+            "phone_number": "",
+            "country": "",
+            "city": "",
+            "street_address": ""
+        }
+        response = self.client_1.post(path="http://testserver/api/users/", data=self.test_user_data)
+        self.test_user_data = response.data
+
+    def test_can_get_remember_me_token(self):
+        response = self.client_1.post(path="http://testserver/api/token/", data={"username":"Bill","password":"123"}, format="json")
+        self.access_token = response.data["access"]
+        self.client_1.credentials(HTTP_AUTHORIZATION=f"Bearer {self.access_token}")
+        response = self.client_1.get(path="http://testserver/api/remember_me/")
+        
+        self.assertTrue(len(response.data["remember_me"]) > 0)
+
+    def tearDown(self):
+        return super().tearDown()
+
 
 
 # -------------------------------------------------------------------------------------------------
-- 
GitLab