89 lines
2.6 KiB
Python
89 lines
2.6 KiB
Python
#from __future__ import print_function
|
|
import pytest
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
from bs4 import BeautifulSoup
|
|
import re
|
|
from nose_parameterized import parameterized
|
|
from django.test import TestCase, Client,override_settings
|
|
from django.core.management import call_command
|
|
from django.utils.six import StringIO
|
|
from django.test.client import RequestFactory
|
|
import datetime
|
|
from django.utils import timezone
|
|
|
|
import json
|
|
import numpy as np
|
|
import rowers.dataprep as dataprep
|
|
|
|
from redis import StrictRedis
|
|
redis_connection = StrictRedis()
|
|
from rowingdata import rowingdata as rdata
|
|
from rowingdata import rower as rrower
|
|
|
|
from rowers.models import User,Rower, Workout
|
|
|
|
class UserMiddleWareTest(TestCase):
|
|
def setUp(self):
|
|
u = User.objects.create_user('john',
|
|
'sander@ds.ds',
|
|
'koeinsloot')
|
|
self.r = Rower.objects.create(user=u)
|
|
|
|
self.c = Client()
|
|
self.c.login(username='john',password='koeinsloot')
|
|
self.nu = datetime.datetime.now()
|
|
|
|
filename = 'rowers/tests/testdata/testdata.csv'
|
|
|
|
rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2,
|
|
hrut1=self.r.ut1,hrat=self.r.at,
|
|
hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp)
|
|
row = rdata(filename,rower=rr)
|
|
totaldist = row.df['cum_dist'].max()
|
|
totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min()
|
|
totaltime = totaltime+row.df.ix[0,' ElapsedTime (sec)']
|
|
|
|
|
|
hours = int(totaltime/3600.)
|
|
minutes = int((totaltime - 3600.*hours)/60.)
|
|
seconds = int(totaltime - 3600.*hours - 60.*minutes)
|
|
tenths = int(10*(totaltime - 3600.*hours - 60.*minutes - seconds))
|
|
|
|
duration = "%s:%s:%s.%s" % (hours,minutes,seconds,tenths)
|
|
|
|
|
|
workoutdate = row.rowdatetime.strftime('%Y-%m-%d')
|
|
workoutstarttime = row.rowdatetime.strftime('%H:%M:%S')
|
|
|
|
self.w = Workout.objects.create(
|
|
name='testworkout',workouttype='water',
|
|
user=self.r,date=self.nu.strftime('%Y-%m-%d'),
|
|
starttime=workoutstarttime,
|
|
startdatetime=row.rowdatetime,
|
|
duration=duration,distance=totaldist,
|
|
csvfilename=filename
|
|
)
|
|
|
|
|
|
def test_middleware(self):
|
|
response = self.c.get('/rowers/list-workouts',follow=True)
|
|
self.assertEqual(response.status_code,200)
|
|
|
|
|
|
class UserTestsNoRower(TestCase):
|
|
def setUp(self):
|
|
u = User.objects.create_user('john',
|
|
'sander@ds.ds',
|
|
'koeinsloot')
|
|
|
|
self.c = Client()
|
|
self.c.login(username='john',password='koeinsloot')
|
|
|
|
|
|
def test_user(self):
|
|
response = self.c.get('/rowers/list-workouts',follow=True)
|
|
self.assertEqual(response.status_code,200)
|
|
|