geofind-contract-generator
Version:
Sistema profesional de generación de contratos de arrendamiento y envío de correos
221 lines (195 loc) • 11.2 kB
JavaScript
// const EmailSender = require('./src/emailSender');
// const ContractGenerator = require('./src/contractGenerator');
// const path = require('path');
// (async () => {
// try {
// console.log("🚀 INICIANDO TEST DE APROBACIÓN CON CONTRATO ADJUNTO\n");
// const emailSender = new EmailSender();
// const contractGenerator = new ContractGenerator();
// const clientData = {
// nombre: "Juan Pérez García",
// edad: "30",
// gmail: "juan.perez@email.com",
// numero_telefonico: "555-123-4567",
// direccion: "Calle Principal 123, Ciudad de México",
// curp: "PEGJ800101HDFRRR01",
// // reference_number: "CTO-2024-001"
// };
// const propertyData = {
// property_address: "Avenida Reforma 456, Polanco, CDMX",
// property_type: "Departamento",
// rental_period: "12 meses",
// monthly_rent: "15000",
// deposit_amount: "15000",
// arrendador_nombre: "María González López",
// bankDetails: {
// bank_name: "BBVA Bancomer",
// account_number: "4152 3136 5275 1234",
// account_holder: "GeoFind Rentas S.A. de C.V.",
// clabe: "012180001234567890",
// rfc: "GFR240101ABC"
// },
// clausulas: [
// "1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
// "2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
// "3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
// "4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
// "5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes.",
// "1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
// "2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
// "3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
// "4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
// "5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes.",
// "1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
// "2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
// "3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
// "4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
// "5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes."
// ]
// };
// console.log("📄 Generando contrato...");
// const contractPath = await contractGenerator.generateRentalContract(clientData, propertyData);
// console.log(`✅ Contrato generado: ${contractPath}`);
// const recipientEmail = "31loredo@gmail.com";
// const clientName = "Juan Pérez García";
// const contractDetails = {
// property_name: "Departamento de Lujo en Polanco",
// property_address: "Avenida Reforma 456, Polanco, CDMX",
// period: "12 meses (Nov 2024 - Oct 2025)",
// price: "15000",
// contract_number: "CTO-2024-001"
// };
// const bankDetails = {
// bank_name: "BBVA Bancomer",
// account_number: "4152 3136 5275 1234",
// account_holder: "GeoFind Rentas S.A. de C.V.",
// clabe: "012180001234567890"
// };
// console.log("\n📧 Enviando correo de aprobación con contrato adjunto...");
// console.log(`📍 Destinatario: ${recipientEmail}`);
// console.log(`📎 Contrato a adjuntar: ${path.basename(contractPath)}`);
// const [success, info] = await emailSender.sendAcceptanceEmail(
// recipientEmail,
// clientName,
// contractDetails,
// bankDetails,
// contractPath
// );
// console.log("\n" + "=".repeat(60));
// if (success) {
// console.log("🎉 TEST DE APROBACIÓN EXITOSO");
// console.log(`✅ ${info}`);
// console.log(`📧 Correo enviado a: ${recipientEmail}`);
// console.log(`📎 Contrato adjuntado: Sí`);
// console.log(`🏦 Datos bancarios incluidos: Sí`);
// console.log(`📄 Sección bancaria en contrato: Sí`);
// } else {
// console.log("❌ TEST DE APROBACIÓN FALLIDO");
// console.log(`❌ ${info}`);
// }
// console.log("=".repeat(60));
// } catch (err) {
// console.error("\n💥 ERROR EN TEST DE APROBACIÓN:");
// console.error(err.message);
// console.error(err.stack);
// }
// })();
const EmailSender = require('./src/emailSender');
const ContractGenerator = require('./src/contractGenerator');
const path = require('path');
(async () => {
try {
console.log("🚀 INICIANDO TEST DE APROBACIÓN CON CONTRATO ADJUNTO\n");
const emailSender = new EmailSender();
const contractGenerator = new ContractGenerator();
const clientData = {
nombre: "Juan Pérez García",
edad: "30",
gmail: "juan.perez@email.com",
numero_telefonico: "555-123-4567",
direccion: "Calle Principal 123, Ciudad de México",
curp: "PEGJ800101HDFRRR01",
// reference_number: "CTO-2024-001"
};
const propertyData = {
property_address: "Avenida Reforma 456, Polanco, CDMX",
property_type: "Departamento",
rental_period: "12 meses",
monthly_rent: "15000",
deposit_amount: "15000",
arrendador_nombre: "María González López",
bankDetails: {
bank_name: "BBVA Bancomer",
account_number: "4152 3136 5275 1234",
account_holder: "GeoFind Rentas S.A. de C.V.",
clabe: "012180001234567890",
rfc: "GFR240101ABC"
},
clausulas: [
"1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
"2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
"3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
"4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
"5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes.",
"1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
"2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
"3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
"4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
"5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes.",
"1. DURACIÓN: El presente contrato tendrá una vigencia de 12 meses renovables automáticamente.",
"2. RENTA: El pago mensual deberá realizarse antes del día 5 de cada mes mediante transferencia bancaria a la cuenta indicada en la sección de información bancaria.",
"3. DEPÓSITO: El depósito en garantía será equivalente a una mensualidad de renta.",
"4. MANTENIMIENTO: El arrendatario mantendrá la propiedad en óptimas condiciones.",
"5. SERVICIOS: Incluye servicios de agua y mantenimiento de áreas comunes."
]
};
console.log("📄 Generando contrato...");
const contractPath = await contractGenerator.generateRentalContract(clientData, propertyData);
console.log(`✅ Contrato generado: ${contractPath}`);
const recipientEmail = "31loredo@gmail.com";
const clientName = "Juan Pérez García";
const contractDetails = {
property_name: "Departamento de Lujo en Polanco",
property_address: "Avenida Reforma 456, Polanco, CDMX",
map_property: "https://maps.app.goo.gl/yb9XooritqWpmYBx8",
period: "12 meses (Nov 2024 - Oct 2025)",
price: "15000",
contract_number: "CTO-2024-001"
};
const bankDetails = {
bank_name: "BBVA Bancomer",
account_number: "4152 3136 5275 1234",
account_holder: "GeoFind Rentas S.A. de C.V.",
clabe: "012180001234567890"
};
console.log("\n📧 Enviando correo de aprobación con contrato adjunto...");
console.log(`📍 Destinatario: ${recipientEmail}`);
console.log(`📎 Contrato a adjuntar: ${path.basename(contractPath)}`);
console.log(`🗺️ URL de Google Maps: ${contractDetails.map_property}`);
const [success, info] = await emailSender.sendAcceptanceEmail(
recipientEmail,
clientName,
contractDetails,
bankDetails,
contractPath
);
console.log("\n" + "=".repeat(60));
if (success) {
console.log("🎉 TEST DE APROBACIÓN EXITOSO");
console.log(`✅ ${info}`);
console.log(`📧 Correo enviado a: ${recipientEmail}`);
console.log(`📎 Contrato adjuntado: Sí`);
console.log(`🏦 Datos bancarios incluidos: Sí`);
console.log(`🗺️ URL Google Maps incluida: Sí`);
console.log(`📄 Sección bancaria en contrato: Sí`);
} else {
console.log("❌ TEST DE APROBACIÓN FALLIDO");
console.log(`❌ ${info}`);
}
console.log("=".repeat(60));
} catch (err) {
console.error("\n💥 ERROR EN TEST DE APROBACIÓN:");
console.error(err.message);
console.error(err.stack);
}
})();