31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import re
 | |
| 
 | |
| from django.test import TestCase
 | |
| from django.core.urlresolvers import reverse
 | |
| from django.core import mail
 | |
| 
 | |
| 
 | |
| class LoginTestCase(TestCase):
 | |
|     def test_login(self):
 | |
|         url = reverse('login_glarus')
 | |
|         res = self.client.post(url, data={'email': 'test@gmail.com', 'password': 'test', 'name': 'test'})
 | |
|         self.assertContains(res, "You\'re successfully registered!", 1, 200)
 | |
|         self.assertEqual(len(mail.outbox), 1)
 | |
| 
 | |
|         validation_url = re.findall(r"http://.*?(/.*)", mail.outbox[0].body)
 | |
|         res1 = self.client.get(validation_url[0] + '/')
 | |
|         self.assertContains(res1, "Email verified!", 1, 200)
 | |
| 
 | |
|         res2 = self.client.post(url, data={'email': 'test@gmail.com', 'password': 'test'})
 | |
|         self.assertEqual(res2.status_code, 302)
 | |
|         redirect_location = res2.get('Location')
 | |
| 
 | |
|         res3 = self.client.get(redirect_location)
 | |
|         self.assertContains(res3, 'Pick coworking date.', 1, 200)
 | |
| 
 | |
|         # check fail login
 | |
| 
 | |
|         res4 = self.client.post(url, data={'email': 'test@gmail.com', 'password': 'falsepassword'})
 | |
|         self.assertContains(res4,'Sorry, that login was invalid.',1,200)
 | |
| 
 | |
| 
 |