Private
Public Access
1
0
This commit is contained in:
Sander Roosendaal
2022-02-16 20:37:11 +01:00
parent 984198e63c
commit 4a077c801e
2 changed files with 96 additions and 151 deletions

View File

@@ -164,15 +164,15 @@ description: ""
url = reverse('braintree_webhook_view')
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
form_data = {
'bt_signature':'aap',
'bt_payload':'noot,'
'bt_signature': 'aap',
'bt_payload': 'noot,'
}
response = self.c.post(url,form_data)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
@patch('rowers.views.braintreestuff.create_customer',side_effect=mock_create_customer)
@patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway)
@@ -200,7 +200,7 @@ description: ""
url = '/rowers/billing/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
plans = PaidPlan.objects.filter(price__gt=0).order_by('price')
plan = plans[0]
@@ -225,14 +225,14 @@ description: ""
form = PlanSelectForm(form_data,paymentprocessor='braintree')
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url,form_data, follow=True)
self.assertEqual(response.status_code, 200)
expected_url = '/rowers/checkout/'+str(plan.id)+'/'
self.assertRedirects(response,
expected_url = expected_url,
status_code=302,target_status_code=200)
expected_url=expected_url,
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway)
@patch('rowers.braintreestuff.myqueue')
@@ -264,7 +264,7 @@ description: ""
url = '/rowers/upgrade/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
plans = PaidPlan.objects.filter(price__gt=0).order_by('price')
plan = plans[0]
@@ -289,14 +289,14 @@ description: ""
form = PlanSelectForm(form_data,paymentprocessor='braintree')
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url,form_data, follow=True)
self.assertEqual(response.status_code, 200)
expected_url = '/rowers/upgradecheckout/'+str(plan.id)+'/'
self.assertRedirects(response,
expected_url = expected_url,
status_code=302,target_status_code=200)
expected_url=expected_url,
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway)
@patch('rowers.braintreestuff.myqueue')
@@ -334,7 +334,7 @@ description: ""
url = '/rowers/downgrade/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
country = faker.country()
countrycode = 'NL'
@@ -356,14 +356,14 @@ description: ""
form = PlanSelectForm(form_data,paymentprocessor='braintree')
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url,form_data, follow=True)
self.assertEqual(response.status_code, 200)
expected_url = '/rowers/downgradecheckout/'+str(plans[0].id)+'/'
self.assertRedirects(response,
expected_url = expected_url,
status_code=302,target_status_code=200)
expected_url=expected_url,
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway)
@patch('rowers.braintreestuff.myqueue')
@@ -401,7 +401,7 @@ description: ""
url = '/rowers/me/cancelsubscriptions/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
@patch('rowers.views.braintreestuff.gateway', side_effect=MockBraintreeGateway)
@@ -435,7 +435,7 @@ description: ""
url = reverse('buy_trainingplan_view',kwargs={'id':self.instantplan.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
enddate = datetime.datetime.now()+datetime.timedelta(days=30)
startdate = datetime.datetime.now()
@@ -443,42 +443,42 @@ description: ""
form_data = {
'enddate':enddate.strftime('%Y-%m-%d'),
'startdate':startdate.strftime('%Y-%m-%d'),
'notes':'no notes',
'datechoice':'enddate',
'name':'no name',
'notes': 'no notes',
'datechoice': 'enddate',
'name': 'no name',
}
response = self.c.post(url,form_data)
pars = {
'name':'no name',
'name': 'no name',
'enddate':enddate.strftime('%Y-%m-%d'),
'notes':'no notes',
'status':True,
'notes': 'no notes',
'status': True,
'rower':r.id,
}
params = urllib.parse.urlencode(pars)
expected_url = reverse('confirm_trainingplan_purchase_view',kwargs={'id':self.instantplan.id})
expected_url = expected_url + "?%s" % params
self.assertRedirects(response,expected_url=expected_url,status_code=302,target_status_code=200)
self.assertRedirects(response,expected_url=expected_url,status_code=302, target_status_code=200)
url = expected_url
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
url = reverse('purchase_checkouts_view')
form_data = {
'amount':'25.00',
'amount': '25.00',
'plan': self.instantplan.id,
'payment_method_nonce': 'aap',
'tac':'tac',
'tac': 'tac',
'paymenttype': 'CreditCard',
'notes':'no notes',
'notes': 'no notes',
'enddate':enddate.strftime('%Y-%m-%d'),
'status':True,
'status': True,
}
form = TrainingPlanBillingForm(form_data)
@@ -486,9 +486,9 @@ description: ""
print(form.errors)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
response = self.c.post(url,form_data, follow=True)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
expected_url = reverse('plannedsessions_view')
startdate = enddate-datetime.timedelta(days=self.instantplan.duration)
@@ -496,8 +496,8 @@ description: ""
expected_url = expected_url+'?when='+timeperiod
self.assertRedirects(response,
expected_url = expected_url,
status_code=302,target_status_code=200)
expected_url=expected_url,
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway)
@patch('rowers.braintreestuff.myqueue')
@@ -534,11 +534,11 @@ description: ""
url = '/rowers/me/cancelsubscription/34/'
response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.get(url, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url = '/rowers/me/cancelsubscriptions/',
status_code=302,target_status_code=200)
expected_url='/rowers/me/cancelsubscriptions/',
status_code=302, target_status_code=200)
@patch('rowers.tests.test_payments.mocktest', side_effect=mock_mocktest)
@patch('rowers.braintreestuff.myqueue')
@@ -586,10 +586,10 @@ description: ""
plan = plans[1]
form_data = {
'amount':'15.00',
'amount': '15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'tac':'tac',
'tac': 'tac',
'paymenttype': 'CreditCard'
}
@@ -601,12 +601,12 @@ description: ""
url = '/rowers/checkouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url = '/rowers/paymentcompleted/?amount=20.00',
status_code=302,target_status_code=200)
expected_url='/rowers/paymentcompleted/?amount=20.00',
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
@@ -633,11 +633,11 @@ description: ""
plan = plans[1]
form_data = {
'amount':'15.00',
'amount': '15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'paymenttype': 'CreditCard',
'tac':'tac',
'tac': 'tac',
}
form = BillingForm(form_data)
@@ -648,12 +648,12 @@ description: ""
url = '/rowers/upgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url = '/rowers/paymentcompleted/?amount=20.00',
status_code=302,target_status_code=200)
expected_url='/rowers/paymentcompleted/?amount=20.00',
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
@patch('rowers.braintreestuff.myqueue')
@@ -676,14 +676,13 @@ description: ""
u.save()
plans = PaidPlan.objects.all().order_by('price')
plan = plans[1]
form_data = {
'amount':'15.00',
'amount': '15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'paymenttype': 'CreditCard',
'tac':'tac',
'tac': 'tac',
}
form = BillingForm(form_data)
@@ -694,12 +693,12 @@ description: ""
url = '/rowers/downgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url = '/rowers/downgradecompleted/',
status_code=302,target_status_code=200)
expected_url='/rowers/downgradecompleted/',
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.create_subscription', side_effect=mock_create_subscription)
@patch('rowers.braintreestuff.myqueue')
@@ -725,11 +724,11 @@ description: ""
plan = plans[1]
form_data = {
'amount':'15.00',
'amount': '15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'paymenttype': 'CreditCard',
'tac':True,
'tac': True,
}
form = BillingForm(form_data)
@@ -742,14 +741,14 @@ description: ""
url = '/rowers/checkouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
expected_url = '/rowers/paymentcompleted/?amount=20.00'
self.assertRedirects(response,
expected_url = expected_url,
status_code=302,target_status_code=200)
expected_url=expected_url,
status_code=302, target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
@@ -776,12 +775,11 @@ description: ""
plan = plans[1]
form_data = {
'amount':'15.00',
'amount': '15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'paymenttype': 'CreditCard',
'tac':True,
}
'tac': True, }
form = BillingForm(form_data)
self.assertTrue(form.is_valid())
@@ -791,55 +789,9 @@ description: ""
url = '/rowers/upgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url = '/rowers/paymentcompleted/?amount=20.00',
status_code=302,target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
@patch('rowers.braintreestuff.myqueue')
def test_downgrade_checkouts_view(self,mock_subscription,mocked_myqueue):
u = UserFactory()
r = Rower.objects.create(user=u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,surveydone=True,
gdproptindate=timezone.now(),
rowerplan='coach',
paymentprocessor='braintree',
street_address = faker.street_address(),
city = faker.city(),
postal_code = faker.postalcode(),
country = faker.country(),
)
r.save()
u.set_password(self.password)
u.save()
plans = PaidPlan.objects.all().order_by('price')
plan = plans[1]
form_data = {
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'paymenttype': 'CreditCard',
'tac':True,
}
form = BillingForm(form_data)
self.assertTrue(form.is_valid())
login = self.c.login(username=u.username, password=self.password)
self.assertTrue(login)
url = '/rowers/downgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
self.assertRedirects(response,
expected_url = '/rowers/downgradecompleted/',
status_code=302,target_status_code=200)
expected_url='/rowers/paymentcompleted/?amount=20.00',
status_code=302, target_status_code=200)

View File

@@ -5,12 +5,13 @@ from __future__ import unicode_literals
from .statements import *
nu = datetime.datetime.now()
from django.http import Http404
from rowers.views import get_workout
nu = datetime.datetime.now()
class TestDateTime(TestCase):
def setUp(self):
self.factory = RequestFactory()
@@ -20,15 +21,15 @@ class TestDateTime(TestCase):
def test_get_dates(self):
request = self.factory.get('/rowers/sessions/create/user/230/?startdate=13.01.2020&enddate=19.01.2020')
startdate,enddate = get_dates_timeperiod(request)
startdate, enddate = get_dates_timeperiod(request)
startdate = startdate.date()
enddate = enddate.date()
teststart = datetime.date(2020,1,1)
self.assertTrue(teststart<startdate)
teststart = datetime.date(2020, 1, 1)
self.assertTrue(teststart < startdate)
testend = datetime.date(2020,12,12)
self.assertTrue(testend>enddate)
testend = datetime.date(2020, 12, 12)
self.assertTrue(testend > enddate)
# tests simple functions from views.py
@@ -38,7 +39,7 @@ class SimpleViewTest(TestCase):
self.r = Rower.objects.create(user=self.u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,surveydone=True,
gdproptin=True, surveydone=True,
gdproptindate=timezone.now(),
rowerplan='coach')
@@ -53,22 +54,20 @@ class SimpleViewTest(TestCase):
for workout in self.user_workouts:
try:
os.remove(workout.csvfilename)
except (IOError, FileNotFoundError,OSError):
except (IOError, FileNotFoundError, OSError):
pass
def test_getrequestrower(self):
user_no_rower = UserFactory(username='norower')
user_no_rower.set_password(faker.word())
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = '/rowers/list-workouts/user/{id}/'.format(id=user_no_rower.id)
response = self.c.get(url)
self.assertIn(response.status_code,[403,404])
self.assertIn(response.status_code, [403, 404])
def test_sendmail(self):
login = self.c.login(username=self.u.username, password=self.password)
@@ -78,28 +77,26 @@ class SimpleViewTest(TestCase):
form_data = {
'firstname': 'John',
'lastname':'Doe',
'email':'roosendaalsander@gmail.com',
'subject':'testing',
'lastname': 'Doe',
'email': 'roosendaalsander@gmail.com',
'subject': 'testing',
'botcheck': True,
'message': faker.text()
}
'message': faker.text()}
form = EmailForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url='/rowers/email/',
status_code=302,target_status_code=200)
status_code=302, target_status_code=200)
def test_getworkout(self):
with assert_raises(Http404):
w = get_workout(encoder.encode_hex(123))
_ = get_workout(encoder.encode_hex(123))
def test_deactivate(self):
login = self.c.login(username=self.u.username, password=self.password)
@@ -107,24 +104,20 @@ class SimpleViewTest(TestCase):
url = '/rowers/me/deactivate/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
self.assertEqual(response.status_code, 200)
form_data = {
'is_active': True
}
form_data = {'is_active': True}
response = self.c.post(url, form_data)
self.assertEqual(response.status_code, 200)
form_data = {
'is_active': False
}
form_data = {'is_active': False}
response = self.c.post(url, form_data, follow=True)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response,
expected_url='/login/',
status_code=302,target_status_code=200)
expected_url='/login/',
status_code=302, target_status_code=200)
login = self.c.login(username=self.u.username, password=self.password)
self.assertEqual(login,False)
self.assertEqual(login, False)