mieweb / mieWeb /src /test /pruebasIntegracionPresenterAccesoDatos.py
Sergio Salas
modificada prueba de integracion
7b9d1de
import unittest
from unittest.mock import MagicMock
from src.negocio.presenter import Presenter
from src.persistencia.acceso_datos import obtener_nombres_materiales, obtener_paginas_material, obtener_datos_pagina
class TestPresenterIntegration(unittest.TestCase):
def test_get_nombres_materiales(self):
# Mock de la funci贸n obtener_nombres_materiales
mock_obtener_nombres = MagicMock(return_value=["Ag", "Au"])
# Crear instancia de Presenter y reemplazar la funci贸n obtener_nombres_materiales
presenter = Presenter()
presenter.get_nombres_materiales = mock_obtener_nombres
# Llamamos a la funcion que usa la funci贸n mockeada
nombres_materiales = presenter.get_nombres_materiales()
# Verificar que se haya llamado correctamente y que el resultado es el esperado
mock_obtener_nombres.assert_called_once() # Verificar que se llam贸 una vez
self.assertEqual(nombres_materiales, ["Ag", "Au"]) # Verificar que el resultado es el esperado
def test_obtener_paginas_material(self):
# Mock de la funci贸n obtener_paginas_material
mock_obtener_paginas = MagicMock(return_value=['Select page', 'Johnson', 'McPeak'])
# Crear instancia de Presenter
presenter = Presenter()
# Reemplazar la funci贸n obtener_paginas_material por el mock
presenter.obtener_opciones_paginas = mock_obtener_paginas
# Llamamos a la funci贸n que usa la funci贸n mockeada
opciones_paginas = presenter.obtener_opciones_paginas("Ag")
# Verificar que se haya llamado correctamente y que el resultado es el esperado
mock_obtener_paginas.assert_called_once_with("Ag") # Verificar que se llam贸 una vez con el argumento esperado
self.assertEqual(opciones_paginas, ['Select page', 'Johnson', 'McPeak']) # Verificar el resultado esperado
def test_datos_pagina(self):
# Mock de la funci贸n obtener_datos_pagina
mock_obtener_datos = MagicMock(return_value={
"lambda": [500, 600, 700],
"n": [1.5, 1.6, 1.7],
"k": [0.1, 0.2, 0.3],
"page_id": 2,
"page_name": "Johnson"
})
# Crear instancia de Presenter
presenter = Presenter()
# Reemplazar la funci贸n obtener_datos_pagina con el mock
presenter.obtener_datos_pagina = mock_obtener_datos
# Llamamos a la funci贸n que usa la funci贸n mockeada
resultados = presenter.obtener_valores("Ag", "Johnson")
# Verificar que se haya llamado correctamente
mock_obtener_datos.assert_called_once_with("Ag", "Johnson")
# Verificar que los datos se hayan almacenado correctamente en material_data
self.assertEqual(resultados['lambda'], [500, 600, 700])
self.assertEqual(resultados['n'], [1.5, 1.6, 1.7])
self.assertEqual(resultados['k'], [0.1, 0.2, 0.3])
self.assertEqual(resultados['page_id'], 2)
self.assertEqual(resultados['page_name'], "Johnson")
if __name__ == "__main__":
unittest.main()