diff --git a/server/app/apis/auth.py b/server/app/apis/auth.py
index 920d2d65ea482e70a51c4547419656f97f157a31..4fa5624af098b74b11e321cb5b2dd1bc45e9c610 100644
--- a/server/app/apis/auth.py
+++ b/server/app/apis/auth.py
@@ -32,11 +32,12 @@ class AuthSignup(Resource):
         password = args.get("password")
         role_id = args.get("role_id")
         city_id = args.get("city_id")
+        name = args.get("name")
 
         if User.query.filter(User.email == email).count() > 0:
             api.abort(codes.BAD_REQUEST, "User already exists")
 
-        item_user = dbc.add.default(User(email, password, role_id, city_id))
+        item_user = dbc.add.user(email, password, role_id, city_id, name)
         if not item_user:
             api.abort(codes.BAD_REQUEST, "User could not be created")
 
diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py
index b2c0799928e577805f3d5797982d850a8ace3be9..9f17a932c4c47c6e127128b944986458df670988 100644
--- a/server/app/apis/competitions.py
+++ b/server/app/apis/competitions.py
@@ -24,13 +24,12 @@ class CompetitionsList(Resource):
         name = args.get("name")
         city_id = args.get("city_id")
         year = args.get("year")
-        style_id = args.get("style_id")
 
         # Add competition
-        item = dbc.add.default(Competition(name, year, style_id, city_id))
+        item = dbc.add.competition(name, year, city_id)
 
         # Add default slide
-        item_slide = dbc.add.slide(item)
+        dbc.add.slide(item)
 
         dbc.refresh(item)
         return item_response(schema.dump(item))
@@ -52,8 +51,7 @@ class Competitions(Resource):
         name = args.get("name")
         year = args.get("year")
         city_id = args.get("city_id")
-        style_id = args.get("style_id")
-        item = dbc.edit.competition(item, name, year, city_id, style_id)
+        item = dbc.edit.competition(item, name, year, city_id)
         return item_response(schema.dump(item))
 
     @jwt_required
@@ -71,11 +69,10 @@ class CompetitionSearch(Resource):
         name = args.get("name")
         year = args.get("year")
         city_id = args.get("city_id")
-        style_id = args.get("style_id")
         page = args.get("page", 0)
         page_size = args.get("page_size", 15)
         order = args.get("order", 1)
         order_by = args.get("order_by")
 
-        items, total = dbc.get.search_competitions(name, year, city_id, style_id, page, page_size, order, order_by)
+        items, total = dbc.get.search_competitions(name, year, city_id, page, page_size, order, order_by)
         return list_response(list_schema.dump(items), total)
diff --git a/server/app/apis/misc.py b/server/app/apis/misc.py
index 13055f211e480a2f16b42d74d9517514e04c67f7..f5b42fda6ab46fc76dd70a774fd3baf9ef467938 100644
--- a/server/app/apis/misc.py
+++ b/server/app/apis/misc.py
@@ -51,7 +51,7 @@ class CitiesList(Resource):
     @jwt_required
     def post(self):
         args = name_parser.parse_args(strict=True)
-        dbc.add.default(City(args["name"]))
+        dbc.add.city(args["name"])
         items = City.query.all()
         return list_response(city_schema.dump(items))
 
diff --git a/server/app/apis/slides.py b/server/app/apis/slides.py
index 6a2b1714a101cde574f188d3876243e9a5d97f86..6d9465e262c83ad3170683938d7fa3558357d241 100644
--- a/server/app/apis/slides.py
+++ b/server/app/apis/slides.py
@@ -1,12 +1,11 @@
 import app.core.controller as dbc
 import app.core.http_codes as codes
 from app.apis import admin_required, item_response, list_response
-from app.core import schemas
 from app.core.dto import SlideDTO
 from app.core.models import Competition, Slide
 from app.core.parsers import slide_parser
-from flask_jwt_extended import get_jwt_identity, jwt_required
-from flask_restx import Namespace, Resource, reqparse
+from flask_jwt_extended import jwt_required
+from flask_restx import Resource
 
 api = SlideDTO.api
 schema = SlideDTO.schema
diff --git a/server/app/apis/teams.py b/server/app/apis/teams.py
index 3f183bf5ea0965c3282b9a0407c9f95476486b7d..bec6cb6a81005ebf782c212319b0641ca9f3a35a 100644
--- a/server/app/apis/teams.py
+++ b/server/app/apis/teams.py
@@ -29,8 +29,9 @@ class TeamsList(Resource):
         parser.add_argument("name", type=str, location="json")
         args = parser.parse_args(strict=True)
 
-        dbc.add.default(Team(args["name"], 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))
 
 
diff --git a/server/app/core/controller/add.py b/server/app/core/controller/add.py
index 14c5eecf04940b2daf1c6e563b09f617e68b3cf1..2352ec0d7e8a7dbb462aeb8069027da6d0de47da 100644
--- a/server/app/core/controller/add.py
+++ b/server/app/core/controller/add.py
@@ -1,23 +1,64 @@
 from app.core import db
-from app.core.models import Blacklist, City, Competition, Role, Slide, User
+from app.core.models import Blacklist, City, Competition, MediaType, Question, QuestionType, Role, Slide, Team, User
 
 
-def default(item):
-    db.session.add(item)
-    db.session.commit()
-    db.session.refresh(item)
-    return item
+def db_add(func):
+    def wrapper(*args, **kwargs):
+        item = func(*args, **kwargs)
+        db.session.add(item)
+        db.session.commit()
+        db.session.refresh(item)
+        return item
 
+    return wrapper
 
+
+@db_add
 def blacklist(jti):
-    db.session.add(Blacklist(jti))
-    db.session.commit()
+    return Blacklist(jti)
 
 
+@db_add
 def slide(item_competition):
-    order = Slide.query.filter(Slide.competition_id == item_competition.id).count()
-    item = Slide(order, item_competition.id)
-    db.session.add(item)
-    db.session.commit()
-    db.session.refresh(item)
-    return item
+    order = Slide.query.filter(Slide.competition_id == item_competition.id).count()  # first element has index 0
+    return Slide(order, item_competition.id)
+
+
+@db_add
+def user(email, plaintext_password, role_id, city_id, name=None):
+    return User(email, plaintext_password, role_id, city_id, name)
+
+
+@db_add
+def question(name, order, type_id, item_slide):
+    return Question(name, order, type_id, item_slide.id)
+
+
+@db_add
+def competition(name, year, city_id):
+    return Competition(name, year, city_id)
+
+
+@db_add
+def team(name, item_competition):
+    return Team(name, item_competition.id)
+
+
+@db_add
+def mediaType(name):
+    return MediaType(name)
+
+
+@db_add
+def questionType(name):
+    return QuestionType(name)
+
+
+@db_add
+def role(name):
+    return Role(name)
+
+
+@db_add
+def city(name):
+    return City(name)
diff --git a/server/app/core/controller/edit.py b/server/app/core/controller/edit.py
index 9373ebc794f0427982010e27b4f8e9931816f8c9..c8b1633bfcf15854f17df0f5dcbc5152f1216ef5 100644
--- a/server/app/core/controller/edit.py
+++ b/server/app/core/controller/edit.py
@@ -31,15 +31,13 @@ def slide(item, title=None, timer=None):
     return item
 
 
-def competition(item, name=None, year=None, city_id=None, style_id=None):
+def competition(item, name=None, year=None, city_id=None):
     if name:
         item.name = name
     if year:
         item.year = year
     if city_id:
         item.city_id = city_id
-    if style_id:
-        item.style_id = style_id
 
     db.session.commit()
     db.session.refresh(item)
diff --git a/server/app/core/controller/get.py b/server/app/core/controller/get.py
index d5b5978a2d4bb56a4f4d3054fcba0a1f8c4ee1c6..7c3842d9041bbe4130b9e0a7201c2cfe748d3cf4 100644
--- a/server/app/core/controller/get.py
+++ b/server/app/core/controller/get.py
@@ -43,9 +43,7 @@ def search_user(email=None, name=None, city_id=None, role_id=None, page=0, page_
     return _search(query, order_column, page, page_size, order)
 
 
-def search_competitions(
-    name=None, year=None, city_id=None, style_id=None, page=0, page_size=15, order=1, order_by=None
-):
+def search_competitions(name=None, year=None, city_id=None, page=0, page_size=15, order=1, order_by=None):
     query = Competition.query
     if name:
         query = query.filter(Competition.name.like(f"%{name}%"))
@@ -53,8 +51,6 @@ def search_competitions(
         query = query.filter(Competition.year == year)
     if city_id:
         query = query.filter(Competition.city_id == city_id)
-    if style_id:
-        query = query.filter(Competition.style_id == style_id)
 
     order_column = Competition.year  # Default order_by
     if order_by:
diff --git a/server/app/core/models.py b/server/app/core/models.py
index 55ea1b1cebf1dff0cf0ad94f1cf61b44e0b56e0a..bd23f0d715d0245f361c75b11beddaa42e9d084a 100644
--- a/server/app/core/models.py
+++ b/server/app/core/models.py
@@ -51,12 +51,13 @@ class User(db.Model):
 
     media = db.relationship("Media", backref="upload_by")
 
-    def __init__(self, email, plaintext_password, role_id, city_id):
+    def __init__(self, email, plaintext_password, role_id, city_id, name=None):
         self._password = bcrypt.generate_password_hash(plaintext_password)
         self.email = email
         self.role_id = role_id
         self.city_id = city_id
         self.authenticated = False
+        self.name = name
 
     @hybrid_property
     def password(self):
@@ -77,43 +78,25 @@ class Media(db.Model):
     type_id = db.Column(db.Integer, db.ForeignKey("media_type.id"), nullable=False)
     upload_by_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
 
-    styles = db.relationship("Style", backref="bg_image")
-
     def __init__(self, filename, type_id, upload_by_id):
         self.filename = filename
         self.type_id = type_id
         self.upload_by_id = upload_by_id
 
 
-class Style(db.Model):
-    id = db.Column(db.Integer, primary_key=True)
-    name = db.Column(db.String(STRING_SIZE), unique=True)
-    css = db.Column(db.Text, nullable=False)
-    bg_image_id = db.Column(db.Integer, db.ForeignKey("media.id"), nullable=True)
-
-    competition = db.relationship("Competition", backref="style")
-
-    def __init__(self, name, css, bg_image_id=None):
-        self.name = name
-        self.css = css
-        self.bg_image_id = bg_image_id
-
-
 class Competition(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     name = db.Column(db.String(STRING_SIZE), unique=True)
     year = db.Column(db.Integer, nullable=False, default=2020)
 
-    style_id = db.Column(db.Integer, db.ForeignKey("style.id"), nullable=False)
     city_id = db.Column(db.Integer, db.ForeignKey("city.id"), nullable=False)
 
     slides = db.relationship("Slide", backref="competition")
     teams = db.relationship("Team", backref="competition")
 
-    def __init__(self, name, year, style_id, city_id):
+    def __init__(self, name, year, city_id):
         self.name = name
         self.year = year
-        self.style_id = style_id
         self.city_id = city_id
 
 
@@ -137,7 +120,7 @@ class Slide(db.Model):
     title = db.Column(db.String(STRING_SIZE), nullable=False, default="")
     body = db.Column(db.Text, nullable=False, default="")
     timer = db.Column(db.Integer, nullable=False, default=0)
-    settings = db.Column(db.Text, nullable=False, default="{}")  # Json object
+    settings = db.Column(db.Text, nullable=False, default="{}")
     competition_id = db.Column(db.Integer, db.ForeignKey("competition.id"), nullable=False)
 
     questions = db.relationship("Question", backref="slide")
@@ -148,34 +131,32 @@ class Slide(db.Model):
 
 
 class Question(db.Model):
-    __table_args__ = (db.UniqueConstraint("slide_id", "name"), db.UniqueConstraint("slide_id", "order"))
+    __table_args__ = (db.UniqueConstraint("slide_id", "name"),)
     id = db.Column(db.Integer, primary_key=True)
     name = db.Column(db.String(STRING_SIZE), nullable=False)
-    order = db.Column(db.Integer, nullable=False)
+    total_score = db.Column(db.Integer, nullable=False, default=1)
     type_id = db.Column(db.Integer, db.ForeignKey("question_type.id"), nullable=False)
     slide_id = db.Column(db.Integer, db.ForeignKey("slide.id"), nullable=False)
+
     question_answers = db.relationship("QuestionAnswer", backref="question")
     alternatives = db.relationship("QuestionAlternative", backref="question")
 
-    def __init__(self, name, order, type_id, slide_id):
+    def __init__(self, name, total_score, type_id, slide_id):
         self.name = name
-        self.order = order
+        self.total_score = total_score
         self.type_id = type_id
         self.slide_id = slide_id
 
 
 class QuestionAlternative(db.Model):
-    __table_args__ = (db.UniqueConstraint("question_id", "order"),)
     id = db.Column(db.Integer, primary_key=True)
     text = db.Column(db.String(STRING_SIZE), nullable=False)
     value = db.Column(db.Boolean, nullable=False)
-    order = db.Column(db.Integer, nullable=False)
     question_id = db.Column(db.Integer, db.ForeignKey("question.id"), nullable=False)
 
-    def __init__(self, text, value, order, question_id):
+    def __init__(self, text, value, question_id):
         self.text = text
         self.value = value
-        self.order = order
         self.question_id = question_id
 
 
@@ -183,7 +164,7 @@ class QuestionAnswer(db.Model):
     __table_args__ = (db.UniqueConstraint("question_id", "team_id"),)
     id = db.Column(db.Integer, primary_key=True)
     data = db.Column(db.Text, nullable=False)
-    score = db.Column(db.Integer, nullable=False, default=0)  # 0: False, 1: True
+    score = db.Column(db.Integer, nullable=False, default=0)
     question_id = db.Column(db.Integer, db.ForeignKey("question.id"), nullable=False)
     team_id = db.Column(db.Integer, db.ForeignKey("team.id"), nullable=False)
 
diff --git a/server/app/core/parsers.py b/server/app/core/parsers.py
index 6f287cb271a5984c3c5ba5f0e8b49a38ff7196c5..d4aaf0ec1dc4e1144e073e02908a0c2bc5eb3a7a 100644
--- a/server/app/core/parsers.py
+++ b/server/app/core/parsers.py
@@ -38,7 +38,6 @@ competition_parser = reqparse.RequestParser()
 competition_parser.add_argument("name", type=str)
 competition_parser.add_argument("year", type=int)
 competition_parser.add_argument("city_id", type=int)
-competition_parser.add_argument("style_id", type=int)
 
 
 ###SEARCH_COMPETITOIN####
@@ -46,7 +45,6 @@ competition_search_parser = search_parser.copy()
 competition_search_parser.add_argument("name", type=str, default=None, location="args")
 competition_search_parser.add_argument("year", type=str, default=None, location="args")
 competition_search_parser.add_argument("city_id", type=int, default=None, location="args")
-competition_search_parser.add_argument("style_id", type=int, default=None, location="args")
 
 
 ###SLIDER_PARSER####
diff --git a/server/app/core/rich_schemas.py b/server/app/core/rich_schemas.py
index 56aec85e5f8f93eaf663d8a374738b0fee478fd8..f951048812cc8c190f49eabf5cfbcc75a5ec6827 100644
--- a/server/app/core/rich_schemas.py
+++ b/server/app/core/rich_schemas.py
@@ -31,7 +31,6 @@ class CompetitionSchemaRich(RichSchema):
     name = ma.auto_field()
     year = ma.auto_field()
     slides = fields.Nested(schemas.SlideSchema, many=True)
-    style = fields.Nested(schemas.RoleSchema, many=False)
     city = fields.Nested(schemas.CitySchema, many=False)
 
 
diff --git a/server/app/core/schemas.py b/server/app/core/schemas.py
index 9962479fe3bcd241bcf77a5ed8b389b4e55ec19e..0450034ae28edf65f1559ebff7a5962336f1a954 100644
--- a/server/app/core/schemas.py
+++ b/server/app/core/schemas.py
@@ -52,16 +52,6 @@ class MediaSchema(BaseSchema):
     upload_by_id = ma.auto_field()
 
 
-class StyleSchema(BaseSchema):
-    class Meta(BaseSchema.Meta):
-        model = models.Style
-
-    id = ma.auto_field()
-    name = ma.auto_field()
-    css = ma.auto_field()
-    bg_image = fields.Nested(MediaSchema, many=False)
-
-
 class SlideSchema(BaseSchema):
     class Meta(BaseSchema.Meta):
         model = models.Slide
diff --git a/server/configmodule.py b/server/configmodule.py
index f7c2935fa6e2f11747f14b7dfcfc5e426b6de1b5..d042d594bf1dea8c81081c701d7b87d2ddc196c9 100644
--- a/server/configmodule.py
+++ b/server/configmodule.py
@@ -11,6 +11,7 @@ class Config:
     BUNDLE_ERRORS = True
     JWT_ACCESS_TOKEN_EXPIRES = timedelta(days=2)
     JWT_REFRESH_TOKEN_EXPIRES = timedelta(days=30)
+    SQLALCHEMY_TRACK_MODIFICATIONS = False
 
 
 class DevelopmentConfig(Config):
@@ -21,7 +22,6 @@ class DevelopmentConfig(Config):
 class TestingConfig(Config):
     TESTING = True
     SQLALCHEMY_DATABASE_URI = "sqlite:///test.db"
-    SQLALCHEMY_TRACK_MODIFICATIONS = False
 
 
 class ProductionConfig(Config):
diff --git a/server/populate.py b/server/populate.py
index 1910ae8f12b03d09f79440cbb9c63cdf83605d89..ba1648fa28e89399c4b0a57f2788a0b73244a91e 100644
--- a/server/populate.py
+++ b/server/populate.py
@@ -1,49 +1,63 @@
+from sqlalchemy.sql.expression import true
+
 import app.core.controller as dbc
 from app import create_app, db
-from app.core.models import City, MediaType, QuestionType, Role, Style, User
+from app.core.models import City, Competition, MediaType, QuestionType, Role
 
 
 def _add_items():
     media_types = ["Image", "Video"]
     question_types = ["Boolean", "Multiple", "Text"]
     roles = ["Admin", "Editor"]
-    cities = ["Linköping"]
+    cities = ["Linköping", "Stockholm", "Norrköping", "Örkelljunga"]
+    teams = ["Gymnasieskola A", "Gymnasieskola B", "Gymnasieskola C"]
+
+    for team_name in media_types:
+        dbc.add.mediaType(team_name)
+
+    for team_name in question_types:
+        dbc.add.questionType(team_name)
+
+    for team_name in roles:
+        dbc.add.role(team_name)
 
-    # Add media types
-    for item in media_types:
-        db.session.add(MediaType(item))
+    for team_name in cities:
+        dbc.add.city(team_name)
 
-    db.session.commit()
+    admin_id = Role.query.filter(Role.name == "Admin").one().id
+    editor_id = Role.query.filter(Role.name == "Editor").one().id
 
-    # Add question types
-    for item in question_types:
-        db.session.add(QuestionType(item))
-    db.session.commit()
+    city_id = City.query.filter(City.name == "Linköping").one().id
 
-    # Add roles
-    for item in roles:
-        db.session.add(Role(item))
-    db.session.commit()
+    text_id = QuestionType.query.filter(QuestionType.name == "Text").one().id
 
-    # Add cities
-    for item in cities:
-        db.session.add(City(item))
-    db.session.commit()
+    # Add users
+    dbc.add.user("admin@test.se", "password", admin_id, city_id)
+    dbc.add.user("test@test.se", "password", editor_id, city_id)
 
-    # Add deafult style
-    db.session.add(Style("Main Style", ""))
+    # Add competitions to db
+    for i in range(3):
+        dbc.add.competition(f"Test{i+1}", 1971, city_id)
 
-    # Commit changes to db
-    db.session.commit()
+    item_comps = Competition.query.all()
+    # Add
+    for item_comp in item_comps:
+        for i in range(3):
+            # Add slide to competition
+            item_slide = dbc.add.slide(item_comp)
 
-    # Add user with role and city
-    dbc.add.default(User("test@test.se", "password", 1, 1))
+            # Add question to competition
+            dbc.add.question(f"Q{i+1}", i + 1, text_id, item_slide)
 
-    db.session.flush()
+        # Add teams to competition
+        for team_name in teams:
+            dbc.add.team(team_name, item_comp)
 
 
-app = create_app("configmodule.DevelopmentConfig")
+if __name__ == "__main__":
+    app = create_app("configmodule.DevelopmentConfig")
 
-with app.app_context():
-    db.create_all()
-    _add_items()
+    with app.app_context():
+        db.drop_all()
+        db.create_all()
+        _add_items()
diff --git a/server/tests/test_app.py b/server/tests/test_app.py
index 383cb574b5b3ad56def838bb169cdf761bd6bf59..e4e0f2905af51a962546d2cfadf3195f3a17cd13 100644
--- a/server/tests/test_app.py
+++ b/server/tests/test_app.py
@@ -43,7 +43,7 @@ def test_competition(client):
     headers = {"Authorization": "Bearer " + body["access_token"]}
 
     # Create competition
-    data = {"name": "c1", "year": 2020, "city_id": 1, "style_id": 1}
+    data = {"name": "c1", "year": 2020, "city_id": 1}
     response, body = post(client, "/api/competitions", data, headers=headers)
     assert response.status_code == 200
     assert body["name"] == "c1"
diff --git a/server/tests/test_db.py b/server/tests/test_db.py
index 46bd599657368be76ea28d4009332583ef8b814c..49ca53ad18e972673e1b81658458e1af909ef8c9 100644
--- a/server/tests/test_db.py
+++ b/server/tests/test_db.py
@@ -1,4 +1,5 @@
-from app.core.models import City, Competition, Media, MediaType, Question, QuestionType, Role, Slide, Style, Team, User
+import app.core.controller as dbc
+from app.core.models import City, Competition, Media, MediaType, Question, QuestionType, Role, Slide, Team, User
 
 from tests import app, client, db
 from tests.test_helpers import add_default_values, assert_exists, assert_insert_fail
@@ -21,7 +22,7 @@ def test_user(client):
     assert len(item_city.users) == 1 and item_city.users[0].id == item_user.id
 
 
-def test_media_style(client):
+def test_media(client):
     add_default_values()
     item_user = User.query.filter_by(email="test@test.se").first()
 
@@ -38,19 +39,6 @@ def test_media_style(client):
     assert len(item_user.media) == 1
     assert item_media.upload_by.email == "test@test.se"
 
-    # Add style
-    db.session.add(Style("template", "hej", item_media.id))
-    db.session.commit()
-
-    # Assert style
-    item_style = Style.query.filter_by(name="template").first()
-    assert item_style is not None
-    assert len(item_media.styles) == 1
-    assert item_style.bg_image.filename == "bild.png"
-
-    # Assert lazy loading
-    assert item_user.media[0].styles[0].name == "template"
-
 
 def test_question(client):
     add_default_values()
@@ -64,33 +52,24 @@ def test_question(client):
     db.session.commit()
     item_media = Media.query.filter_by(filename="bild.png").first()
 
-    # Add style
-    db.session.add(Style("template", "hej", item_media.id))
-    db.session.commit()
-    item_style = Style.query.filter_by(name="template").first()
-
     # Add competition
     item_city = City.query.filter_by(name="Linköping").first()
-    db.session.add(Competition("teknik8", 2020, item_style.id, item_city.id))
-    db.session.add(Competition("teknik9", 2020, item_style.id, item_city.id))
-    db.session.commit()
+    dbc.add.competition("teknik8", 2020, item_city.id)
+    dbc.add.competition("teknik9", 2020, item_city.id)
     item_competition = Competition.query.filter_by(name="teknik8").first()
     item_competition_2 = Competition.query.filter_by(name="teknik9").first()
 
     assert item_competition is not None
     assert item_competition.id == 1
-    assert item_competition.style.name == "template"
     assert item_competition.city.name == "Linköping"
 
     # Add teams
-    db.session.add(Team("Lag1", item_competition.id))
-    db.session.add(Team("Lag2", item_competition.id))
-    db.session.commit()
+    dbc.add.team("Lag1", item_competition)
+    dbc.add.team("Lag2", item_competition)
 
     assert_insert_fail(Team, "Lag1", item_competition.id)
 
-    db.session.add(Team("Lag1", item_competition_2.id))
-    db.session.commit()
+    dbc.add.team("Lag1", item_competition_2)
 
     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
@@ -100,18 +79,17 @@ def test_question(client):
     assert Team.query.count() == 3
 
     # Add slides
-    db.session.add(Slide(1, item_competition.id))
-    db.session.add(Slide(2, item_competition.id))
-    db.session.add(Slide(3, item_competition.id))
-    db.session.commit()
+    dbc.add.slide(item_competition)
+    dbc.add.slide(item_competition)
+    dbc.add.slide(item_competition)
 
     # Try add slide with same order
     assert_insert_fail(Slide, 1, item_competition.id)
     assert_exists(Slide, 1, order=1)
 
-    item_slide1 = Slide.query.filter_by(order=1).first()
-    item_slide2 = Slide.query.filter_by(order=2).first()
-    item_slide3 = Slide.query.filter_by(order=3).first()
+    item_slide1 = Slide.query.filter_by(order=0).first()
+    item_slide2 = Slide.query.filter_by(order=1).first()
+    item_slide3 = Slide.query.filter_by(order=2).first()
 
     assert item_slide1 is not None
     assert item_slide2 is not None
@@ -121,9 +99,8 @@ def test_question(client):
     question_type_bool = QuestionType.query.filter_by(name="Boolean").first()
     question_type_multiple = QuestionType.query.filter_by(name="Multiple").first()
 
-    db.session.add(Question("Fråga1", 0, question_type_bool.id, item_slide2.id))
-    db.session.add(Question("Fråga2", 1, question_type_multiple.id, item_slide3.id))
-    db.session.commit()
+    dbc.add.question("Fråga1", 10, question_type_bool.id, item_slide2)
+    dbc.add.question("Fråga2", 10, question_type_multiple.id, item_slide3)
 
     assert question_type_bool is not None
     assert question_type_multiple is not None
diff --git a/server/tests/test_helpers.py b/server/tests/test_helpers.py
index dd78fc8a0d2ab2180a485a87746fe1104c1ca27e..6ce0f54c49f19b04076df674910c5c383bf7efef 100644
--- a/server/tests/test_helpers.py
+++ b/server/tests/test_helpers.py
@@ -2,7 +2,7 @@ import json
 
 import app.core.controller as dbc
 from app.core import db
-from app.core.models import City, MediaType, QuestionType, Role, Style, User
+from app.core.models import City, MediaType, QuestionType, Role, User
 
 
 def add_default_values():
@@ -13,28 +13,23 @@ def add_default_values():
 
     # Add media types
     for item in media_types:
-        db.session.add(MediaType(item))
+        dbc.add.mediaType(item)
 
     # Add question types
     for item in question_types:
-        db.session.add(QuestionType(item))
+        dbc.add.questionType(item)
 
     # Add roles
     for item in roles:
-        db.session.add(Role(item))
-
+        dbc.add.role(item)
     # Add cities
     for item in cities:
-        db.session.add(City(item))
-
-    # Add deafult style
-    db.session.add(Style("Main Style", ""))
-
-    # Commit changes to db
-    db.session.commit()
+        dbc.add.city(item)
 
+    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
-    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):