From 0f327a0995a73ddfa193e9babb4dbc953ebc64db Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Tue, 10 Jan 2017 15:00:10 +0000 Subject: [PATCH] remove pytest.mark.usefixtures decorator while it's nice to use the decorator to signify fixtures with side effects, it has unfortunate problems of completely overriding any fixtures you've declared in the funcargs - so isn't really suitable for our usecase where we often have other fixtures we rely on to return values to us. So for consistency, let's remove this and stick to using funcargs to define our fixtures --- tests/app/dao/test_users_dao.py | 15 +++++---------- tests/app/db.py | 10 +++++----- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/tests/app/dao/test_users_dao.py b/tests/app/dao/test_users_dao.py index 0bc417b21..6b4b982b7 100644 --- a/tests/app/dao/test_users_dao.py +++ b/tests/app/dao/test_users_dao.py @@ -21,8 +21,7 @@ from app.models import User, VerifyCode from tests.app.db import create_user -@pytest.mark.usefixtures('notify_db_session') -def test_create_user(): +def test_create_user(notify_db_session): email = 'notify@digital.cabinet-office.gov.uk' data = { 'name': 'Test User', @@ -38,8 +37,7 @@ def test_create_user(): assert not user.platform_admin -@pytest.mark.usefixtures('notify_db_session') -def test_get_all_users(): +def test_get_all_users(notify_db_session): create_user(email='1@test.com') create_user(email='2@test.com') @@ -47,21 +45,18 @@ def test_get_all_users(): assert len(get_user_by_id()) == 2 -@pytest.mark.usefixtures('notify_db_session') -def test_get_user(): +def test_get_user(notify_db_session): email = '1@test.com' user = create_user(email=email) assert get_user_by_id(user_id=user.id).email_address == email -@pytest.mark.usefixtures('notify_db_session') -def test_get_user_not_exists(fake_uuid): +def test_get_user_not_exists(notify_db_session, fake_uuid): with pytest.raises(NoResultFound): get_user_by_id(user_id=fake_uuid) -@pytest.mark.usefixtures('notify_db_session') -def test_get_user_invalid_id(): +def test_get_user_invalid_id(notify_db_session): with pytest.raises(DataError): get_user_by_id(user_id="blah") diff --git a/tests/app/db.py b/tests/app/db.py index 136ce5c50..cb64f86db 100644 --- a/tests/app/db.py +++ b/tests/app/db.py @@ -10,8 +10,8 @@ def create_user(mobile_number="+447700900986", email="notify@digital.cabinet-off 'mobile_number': mobile_number, 'state': 'active' } - usr = User.query.filter_by(email_address=email).first() - if not usr: - usr = User(**data) - save_model_user(usr) - return usr + user = User.query.filter_by(email_address=email).first() + if not user: + user = User(**data) + save_model_user(user) + return user