going through importviews ... coverage
This commit is contained in:
@@ -14,6 +14,9 @@ import rowers
|
||||
from rowers import dataprep
|
||||
from rowers import tasks
|
||||
from rowers import c2stuff
|
||||
from rowers import stravastuff
|
||||
import urllib
|
||||
import json
|
||||
|
||||
@pytest.mark.django_db
|
||||
@override_settings(TESTING=True)
|
||||
@@ -461,6 +464,11 @@ class NKObjects(DjangoTestCase):
|
||||
)
|
||||
self.assertTrue(res>0)
|
||||
|
||||
@patch('rowers.nkstuff.requests.post', side_effect=mocked_requests)
|
||||
def notest_nk_callback(self, mock_post):
|
||||
response = self.c.get('/nk_callback?code=absdef23&scope=read',follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
|
||||
@patch('rowers.nkstuff.requests.get', side_effect=mocked_requests)
|
||||
@patch('rowers.nkstuff.requests.post', side_effect=mocked_requests)
|
||||
@@ -609,6 +617,10 @@ class RP3Objects(DjangoTestCase):
|
||||
res = tasks.handle_rp3_async_workout(userid,rp3token,rp3id,startdatetime,max_attempts)
|
||||
self.assertEqual(res,1)
|
||||
|
||||
@patch('rowers.rp3stuff.requests.post', side_effect=mocked_requests)
|
||||
def notest_rp3_callback(self, mock_post):
|
||||
response = self.c.get('/rp3_callback?code=absdef23&scope=read',follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
|
||||
#@pytest.mark.django_db
|
||||
@@ -630,6 +642,7 @@ class StravaObjects(DjangoTestCase):
|
||||
self.r.stravatoken = '12'
|
||||
self.r.stravarefreshtoken = '123'
|
||||
self.r.stravatokenexpirydate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
|
||||
self.r.strava_owner_id = 4
|
||||
|
||||
self.r.save()
|
||||
self.c.login(username='john',password='koeinsloot')
|
||||
@@ -666,6 +679,79 @@ class StravaObjects(DjangoTestCase):
|
||||
csvfilename=filename
|
||||
)
|
||||
|
||||
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||
@patch('rowers.stravastuff.requests.get', side_effect=mocked_requests)
|
||||
def test_strava_webhook(self, mock_get, mock_post):
|
||||
url = reverse('strava_webhook_view')
|
||||
|
||||
params = {
|
||||
'hub.challenge':'aap',
|
||||
'hub.verify_token':stravastuff.webhookverification,
|
||||
}
|
||||
|
||||
url2 = url+'?'+urllib.parse.urlencode(params)
|
||||
|
||||
response = self.c.get(url2)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
data = {
|
||||
'aspect_type':'create',
|
||||
'object_id': 123,
|
||||
'object_type':'activity',
|
||||
'strava_owner': self.r.strava_owner_id,
|
||||
'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(),
|
||||
}
|
||||
|
||||
raw_data = json.dumps(data)
|
||||
|
||||
response = self.c.generic('POST', url, raw_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
data = {
|
||||
'aspect_type':'update',
|
||||
'updates':{
|
||||
'title':faker.word(),
|
||||
'type': 'Ride',
|
||||
},
|
||||
'object_id': 123,
|
||||
'object_type':'activity',
|
||||
'strava_owner': self.r.strava_owner_id,
|
||||
'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(),
|
||||
}
|
||||
|
||||
raw_data = json.dumps(data)
|
||||
|
||||
response = self.c.generic('POST', url, raw_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
data = {
|
||||
'aspect_type':'delete',
|
||||
'object_id': 123,
|
||||
'object_type':'activity',
|
||||
'strava_owner': self.r.strava_owner_id,
|
||||
'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(),
|
||||
}
|
||||
|
||||
raw_data = json.dumps(data)
|
||||
|
||||
response = self.c.generic('POST', url, raw_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
|
||||
|
||||
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||
@patch('rowers.stravastuff.requests.get', side_effect=mocked_requests)
|
||||
@patch('rowers.stravastuff.stravalib.Client',side_effect=MockStravalibClient)
|
||||
def test_strava_upload(self, mock_get, mock_post,MockStravalibClient):
|
||||
response = self.c.get('/rowers/workout/'+encoded1+'/stravauploadw/')
|
||||
|
||||
self.assertRedirects(response,
|
||||
expected_url = '/rowers/workout/'+encoded1+'/edit/',
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
|
||||
@patch('rowers.stravastuff.requests.get', side_effect=mocked_requests)
|
||||
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||
|
||||
@@ -9,6 +9,14 @@ from .statements import *
|
||||
nu = datetime.datetime.now()
|
||||
|
||||
from rowers.rower_rules import is_workout_user
|
||||
from rowers.models import update_records
|
||||
|
||||
class MiscTests(TestCase):
|
||||
def setUp(self):
|
||||
pass
|
||||
|
||||
def test_c2records(self):
|
||||
update_records(verbose=False)
|
||||
|
||||
#@pytest.mark.django_db
|
||||
class WorkoutTests(TestCase):
|
||||
|
||||
@@ -1442,6 +1442,104 @@ class PlannedSessionsView(TestCase):
|
||||
added = plannedsessions.add_team_session(self.team,self.ps_trimp)
|
||||
self.ps_trimp.save()
|
||||
|
||||
s = b"""filename: britishrowing.json
|
||||
name: British Rowing Training Plan Beginner Week 1
|
||||
trainingDays:
|
||||
- order: 1
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 1
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Intervals
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
- order: 4
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 2
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Interval
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 180000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
duration: 7
|
||||
description: ""
|
||||
"""
|
||||
|
||||
self.file_data = {'yaml': SimpleUploadedFile('britishrowing.yml', s)}
|
||||
|
||||
with open('media/temp.yml','wb') as f:
|
||||
f.write(s)
|
||||
|
||||
self.instantplan = InstantPlan(
|
||||
uuid = "79b0dacf-9b49-4f33-9acf-e2e6734e22dc",
|
||||
url = "https://thepeteplan.wordpress.com/beginner-training/",
|
||||
name = faker.word(),
|
||||
goal = faker.word(),
|
||||
duration = 42,
|
||||
description = faker.word(),
|
||||
target = faker.word(),
|
||||
hoursperweek = 3,
|
||||
sessionsperweek = 3,
|
||||
price = 0,
|
||||
yaml = 'temp.yml',
|
||||
)
|
||||
|
||||
self.instantplan.save()
|
||||
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
@@ -1555,6 +1653,29 @@ class PlannedSessionsView(TestCase):
|
||||
response = self.c.post(url,formdata,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
def test_deletetarget_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = reverse('rower_delete_trainingtarget',kwargs={'id':self.target.id})
|
||||
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,302)
|
||||
|
||||
def test_deletetrainingplan_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = reverse('trainingplan_delete_view',kwargs={'pk':self.plan.id})
|
||||
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
form = {}
|
||||
response = self.c.post(url,form)
|
||||
self.assertEqual(response.status_code,302)
|
||||
|
||||
|
||||
|
||||
def test_multicreate_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
@@ -1637,6 +1758,10 @@ class PlannedSessionsView(TestCase):
|
||||
response = self.c.post(url,form_data,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
url = reverse('remove_groupsession_view',kwargs={'id':self.ps_trimp.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,302)
|
||||
|
||||
|
||||
def test_teamedit_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
@@ -1908,86 +2033,29 @@ class PlannedSessionsView(TestCase):
|
||||
#'yaml': {'yaml': SimpleUploadedFile('britishrowing.yml', f.read())}
|
||||
}
|
||||
|
||||
s = b"""filename: britishrowing.json
|
||||
name: British Rowing Training Plan Beginner Week 1
|
||||
trainingDays:
|
||||
- order: 1
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 1
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Intervals
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
- order: 4
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 2
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Interval
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 180000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
duration: 7
|
||||
description: ""
|
||||
"""
|
||||
|
||||
file_data = {'yaml': SimpleUploadedFile('britishrowing.yml', s)}
|
||||
|
||||
form = InstantPlanForm(form_data,file_data)
|
||||
form = InstantPlanForm(form_data,self.file_data)
|
||||
if not form.is_valid():
|
||||
print(form.errors)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
# look at a instant plan
|
||||
url = reverse('rower_view_instantplan',kwargs={'id':self.instantplan.uuid})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
form_data = {
|
||||
'name':faker.word(),
|
||||
'target': '',
|
||||
'startdate':datetime.datetime.now().strftime('%Y-%m-%d'),
|
||||
'enddate':(datetime.datetime.now()+datetime.timedelta(days=self.instantplan.duration)).strftime('%Y-%m-%d'),
|
||||
'notes': faker.word(),
|
||||
'datechoice':'startdate',
|
||||
}
|
||||
|
||||
form = InstantPlanSelectForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data,follow=True)
|
||||
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
75
rowers/tests/testdata/temp.yml
vendored
Normal file
75
rowers/tests/testdata/temp.yml
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
filename: britishrowing.json
|
||||
name: British Rowing Training Plan Beginner Week 1
|
||||
trainingDays:
|
||||
- order: 1
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 1
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Intervals
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 60000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
- order: 4
|
||||
workouts:
|
||||
- workoutName: Week 1 Session 2
|
||||
steps:
|
||||
- stepId: 0
|
||||
wkt_step_name: Warmup
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Warmup
|
||||
description: ""
|
||||
- stepId: 1
|
||||
wkt_step_name: Interval
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Active
|
||||
description: ""
|
||||
- stepId: 2
|
||||
wkt_step_name: Interval Rest
|
||||
durationType: Time
|
||||
durationValue: 180000
|
||||
intensity: Rest
|
||||
description: ""
|
||||
- stepId: 3
|
||||
wkt_step_name: Rep
|
||||
durationType: RepeatUntilStepsCmplt
|
||||
durationValue: 1
|
||||
targetValue: 5
|
||||
- stepId: 4
|
||||
wkt_step_name: Cooldown
|
||||
durationType: Time
|
||||
durationValue: 300000
|
||||
intensity: Cooldown
|
||||
description: ""
|
||||
sport: ""
|
||||
description: ""
|
||||
duration: 7
|
||||
description: ""
|
||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
Reference in New Issue
Block a user