diff --git a/{{cookiecutter.app_name}}/manage.py b/{{cookiecutter.app_name}}/manage.py index e7b1004..d77c8a9 100644 --- a/{{cookiecutter.app_name}}/manage.py +++ b/{{cookiecutter.app_name}}/manage.py @@ -17,7 +17,7 @@ else: app = create_app(DevConfig) manager = Manager(app) -TEST_CMD = "py.test" +TEST_CMD = "py.test tests" def _make_context(): '''Return context dict for a shell session so you can access diff --git a/{{cookiecutter.app_name}}/tests/test_models.py b/{{cookiecutter.app_name}}/tests/test_models.py index d0fb7d1..7ffb2fa 100644 --- a/{{cookiecutter.app_name}}/tests/test_models.py +++ b/{{cookiecutter.app_name}}/tests/test_models.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -import unittest +"""Model unit tests.""" import datetime as dt import pytest @@ -9,44 +9,42 @@ from {{ cookiecutter.app_name }}.user.models import User, Role from .base import DbTestCase from .factories import UserFactory - -def test_created_at_defaults_to_datetime(session): - user = User(username='foo', email='foo@bar.com') - user.save() - assert bool(user.created_at) - assert isinstance(user.created_at, dt.datetime) is True - -def test_password_is_nullable(session): - user = User(username='foo', email='foo@bar.com') - user.save() - assert user.password is None - -def test_factory(session): - user = UserFactory(password="myprecious") - assert bool(user.username) - assert bool(user.email) - assert bool(user.created_at) - assert user.is_admin is False - assert user.active is True - assert user.password == "myprecious" - -def test_check_password_with_equality_operators(session): - user = User.create(username="foo", email="foo@bar.com", - password="foobarbaz123") - assert user.password == 'foobarbaz123' - assert user.password != "barfoobaz" - -def test_full_name(session): - user = UserFactory(first_name="Foo", last_name="Bar") - assert user.full_name == "Foo Bar" - -def test_roles(session): - role = Role(name='admin') - role.save() - u = UserFactory() - u.roles.append(role) - u.save() - assert role in u.roles - -if __name__ == '__main__': - unittest.main() +class TestUser: + + def test_created_at_defaults_to_datetime(self, session): + user = User(username='foo', email='foo@bar.com') + user.save() + assert bool(user.created_at) + assert isinstance(user.created_at, dt.datetime) is True + + def test_password_is_nullable(self, session): + user = User(username='foo', email='foo@bar.com') + user.save() + assert user.password is None + + def test_factory(self, session): + user = UserFactory(password="myprecious") + assert bool(user.username) + assert bool(user.email) + assert bool(user.created_at) + assert user.is_admin is False + assert user.active is True + assert user.password == "myprecious" + + def test_check_password_with_equality_operators(self, session): + user = User.create(username="foo", email="foo@bar.com", + password="foobarbaz123") + assert user.password == 'foobarbaz123' + assert user.password != "barfoobaz" + + def test_full_name(self, session): + user = UserFactory(first_name="Foo", last_name="Bar") + assert user.full_name == "Foo Bar" + + def test_roles(self, session): + role = Role(name='admin') + role.save() + u = UserFactory() + u.roles.append(role) + u.save() + assert role in u.roles