Skip to content

Commit

Permalink
[movie-lister] Added test fixture and updated documentation (#747)
Browse files Browse the repository at this point in the history
* test: add fixture for finder mock

* docs: update tests code example, emphasize-lines & test coverage report results
  • Loading branch information
mrKazzila authored Jan 12, 2025
1 parent 6d9d34c commit 3df9584
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 19 deletions.
21 changes: 10 additions & 11 deletions docs/tutorials/cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -911,7 +911,7 @@ Create ``tests.py`` in the ``movies`` package:
and put next into it:

.. code-block:: python
:emphasize-lines: 36,51
:emphasize-lines: 41,50
"""Tests module."""
Expand Down Expand Up @@ -941,13 +941,18 @@ and put next into it:
return container
def test_movies_directed_by(container):
@pytest.fixture
def finder_mock(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
container.movie("The 33", 2015, "Patricia Riggen"),
container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
return finder_mock
def test_movies_directed_by(container, finder_mock):
with container.finder.override(finder_mock):
lister = container.lister()
movies = lister.movies_directed_by("Jon Favreau")
Expand All @@ -956,13 +961,7 @@ and put next into it:
assert movies[0].title == "The Jungle Book"
def test_movies_released_in(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
container.movie("The 33", 2015, "Patricia Riggen"),
container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
def test_movies_released_in(container, finder_mock):
with container.finder.override(finder_mock):
lister = container.lister()
movies = lister.movies_released_in(2015)
Expand Down Expand Up @@ -995,9 +994,9 @@ You should see:
movies/entities.py 7 1 86%
movies/finders.py 26 13 50%
movies/listers.py 8 0 100%
movies/tests.py 23 0 100%
movies/tests.py 24 0 100%
------------------------------------------
TOTAL 89 30 66%
TOTAL 90 30 67%
.. note::

Expand Down
15 changes: 7 additions & 8 deletions examples/miniapps/movie-lister/movies/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,18 @@ def container():
return container


def test_movies_directed_by(container):
@pytest.fixture
def finder_mock(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
container.movie("The 33", 2015, "Patricia Riggen"),
container.movie("The Jungle Book", 2016, "Jon Favreau"),
]

return finder_mock


def test_movies_directed_by(container, finder_mock):
with container.finder.override(finder_mock):
lister = container.lister()
movies = lister.movies_directed_by("Jon Favreau")
Expand All @@ -41,13 +46,7 @@ def test_movies_directed_by(container):
assert movies[0].title == "The Jungle Book"


def test_movies_released_in(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
container.movie("The 33", 2015, "Patricia Riggen"),
container.movie("The Jungle Book", 2016, "Jon Favreau"),
]

def test_movies_released_in(container, finder_mock):
with container.finder.override(finder_mock):
lister = container.lister()
movies = lister.movies_released_in(2015)
Expand Down

0 comments on commit 3df9584

Please sign in to comment.