Files
python_ioc/tests.py
Torsten Ueberschar 347be92462 hrrr
2022-10-13 12:19:03 +02:00

35 lines
893 B
Python

import unittest
from unittest import mock
import services
from containers import Container
from dependency_injector.wiring import Provide, inject
@inject
def run(service: services.BusinessLogic = Provide[Container.business_logic]):
service.send("test@receiver")
def test_is_mail_send():
container = Container()
container.init_resources()
container.wire(modules=[__name__])
email_service = mock.Mock(services.EmailService)
invoice_service = mock.Mock(services.InvoiceService)
invoice_service.create_invoice.return_value = "test invoice"
with container.override_providers(
email_service=email_service,
invoice_service=invoice_service):
run()
email_service.send.assert_called_once_with("test@receiver", "test invoice")
invoice_service.create_invoice.assert_called()
if __name__ == '__main__':
unittest.main()