| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  | import re | 
					
						
							| 
									
										
										
										
											2016-03-03 22:55:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  | from django.test import TestCase | 
					
						
							|  |  |  | from django.core.urlresolvers import reverse | 
					
						
							|  |  |  | from django.core import mail | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class LoginTestCase(TestCase): | 
					
						
							| 
									
										
										
										
											2016-03-16 00:26:49 +01:00
										 |  |  |     def test_login(self): | 
					
						
							| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  |         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') | 
					
						
							| 
									
										
										
										
											2016-03-16 00:26:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  |         res3 = self.client.get(redirect_location) | 
					
						
							|  |  |  |         self.assertContains(res3, 'Pick coworking date.', 1, 200) | 
					
						
							| 
									
										
										
										
											2016-03-16 00:26:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  |         # check fail login | 
					
						
							| 
									
										
										
										
											2016-03-16 00:26:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-02 02:00:38 +02:00
										 |  |  |         res4 = self.client.post(url, data={'email': 'test@gmail.com', 'password': 'falsepassword'}) | 
					
						
							| 
									
										
										
										
											2017-06-29 17:34:40 +03:00
										 |  |  |         self.assertContains(res4, 'Sorry, that login was invalid.', 1, 200) |