Skip to content
Snippets Groups Projects
Commit a49b0499 authored by Joffjoff5000's avatar Joffjoff5000
Browse files

Update tests and add uses id sometimes

parent 67ed4dc0
No related branches found
No related tags found
1 merge request!46Resolve "Improve populate.py"
Pipeline #39112 failed
This commit is part of merge request !46. Comments created here will be created in the context of that merge request.
...@@ -37,7 +37,7 @@ class AuthSignup(Resource): ...@@ -37,7 +37,7 @@ class AuthSignup(Resource):
if User.query.filter(User.email == email).count() > 0: if User.query.filter(User.email == email).count() > 0:
api.abort(codes.BAD_REQUEST, "User already exists") api.abort(codes.BAD_REQUEST, "User already exists")
item_user = dbc.add.default(User(email, password, role_id, city_id, name)) item_user = dbc.add.user(email, password, role_id, city_id, name)
if not item_user: if not item_user:
api.abort(codes.BAD_REQUEST, "User could not be created") api.abort(codes.BAD_REQUEST, "User could not be created")
......
...@@ -26,7 +26,7 @@ class CompetitionsList(Resource): ...@@ -26,7 +26,7 @@ class CompetitionsList(Resource):
year = args.get("year") year = args.get("year")
# Add competition # Add competition
item = dbc.add.default(Competition(name, year, city_id)) item = dbc.add.competition(name, year, city_id)
# Add default slide # Add default slide
dbc.add.slide(item) dbc.add.slide(item)
......
...@@ -51,7 +51,7 @@ class CitiesList(Resource): ...@@ -51,7 +51,7 @@ class CitiesList(Resource):
@jwt_required @jwt_required
def post(self): def post(self):
args = name_parser.parse_args(strict=True) args = name_parser.parse_args(strict=True)
dbc.add.default(City(args["name"])) dbc.add.city(args["name"])
items = City.query.all() items = City.query.all()
return list_response(city_schema.dump(items)) return list_response(city_schema.dump(items))
......
...@@ -29,8 +29,9 @@ class TeamsList(Resource): ...@@ -29,8 +29,9 @@ class TeamsList(Resource):
parser.add_argument("name", type=str, location="json") parser.add_argument("name", type=str, location="json")
args = parser.parse_args(strict=True) args = parser.parse_args(strict=True)
dbc.add.default(Team(args["name"], CID))
item_comp = get_comp(CID) item_comp = get_comp(CID)
dbc.add.team(args["name"], item_comp)
dbc.refresh(item_comp)
return list_response(list_schema.dump(item_comp.teams)) return list_response(list_schema.dump(item_comp.teams))
......
...@@ -20,23 +20,23 @@ def blacklist(jti): ...@@ -20,23 +20,23 @@ def blacklist(jti):
@db_add @db_add
def slide(item_competition): def slide(item_competition):
order = Slide.query.filter(Slide.competition_id == item_competition.id).count() order = Slide.query.filter(Slide.competition_id == item_competition.id).count() # first element has index 0
return Slide(order, item_competition.id) return Slide(order, item_competition.id)
@db_add @db_add
def user(email, plaintext_password, item_role, item_city, name=None): def user(email, plaintext_password, role_id, city_id, name=None):
return User(email, plaintext_password, item_role.id, item_city.id, name) return User(email, plaintext_password, role_id, city_id, name)
@db_add @db_add
def question(name, order, item_type, item_slide): def question(name, order, type_id, item_slide):
return Question(name, order, item_type.id, item_slide.id) return Question(name, order, type_id, item_slide.id)
@db_add @db_add
def competition(name, year, item_city): def competition(name, year, city_id):
return Competition(name, year, item_city.id) return Competition(name, year, city_id)
@db_add @db_add
...@@ -45,20 +45,20 @@ def team(name, item_competition): ...@@ -45,20 +45,20 @@ def team(name, item_competition):
@db_add @db_add
def mediaType(team_name): def mediaType(name):
return MediaType(team_name) return MediaType(name)
@db_add @db_add
def questionType(team_name): def questionType(name):
return QuestionType(team_name) return QuestionType(name)
@db_add @db_add
def role(team_name): def role(name):
return Role(team_name) return Role(name)
@db_add @db_add
def city(team_name): def city(name):
return City(team_name) return City(name)
...@@ -24,20 +24,20 @@ def _add_items(): ...@@ -24,20 +24,20 @@ def _add_items():
for team_name in cities: for team_name in cities:
dbc.add.city(team_name) dbc.add.city(team_name)
item_admin = Role.query.filter(Role.name == "Admin").one() admin_id = Role.query.filter(Role.name == "Admin").one().id
item_editor = Role.query.filter(Role.name == "Editor").one() editor_id = Role.query.filter(Role.name == "Editor").one().id
item_city = City.query.filter(City.name == "Linköping").one() city_id = City.query.filter(City.name == "Linköping").one().id
item_text = QuestionType.query.filter(QuestionType.name == "Text").one() text_id = QuestionType.query.filter(QuestionType.name == "Text").one().id
# Add users # Add users
dbc.add.user("admin@test.se", "password", item_admin, item_city) dbc.add.user("admin@test.se", "password", admin_id, city_id)
dbc.add.user("test@test.se", "password", item_editor, item_city) dbc.add.user("test@test.se", "password", editor_id, city_id)
# Add competitions to db # Add competitions to db
for i in range(3): for i in range(3):
dbc.add.competition(f"Test{i+1}", 1971, item_city) dbc.add.competition(f"Test{i+1}", 1971, city_id)
item_comps = Competition.query.all() item_comps = Competition.query.all()
# Add # Add
...@@ -47,7 +47,7 @@ def _add_items(): ...@@ -47,7 +47,7 @@ def _add_items():
item_slide = dbc.add.slide(item_comp) item_slide = dbc.add.slide(item_comp)
# Add question to competition # Add question to competition
dbc.add.question(f"Q{i+1}", i + 1, item_text, item_slide) dbc.add.question(f"Q{i+1}", i + 1, text_id, item_slide)
# Add teams to competition # Add teams to competition
for team_name in teams: for team_name in teams:
......
import app.core.controller as dbc
from app.core.models import City, Competition, Media, MediaType, Question, QuestionType, Role, Slide, Team, User from app.core.models import City, Competition, Media, MediaType, Question, QuestionType, Role, Slide, Team, User
from tests import app, client, db from tests import app, client, db
...@@ -53,9 +54,8 @@ def test_question(client): ...@@ -53,9 +54,8 @@ def test_question(client):
# Add competition # Add competition
item_city = City.query.filter_by(name="Linköping").first() item_city = City.query.filter_by(name="Linköping").first()
db.session.add(Competition("teknik8", 2020, item_city.id)) dbc.add.competition("teknik8", 2020, item_city.id)
db.session.add(Competition("teknik9", 2020, item_city.id)) dbc.add.competition("teknik9", 2020, item_city.id)
db.session.commit()
item_competition = Competition.query.filter_by(name="teknik8").first() item_competition = Competition.query.filter_by(name="teknik8").first()
item_competition_2 = Competition.query.filter_by(name="teknik9").first() item_competition_2 = Competition.query.filter_by(name="teknik9").first()
...@@ -64,14 +64,12 @@ def test_question(client): ...@@ -64,14 +64,12 @@ def test_question(client):
assert item_competition.city.name == "Linköping" assert item_competition.city.name == "Linköping"
# Add teams # Add teams
db.session.add(Team("Lag1", item_competition.id)) dbc.add.team("Lag1", item_competition)
db.session.add(Team("Lag2", item_competition.id)) dbc.add.team("Lag2", item_competition)
db.session.commit()
assert_insert_fail(Team, "Lag1", item_competition.id) assert_insert_fail(Team, "Lag1", item_competition.id)
db.session.add(Team("Lag1", item_competition_2.id)) dbc.add.team("Lag1", item_competition_2)
db.session.commit()
assert Team.query.filter((Team.competition_id == item_competition.id) & (Team.name == "Lag1")).count() == 1 assert Team.query.filter((Team.competition_id == item_competition.id) & (Team.name == "Lag1")).count() == 1
assert Team.query.filter((Team.competition_id == item_competition.id) & (Team.name == "Lag2")).count() == 1 assert Team.query.filter((Team.competition_id == item_competition.id) & (Team.name == "Lag2")).count() == 1
...@@ -81,18 +79,17 @@ def test_question(client): ...@@ -81,18 +79,17 @@ def test_question(client):
assert Team.query.count() == 3 assert Team.query.count() == 3
# Add slides # Add slides
db.session.add(Slide(1, item_competition.id)) dbc.add.slide(item_competition)
db.session.add(Slide(2, item_competition.id)) dbc.add.slide(item_competition)
db.session.add(Slide(3, item_competition.id)) dbc.add.slide(item_competition)
db.session.commit()
# Try add slide with same order # Try add slide with same order
assert_insert_fail(Slide, 1, item_competition.id) assert_insert_fail(Slide, 1, item_competition.id)
assert_exists(Slide, 1, order=1) assert_exists(Slide, 1, order=1)
item_slide1 = Slide.query.filter_by(order=1).first() item_slide1 = Slide.query.filter_by(order=0).first()
item_slide2 = Slide.query.filter_by(order=2).first() item_slide2 = Slide.query.filter_by(order=1).first()
item_slide3 = Slide.query.filter_by(order=3).first() item_slide3 = Slide.query.filter_by(order=2).first()
assert item_slide1 is not None assert item_slide1 is not None
assert item_slide2 is not None assert item_slide2 is not None
...@@ -102,9 +99,8 @@ def test_question(client): ...@@ -102,9 +99,8 @@ def test_question(client):
question_type_bool = QuestionType.query.filter_by(name="Boolean").first() question_type_bool = QuestionType.query.filter_by(name="Boolean").first()
question_type_multiple = QuestionType.query.filter_by(name="Multiple").first() question_type_multiple = QuestionType.query.filter_by(name="Multiple").first()
db.session.add(Question("Fråga1", 10, question_type_bool.id, item_slide2.id)) dbc.add.question("Fråga1", 10, question_type_bool.id, item_slide2)
db.session.add(Question("Fråga2", 10, question_type_multiple.id, item_slide3.id)) dbc.add.question("Fråga2", 10, question_type_multiple.id, item_slide3)
db.session.commit()
assert question_type_bool is not None assert question_type_bool is not None
assert question_type_multiple is not None assert question_type_multiple is not None
......
...@@ -13,25 +13,23 @@ def add_default_values(): ...@@ -13,25 +13,23 @@ def add_default_values():
# Add media types # Add media types
for item in media_types: for item in media_types:
db.session.add(MediaType(item)) dbc.add.mediaType(item)
# Add question types # Add question types
for item in question_types: for item in question_types:
db.session.add(QuestionType(item)) dbc.add.questionType(item)
# Add roles # Add roles
for item in roles: for item in roles:
db.session.add(Role(item)) dbc.add.role(item)
# Add cities # Add cities
for item in cities: for item in cities:
db.session.add(City(item)) dbc.add.city(item)
# Commit changes to db
db.session.commit()
item_admin = Role.query.filter(Role.name == "Admin").one()
item_city = City.query.filter(City.name == "Linköping").one()
# Add user with role and city # Add user with role and city
dbc.add.default(User("test@test.se", "password", 1, 1)) dbc.add.user("test@test.se", "password", item_admin.id, item_city.id)
def get_body(response): def get_body(response):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment