Files
ventas_php/test_login_dinamico_final.php
nickpons666 4b5ecdfb1a FASE 2 COMPLETADA: Login dinámico funcionando perfectamente
ÉXITOS ALCANZADOS:
 Eliminado hardcodeo empresaId = 15 en ajax/login.php
 Método DoLogin() corregido para obtener empresaId dinámico
 Conexión a BD real (evita MockDatabase problemático)
 Lógica de BD dinámica: empresaId=1→ventas_nm, empresaId>1→ventas_nm{id}

TESTS VERIFICADOS:
 admin@novomoda.com.mx → empresaId:1 → BD:ventas_nm
 sonia.velezquez@novomoda.com.mx → empresaId:15 → BD:ventas_nm15
 gerente@novomoda.com.mx → empresaId:15 → BD:ventas_nm15

CAMBIOS PRINCIPALES:
- classes/empresa.class.php: DoLogin() con DatabaseManager
- classes/system-config.class.php: Lógica BD dinámica
- ajax/login.php: Eliminado hardcodeo
- md/plan-accion-multi-empresa.md: Actualizado con éxito

PRÓXIMO: Fase 3 - Actualización de módulos restantes
2026-01-07 18:56:28 -06:00

69 lines
2.4 KiB
PHP

<?php
/**
* Test final de login con contraseñas correctas y BD real
*/
require_once 'config.php';
require_once 'classes/system-config.class.php';
require_once 'classes/database-manager.class.php';
echo "=== TEST FINAL LOGIN BD REAL ===\n\n";
// Usar directamente DatabaseManager para conexión real
$dbManager = DatabaseManager::getInstance();
$masterConnection = $dbManager->getMasterConnection();
// Usuarios con contraseñas correctas
$usuariosCorrectos = [
['email' => 'admin@novomoda.com.mx', 'password' => 'MiPo6425@@', 'expectedEmpresaId' => 1],
['email' => 'cedis@novomoda.com.mx', 'password' => 'cedis', 'expectedEmpresaId' => 1],
['email' => 'sonia.velezquez@novomoda.com.mx', 'password' => 'sonia.v', 'expectedEmpresaId' => 15],
['email' => 'gerente@novomoda.com.mx', 'password' => 'gerente', 'expectedEmpresaId' => 15],
];
foreach ($usuariosCorrectos as $user) {
echo "Probando: {$user['email']}\n";
$sql = "SELECT usuarioId, empresaId FROM usuario
WHERE email = '{$user['email']}'
AND password = '{$user['password']}'
AND baja = '0'";
$result = $masterConnection->query($sql);
if ($result && $row = $result->fetch_assoc()) {
echo "✅ Login exitoso:\n";
echo " usuarioId: {$row['usuarioId']}\n";
echo " empresaId obtenido: {$row['empresaId']}\n";
echo " empresaId esperado: {$user['expectedEmpresaId']}\n";
// Verificar base de datos que debería usar
$config = SystemConfig::getEmpresaDatabaseConfig($row['empresaId']);
echo " BD empresa: {$config['database']}\n";
if ($row['empresaId'] == $user['expectedEmpresaId']) {
echo "✅ CORRECTO: empresaId coincide\n";
} else {
echo "❌ ERROR: empresaId no coincide\n";
}
} else {
echo "❌ Login fallido\n";
}
echo str_repeat("-", 50) . "\n";
}
echo "\n=== PRUEBA DE LÓGICA DE BASE DE DATOS ===\n";
echo "Regla: empresaId=1 usa 'ventas_nm', empresaId>1 usa 'ventas_nm{id}'\n\n";
$config1 = SystemConfig::getEmpresaDatabaseConfig(1);
$config15 = SystemConfig::getEmpresaDatabaseConfig(15);
$config2 = SystemConfig::getEmpresaDatabaseConfig(2);
echo "empresaId=1 → BD: {$config1['database']}\n";
echo "empresaId=15 → BD: {$config15['database']}\n";
echo "empresaId=2 → BD: {$config2['database']}\n";
echo "\n=== FIN TEST FINAL ===\n";
?>