From 84e1abaf4ea2d85deaf5b424df1df5ad4b311c10 Mon Sep 17 00:00:00 2001 From: Johannes Hoppe Date: Wed, 2 Dec 2015 19:59:36 +0100 Subject: [PATCH] Remove model_mommy test dependency --- requirements_dev.in | 1 - requirements_dev.txt | 6 +----- tests/conftest.py | 21 ++++++++++++++++++--- tests/test_forms.py | 5 ++--- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/requirements_dev.in b/requirements_dev.in index c06d7ab..69a9de5 100644 --- a/requirements_dev.in +++ b/requirements_dev.in @@ -7,4 +7,3 @@ pep257 pytest pytest-django selenium -model-mommy \ No newline at end of file diff --git a/requirements_dev.txt b/requirements_dev.txt index 289ae81..f7877b0 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,13 +5,9 @@ # pip-compile requirements_dev.in # django-appconf==1.0.1 -django==1.8.7 # via model-mommy flake8==2.5.0 isort==4.2.2 mccabe==0.3.1 -mock==1.3.0 # via model-mommy -model-mommy==1.2.5.1 -pbr==1.8.1 # via mock pep257==0.7.0 pep8-naming==0.3.3 pep8==1.5.7 # via flake8 @@ -20,4 +16,4 @@ pyflakes==1.0.0 # via flake8 pytest-django==2.9.1 pytest==2.8.3 selenium==2.48.0 -six==1.10.0 # via django-appconf, mock, model-mommy +six==1.10.0 # via django-appconf diff --git a/tests/conftest.py b/tests/conftest.py index ac813a4..fb85f9b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,9 +2,10 @@ from __future__ import absolute_import, print_function, unicode_literals import os +import random +import string import pytest -from model_mommy import mommy from selenium import webdriver from selenium.common.exceptions import WebDriverException @@ -15,6 +16,13 @@ browsers = { } +def random_string(n): + return ''.join( + random.choice(string.ascii_uppercase + string.digits) + for _ in range(n) + ) + + @pytest.fixture(scope='session', params=browsers.keys()) def driver(request): @@ -33,9 +41,16 @@ def driver(request): @pytest.fixture def genres(db): - return mommy.make('testapp.Genre', _quantity=100) + from .testapp.models import Genre + + return Genre.objects.bulk_create( + [Genre(pk=pk, title=random_string(50)) for pk in range(100)] + ) @pytest.fixture def artists(db): - return mommy.make('testapp.Artist', _quantity=100) + from .testapp.models import Artist + return Artist.objects.bulk_create( + [Artist(pk=pk, title=random_string(50)) for pk in range(100)] + ) diff --git a/tests/test_forms.py b/tests/test_forms.py index d2f4146..8f0ec11 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -9,7 +9,6 @@ from django.core import signing from django.core.urlresolvers import reverse from django.db.models import QuerySet from django.utils.encoding import force_text -from model_mommy import mommy from selenium.common.exceptions import NoSuchElementException from six import text_type @@ -143,8 +142,8 @@ class TestModelSelect2Mixin(TestHeavySelect2Mixin): assert text_type(genre) in form.as_p() @pytest.fixture(autouse=True) - def genres(self, db): - return mommy.make(Genre, 100) + def genres(self, genres): + return genres def test_selected_option(self, db, genres): genre = genres[0]