178 lines
4.3 KiB
Python
178 lines
4.3 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
|
|
from rowers.views import checkworkoutuser,c2_open
|
|
from rowers.models import Workout, User, Rower, WorkoutForm,RowerForm,GraphImage
|
|
from rowers.forms import DocumentsForm,CNsummaryForm,RegistrationFormUniqueEmail
|
|
import rowers.plots as plots
|
|
import rowers.interactiveplots as iplots
|
|
import datetime
|
|
from rowingdata import rowingdata as rdata
|
|
from rowingdata import rower as rrower
|
|
from django.utils import timezone
|
|
from rowers.rows import handle_uploaded_file
|
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
|
from time import strftime,strptime,mktime,time,daylight
|
|
import os
|
|
from rowers.tasks import handle_makeplot
|
|
from rowers.utils import serialize_list,deserialize_list
|
|
from rowers.utils import NoTokenError
|
|
from shutil import copyfile
|
|
from nose.tools import assert_true
|
|
from mock import Mock, patch
|
|
from minimocktest import MockTestCase
|
|
import pandas as pd
|
|
import rowers.c2stuff as c2stuff
|
|
|
|
import json
|
|
import numpy as np
|
|
|
|
from rowers import urls
|
|
from rowers.views import error500_view,error404_view,error400_view,error403_view
|
|
|
|
from rowers.dataprep import delete_strokedata
|
|
|
|
from redis import StrictRedis
|
|
redis_connection = StrictRedis()
|
|
|
|
#@pytest.mark.django_db
|
|
class DataTest(TestCase):
|
|
def setUp(self):
|
|
redis_connection.publish('tasks','KILL')
|
|
u = User.objects.create_user('john',
|
|
'sander@ds.ds',
|
|
'koeinsloot')
|
|
r = Rower.objects.create(user=u,gdproptin=True,
|
|
gdproptindate=timezone.now()
|
|
)
|
|
self.nu = datetime.datetime.now()
|
|
|
|
|
|
def test_workoutform(self):
|
|
form_data = {
|
|
'name':'test',
|
|
'date':'2016-05-01',
|
|
'starttime':'07:53:00',
|
|
'timezone':'UTC',
|
|
'duration':'0:55:00.1',
|
|
'distance':8000,
|
|
'notes':'Aap noot \n mies',
|
|
'weightcategory':'lwt',
|
|
'adaptiveclass': 'PR1',
|
|
'workouttype':'water',
|
|
'boattype':'1x',
|
|
'private':False,
|
|
}
|
|
form = WorkoutForm(data=form_data)
|
|
self.assertTrue(form.is_valid())
|
|
|
|
def test_rower_form_withvalidnumbers(self):
|
|
form_data = {
|
|
'max':192,
|
|
'rest':48,
|
|
'ut2':105,
|
|
'ut1':148,
|
|
'at':160,
|
|
'tr':167,
|
|
'an':180,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertTrue(form.is_valid())
|
|
|
|
|
|
def test_rower_form_twoequalvalues(self):
|
|
form_data = {
|
|
'max':192,
|
|
'rest':48,
|
|
'ut2':105,
|
|
'ut1':105,
|
|
'at':160,
|
|
'an':180,
|
|
'tr':167,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertFalse(form.is_valid())
|
|
|
|
def test_rower_form_abovemaxallowed(self):
|
|
form_data = {
|
|
'max':300,
|
|
'rest':48,
|
|
'ut2':105,
|
|
'ut1':148,
|
|
'at':160,
|
|
'an':180,
|
|
'tr':167,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertFalse(form.is_valid())
|
|
|
|
def test_rower_form_wrongorder(self):
|
|
form_data = {
|
|
'max':192,
|
|
'rest':48,
|
|
'ut2':20,
|
|
'ut1':148,
|
|
'at':160,
|
|
'an':180,
|
|
'tr':167,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertFalse(form.is_valid())
|
|
|
|
def test_rower_form_belowminalloed(self):
|
|
form_data = {
|
|
'max':192,
|
|
'rest':2,
|
|
'ut2':105,
|
|
'ut1':148,
|
|
'at':160,
|
|
'an':180,
|
|
'tr':167,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertFalse(form.is_valid())
|
|
|
|
def test_rower_form_wrongorder2(self):
|
|
form_data = {
|
|
'max':192,
|
|
'rest':48,
|
|
'ut2':105,
|
|
'ut1':170,
|
|
'at':160,
|
|
'an':180,
|
|
'tr':167,
|
|
'weightcategory':'lwt',
|
|
}
|
|
form = RowerForm(data=form_data)
|
|
self.assertFalse(form.is_valid())
|
|
|
|
def test_painsled_form(self):
|
|
filename = 'rowers/tests/testdata/testdata.csv'
|
|
f = open(filename,'rb')
|
|
file_data = {'file': SimpleUploadedFile(f.name, f.read())}
|
|
form_data = {
|
|
'title':'test',
|
|
'workouttype':'water',
|
|
'boattype':'1x',
|
|
'notes':'aap noot mies',
|
|
}
|
|
|
|
form = DocumentsForm(form_data,file_data)
|
|
self.assertTrue(form.is_valid())
|
|
|
|
f.close()
|