add skeleton
This commit is contained in:
29
tests.py
Normal file
29
tests.py
Normal file
@@ -0,0 +1,29 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user