Private
Public Access
1
0
Files
rowsandall/rowers/tests/test_user.py
2019-01-02 23:54:37 +01:00

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)