116 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			116 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | from django.test import TestCase | ||
|  | 
 | ||
|  | from unittest import mock | ||
|  | from model_mommy import mommy | ||
|  | 
 | ||
|  | from .forms import HostingOrderAdminForm, HostingUserLoginForm, HostingUserSignupForm | ||
|  | from .models import VirtualMachinePlan | ||
|  | 
 | ||
|  | 
 | ||
|  | class HostingUserLoginFormTest(TestCase): | ||
|  | 
 | ||
|  |     def setUp(self): | ||
|  |         password = 'user_password' | ||
|  |         self.user = mommy.make('CustomUser') | ||
|  | 
 | ||
|  |         self.user.set_password(password) | ||
|  |         self.user.save() | ||
|  |         self.completed_data = { | ||
|  |             'email': self.user.email, | ||
|  |             'password': password | ||
|  |         } | ||
|  | 
 | ||
|  |         self.incorrect_data = { | ||
|  |             'email': 'test', | ||
|  |         } | ||
|  | 
 | ||
|  |     def test_valid_form(self): | ||
|  |         form = HostingUserLoginForm(data=self.completed_data) | ||
|  |         self.assertTrue(form.is_valid()) | ||
|  | 
 | ||
|  |     def test_invalid_form(self): | ||
|  |         form = HostingUserLoginForm(data=self.incorrect_data) | ||
|  |         self.assertFalse(form.is_valid()) | ||
|  | 
 | ||
|  | 
 | ||
|  | class HostingUserSignupFormTest(TestCase): | ||
|  | 
 | ||
|  |     def setUp(self): | ||
|  | 
 | ||
|  |         self.completed_data = { | ||
|  |             'name': 'test name', | ||
|  |             'email': 'test@ungleich.com', | ||
|  |             'password': 'test_password', | ||
|  |             'confirm_password': 'test_password' | ||
|  |         } | ||
|  | 
 | ||
|  |         self.incorrect_data = { | ||
|  |             'email': 'test', | ||
|  |         } | ||
|  | 
 | ||
|  |     def test_valid_form(self): | ||
|  |         form = HostingUserSignupForm(data=self.completed_data) | ||
|  |         self.assertTrue(form.is_valid()) | ||
|  | 
 | ||
|  |     def test_invalid_form(self): | ||
|  |         form = HostingUserSignupForm(data=self.incorrect_data) | ||
|  |         self.assertFalse(form.is_valid()) | ||
|  | 
 | ||
|  | 
 | ||
|  | class HostingOrderAdminFormTest(TestCase): | ||
|  | 
 | ||
|  |     def setUp(self): | ||
|  | 
 | ||
|  |         self.customer = mommy.make('StripeCustomer') | ||
|  |         self.vm_plan = mommy.make('VirtualMachinePlan') | ||
|  |         self.vm_canceled_plan = mommy.make('VirtualMachinePlan', | ||
|  |                                            status=VirtualMachinePlan.CANCELED_STATUS) | ||
|  | 
 | ||
|  |         self.mocked_charge = { | ||
|  |             'amount': 5100, | ||
|  |             'amount_refunded': 0, | ||
|  |             'balance_transaction': 'txn_18U99zGjsLAXdRPzUJKkBx3Q', | ||
|  |             'captured': True, | ||
|  |             'created': 1467785123, | ||
|  |             'currency': 'chf', | ||
|  |             'customer': 'cus_8V61MvJvMd0PhM', | ||
|  |             'status': 'succeeded' | ||
|  |         } | ||
|  | 
 | ||
|  |         self.completed_data = { | ||
|  |             'customer': self.customer.id, | ||
|  |             'vm_plan': self.vm_plan.id, | ||
|  |         } | ||
|  | 
 | ||
|  |         self.incompleted_data = { | ||
|  |             'vm_plan': self.vm_plan.id, | ||
|  |             'customer': None | ||
|  |         } | ||
|  | 
 | ||
|  |     @mock.patch('utils.stripe_utils.StripeUtils.make_charge') | ||
|  |     def test_valid_form(self, stripe_mocked_call): | ||
|  |         stripe_mocked_call.return_value = { | ||
|  |             'paid': True, | ||
|  |             'response_object': self.mocked_charge, | ||
|  |             'error': None | ||
|  |         } | ||
|  |         form = HostingOrderAdminForm(data=self.completed_data) | ||
|  |         self.assertTrue(form.is_valid()) | ||
|  | 
 | ||
|  |     @mock.patch('utils.stripe_utils.StripeUtils.make_charge') | ||
|  |     def test_invalid_form_canceled_vm(self, stripe_mocked_call): | ||
|  | 
 | ||
|  |         self.completed_data.update({ | ||
|  |             'vm_plan': self.vm_canceled_plan.id | ||
|  |         }) | ||
|  |         stripe_mocked_call.return_value = { | ||
|  |             'paid': True, | ||
|  |             'response_object': self.mocked_charge, | ||
|  |             'error': None | ||
|  |         } | ||
|  |         form = HostingOrderAdminForm(data=self.completed_data) | ||
|  |         self.assertFalse(form.is_valid()) | ||
|  | 
 | ||
|  |     def test_invalid_form(self): | ||
|  |         form = HostingOrderAdminForm(data=self.incompleted_data) | ||
|  |         self.assertFalse(form.is_valid()) |