def test_start_trial(self): """A user should be able to start a free trial on an eligibile plan""" from pyspreedly.api import Client client_mock = set_client_mock_returns(Client) client_mock.get_info.side_effect = requests.HTTPError self.assertTrue(self.trial_plan.start_trial(self.user)) client_mock.get_info.side_effect = requests.HTTPError self.assertRaises(Plan.NotEligibile,self.paid_plan.start_trial,self.user)
def setUp(self): with patch('pyspreedly.api.Client', new_callable=ClientMock) as client_mock: client_mock = set_client_mock_returns(client_mock) self.spreedly_client = client_mock() self.user = User.objects.create_user(username='******', email='*****@*****.**', password='******') self.trial_plan = Plan.objects.get(id=12345) self.paid_plan = Plan.objects.get(id=67890)
def test_get_return_url(self): from pyspreedly.api import Client client_mock = set_client_mock_returns(Client) url = self.trial_plan.get_return_url(self.user) self.assertEquals(url, 'https://www.testsite.com/return/1/12345/')
def test_trial_eligibility_on_trial(self): from pyspreedly.api import Client client_mock = set_client_mock_returns(Client) self.trial_plan.start_trial(self.user) self.assertFalse(self.trial_plan.trial_eligible(self.user))
def test_trial_eligibility(self): """Plan should have a check for eligibility""" from pyspreedly.api import Client client_mock = set_client_mock_returns(Client) self.assertTrue(self.trial_plan.trial_eligible(self.user)) self.assertFalse(self.paid_plan.trial_eligible(self.user))