test_event_hooks.py 986 B

12345678910111213141516171819202122232425
  1. import pytest
  2. from unittest.mock import patch, MagicMock
  3. from services import event_hooks
  4. def test_on_order_created_hook():
  5. with patch('db.execute_query') as mock_query:
  6. # Arrange
  7. mock_query.return_value = [{"id": 99, "first_name": "Test", "email": "test@example.com"}]
  8. # Act
  9. # Should execute without throwing errors
  10. event_hooks.on_order_created(99)
  11. # Assert
  12. mock_query.assert_called_once_with("SELECT * FROM orders WHERE id = %s", (99,))
  13. def test_on_order_status_changed_hook():
  14. order_data = {"id": 99, "first_name": "Test", "email": "test@example.com"}
  15. # Act
  16. # Should execute without throwing errors
  17. event_hooks.on_order_status_changed(order_id=99, status="completed", order_data=order_data, send_notification=True)
  18. # Can also test disabled notifications
  19. event_hooks.on_order_status_changed(order_id=99, status="shipped", order_data=order_data, send_notification=False)