barbacompta/tests/base/conftest.py

38 lines
1.4 KiB
Python

# barbacompta - invoicing for dummies
# Copyright (C) 2019-2020 Entr'ouvert
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import pytest
from django.contrib.auth.models import User
from django.core.management import call_command
DATA = ["tests/fixture.json"]
@pytest.fixture(scope="package")
def django_db_setup(django_db_setup, django_db_blocker):
print('django_db_setup start')
with django_db_blocker.unblock():
for data in DATA:
call_command("loaddata", data)
admin, created = User.objects.update_or_create(
username="admin",
defaults=dict(email="admin@example.com", is_superuser=True, is_staff=True),
)
admin.set_password("admin")
admin.save()
yield
print('django_db_setup stop')