diff --git a/tests/helpers.py b/tests/helpers.py new file mode 100644 index 0000000..fbb8cc6 --- /dev/null +++ b/tests/helpers.py @@ -0,0 +1,42 @@ +# Calendar.social +# Copyright (C) 2018 Gergely Polonkai +# +# 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 . + +"""Helper functions and fixtures for testing +""" + +import pytest + +import calsocial +from calsocial.models import db + + +@pytest.fixture +def client(): + """Fixture that provides a Flask test client + """ + + calsocial.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + calsocial.app.config['TESTING'] = True + calsocial.app.config['WTF_CSRF_ENABLED'] = False + client = calsocial.app.test_client() + + with calsocial.app.app_context(): + db.create_all() + + yield client + + with calsocial.app.app_context(): + db.drop_all() diff --git a/tests/test_calsocial.py b/tests/test_calsocial.py index 10159b8..8ae3d4c 100644 --- a/tests/test_calsocial.py +++ b/tests/test_calsocial.py @@ -1,23 +1,26 @@ -import pytest +# Calendar.social +# Copyright (C) 2018 Gergely Polonkai +# +# 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 . + +"""General tests for Calendar.social +""" import calsocial from calsocial.models import db, User - -@pytest.fixture -def client(): - calsocial.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' - calsocial.app.config['TESTING'] = True - calsocial.app.config['WTF_CSRF_ENABLED'] = False - client = calsocial.app.test_client() - - with calsocial.app.app_context(): - db.create_all() - - yield client - - with calsocial.app.app_context(): - db.drop_all() +from helpers import client def test_index_no_login(client):