Files
oc-api_print/Api/test/test_printerfactory.py
2025-10-21 12:34:53 -05:00

42 lines
1.2 KiB
Python

import unittest
from unittest.mock import patch, MagicMock
from escpos.printer import Dummy
from printer_factory import PrinterFactory
class TestPrinterFactory(unittest.TestCase):
def setUp(self):
self.factory_dummy = PrinterFactory(type_="dummy")
self.factory_network = PrinterFactory(
type_="network", host="192.168.1.100")
def test_create_dummy_printer(self):
"""Test creación de impresora dummy"""
printer = self.factory_dummy._get_printer()
self.assertIsInstance(printer, Dummy)
@patch('printer_factory.Network')
def test_create_network_printer(self, mock_network):
"""Test creación de impresora de red con mock"""
mock_printer_instance = MagicMock()
mock_network.return_value = mock_printer_instance
printer = self.factory_network._get_printer()
mock_network.assert_called_once_with("192.168.1.100", 9100)
self.assertEqual(printer, mock_printer_instance)
def test_create_unknown_printer_type(self):
"""Test para tipo de impresora desconocido"""
with self.assertRaises(ValueError):
PrinterFactory(type_="invalid_type")._get_printer()
if __name__ == '__main__':
unittest.main()