161 lines
4.3 KiB
Python
161 lines
4.3 KiB
Python
import datetime
|
|
|
|
import pytest
|
|
|
|
from fittrackee import db
|
|
from fittrackee.users.models import User, UserSportPreference
|
|
from fittrackee.workouts.models import Sport
|
|
|
|
from ..utils import random_string
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1() -> User:
|
|
user = User(username='test', email='test@test.com', password='12345678')
|
|
user.is_active = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1_upper() -> User:
|
|
user = User(username='TEST', email='TEST@TEST.COM', password='12345678')
|
|
user.is_active = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1_admin() -> User:
|
|
admin = User(
|
|
username='admin', email='admin@example.com', password='12345678'
|
|
)
|
|
admin.admin = True
|
|
admin.is_active = True
|
|
admin.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(admin)
|
|
db.session.commit()
|
|
return admin
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1_full() -> User:
|
|
user = User(username='test', email='test@test.com', password='12345678')
|
|
user.first_name = 'John'
|
|
user.last_name = 'Doe'
|
|
user.bio = 'just a random guy'
|
|
user.location = 'somewhere'
|
|
user.language = 'en'
|
|
user.timezone = 'America/New_York'
|
|
user.birth_date = datetime.datetime.strptime('01/01/1980', '%d/%m/%Y')
|
|
user.is_active = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1_raw_speed() -> User:
|
|
user = User(username='test', email='test@test.com', password='12345678')
|
|
user.first_name = 'John'
|
|
user.last_name = 'Doe'
|
|
user.bio = 'just a random guy'
|
|
user.location = 'somewhere'
|
|
user.language = 'en'
|
|
user.timezone = 'America/New_York'
|
|
user.birth_date = datetime.datetime.strptime('01/01/1980', '%d/%m/%Y')
|
|
user.is_active = True
|
|
user.use_raw_gpx_speed = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_1_paris() -> User:
|
|
user = User(username='test', email='test@test.com', password='12345678')
|
|
user.timezone = 'Europe/Paris'
|
|
user.is_active = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_2() -> User:
|
|
user = User(username='toto', email='toto@toto.com', password='12345678')
|
|
user.is_active = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_2_admin() -> User:
|
|
user = User(username='toto', email='toto@toto.com', password='12345678')
|
|
user.is_active = True
|
|
user.admin = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_3() -> User:
|
|
user = User(username='sam', email='sam@test.com', password='12345678')
|
|
user.is_active = True
|
|
user.weekm = True
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def inactive_user() -> User:
|
|
user = User(
|
|
username='inactive', email='inactive@example.com', password='12345678'
|
|
)
|
|
user.confirmation_token = random_string()
|
|
user.accepted_policy = datetime.datetime.utcnow()
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
return user
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_sport_1_preference(
|
|
user_1: User, sport_1_cycling: Sport
|
|
) -> UserSportPreference:
|
|
user_sport = UserSportPreference(
|
|
user_id=user_1.id,
|
|
sport_id=sport_1_cycling.id,
|
|
stopped_speed_threshold=sport_1_cycling.stopped_speed_threshold,
|
|
)
|
|
db.session.add(user_sport)
|
|
db.session.commit()
|
|
return user_sport
|
|
|
|
|
|
@pytest.fixture()
|
|
def user_admin_sport_1_preference(
|
|
user_1_admin: User, sport_1_cycling: Sport
|
|
) -> UserSportPreference:
|
|
user_sport = UserSportPreference(
|
|
user_id=user_1_admin.id,
|
|
sport_id=sport_1_cycling.id,
|
|
stopped_speed_threshold=sport_1_cycling.stopped_speed_threshold,
|
|
)
|
|
db.session.add(user_sport)
|
|
db.session.commit()
|
|
return user_sport
|