@patch("app.main.utils.time.Time.get_now", return_value=datetime(9999, 1, 18))
def test_mocking(mock_get_now):
from app.main.utils.time import Time
assert Time.get_now() == datetime(9999, 1, 18)
def test_mocking2(mocker):
from app.main.utils.time import Time
mocker.patch("app.main.utils.time.Time.get_now", return_value=datetime(9999, 1, 18))
assert Time.get_now() == datetime(9999, 1, 18)
@pytest.mark.parametrize(
"obj, return_value", [("app.main.utils.time.Time.get_now", datetime(9999, 1, 18))]
)
def test_parametrize_mock(obj, return_value, mocker):
from app.main.utils.time import Time
mocker.patch(obj, return_value=return_value)
assert Time.get_now() == datetime(9999, 1, 18)
@pytest.mark.parametrize(
"mocks",
[
(
[
("app.main.utils.time.Time.get_now", datetime(9999, 1, 18)),
("app.main.repository.user_repository.UserRepository.get_user", "hi"),
]
)
],
)
def test_parametrize_mock2(mocks, mocker):
from app.main.utils.time import Time
from app.main.repository.user_repository import UserRepository
for mock in mocks:
obj, return_value = mock
if obj and return_value:
mocker.patch(obj, return_value=return_value)
assert Time.get_now() == datetime(9999, 1, 18)
assert UserRepository().get_user() == "hi"