Files
ventas_php/test_login_dinamico.php
nickpons666 ee4945578e FASE 2 PARCIAL: Implementación core - Cambios críticos realizados
CAMBIOS REALIZADOS:
 ajax/login.php - Eliminado hardcodeo empresaId = 15
 classes/empresa.class.php - Método DoLogin() ahora obtiene empresaId dinámico
 classes/system-config.class.php - Lógica de BD dinámica (1=ventas_nm, >1=ventas_nm{id})

PROBLEMAS DETECTADOS:
⚠️ GetSingle() devuelve escalar no array
⚠️ empresaId obtenido = 0 (incorrecto)
⚠️ Warnings PHP en acceso a arrays nulos
⚠️ Compatibilidad sistema viejo vs nuevo

ARCHIVOS MODIFICADOS:
- ajax/login.php
- classes/empresa.class.php
- classes/system-config.class.php
- md/plan-accion-multi-empresa.md
- test_login_dinamico.php

SIGUIENTE PASO: Revisar GetSingle() y compatibilidad
2026-01-07 18:36:59 -06:00

60 lines
1.8 KiB
PHP

<?php
/**
* Test de login dinámico para verificar funcionamiento
* Este script permite probar el login con diferentes empresas
*/
require_once 'init.php';
require_once 'libraries.php';
// Datos de prueba - ajustar según necesidad
$testUsers = [
['email' => 'test@empresa1.com', 'password' => '1234', 'expectedEmpresaId' => 1],
['email' => 'test@empresa2.com', 'password' => '1234', 'expectedEmpresaId' => 2],
// Agregar más casos de prueba según sea necesario
];
echo "=== TEST DE LOGIN DINÁMICO ===\n\n";
foreach ($testUsers as $test) {
echo "Test con email: {$test['email']}\n";
// Crear instancia de empresa
$empresa = new Empresa();
$empresa->setEmail($test['email']);
$empresa->setPassword($test['password']);
// Intentar login
if ($empresa->DoLogin()) {
$actualEmpresaId = $_SESSION['empresaId'];
$loginKey = $_SESSION['loginKey'];
echo "✅ Login exitoso\n";
echo " empresaId obtenido: $actualEmpresaId\n";
echo " empresaId esperado: {$test['expectedEmpresaId']}\n";
echo " loginKey: $loginKey\n";
// Verificar base de datos correspondiente
$config = SystemConfig::getEmpresaDatabaseConfig($actualEmpresaId);
echo " Base de datos: {$config['database']}\n";
if ($actualEmpresaId == $test['expectedEmpresaId']) {
echo "✅ CORRECTO: empresaId coincide\n";
} else {
echo "❌ ERROR: empresaId no coincide\n";
}
// Limpiar sesión para siguiente test
unset($_SESSION['loginKey']);
unset($_SESSION['empresaId']);
} else {
echo "❌ Login fallido\n";
echo " Revisar credenciales o disponibilidad del usuario\n";
}
echo str_repeat("-", 50) . "\n";
}
echo "=== FIN DEL TEST ===\n";
?>