1
Fork 0
e11sync/app/signup/tests.py

27 lines
980 B
Python

from django.test import TestCase, Client
from django.urls import reverse
from .models import Signup
class SignupViewTest(TestCase):
def setUp(self):
self.client = Client()
def test_index(self):
resp = self.client.get(reverse("index"))
self.assertEqual(resp.status_code, 200)
self.assertContains(resp, "Hosted Syncthing")
def test_ok_signup(self):
resp = self.client.post(reverse("index"), {"email": "foo@example.com"},
follow=True,
HTTP_USER_AGENT="foo-agent",
REMOTE_ADDR="127.0.0.2")
self.assertEqual(resp.redirect_chain, [('/?success=subscribed', 302)])
self.assertContains(resp, "You are now subscribed!")
obj = Signup.objects.get()
self.assertEqual(obj.email, "foo@example.com")
self.assertEqual(obj.anonymized_ip, "127.0.0.0")
self.assertEqual(obj.user_agent, "foo-agent")