Files
button/ui/tests.py
2020-04-26 20:51:56 -04:00

41 lines
1.6 KiB
Python

from django.contrib.auth.models import AnonymousUser, User
from django.test import RequestFactory, TestCase, Client
from .views import button
class SimpleTest(TestCase):
def setUp(self):
# Every test needs access to the request factory.
self.factory = RequestFactory()
self.user = User.objects.create_user(
username='testuser', email='test@test.test', password='testpass')
def test_button(self):
# Test initial load
c = Client()
response = c.get('/button')
self.assertEqual(response.status_code, 301)
response = c.get('/button/')
self.assertEqual(response.status_code, 200)
self.assertEqual(response.context.get("achievement"), {})
# Test first achievement
response = c.post('/button/', {})
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json().get("pressed"), 1)
self.assertEqual(response.json().get("achievement"), "Clicked!")
self.assertEqual(c.session.get('pressed'), 1)
# Test second achievement
response = c.post('/button/', {})
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json().get("pressed"), 2)
self.assertEqual(response.json().get("achievement"), "Clicked Twice!")
self.assertEqual(c.session.get('pressed'), 2)
# Test no achievement
response = c.post('/button/', {})
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json().get("pressed"), 3)
self.assertEqual(response.json().get("achievement"), None)
self.assertEqual(c.session.get('pressed'), 3)