123 lines
3.6 KiB
TypeScript
123 lines
3.6 KiB
TypeScript
|
|
/**
|
||
|
|
* Test script for stepper handler
|
||
|
|
* Run with: npx ts-node test-stepper-handler.ts
|
||
|
|
*/
|
||
|
|
|
||
|
|
import { PrismaClient } from '@prisma/client';
|
||
|
|
import * as jwt from 'jsonwebtoken';
|
||
|
|
|
||
|
|
const prisma = new PrismaClient();
|
||
|
|
|
||
|
|
async function testStepperHandler() {
|
||
|
|
console.log('🧪 Testing Stepper Handler...\n');
|
||
|
|
|
||
|
|
try {
|
||
|
|
// 1. Find a host user with HostHeader data
|
||
|
|
console.log('📍 Step 1: Finding host user with HostHeader...');
|
||
|
|
const hostUser = await prisma.user.findFirst({
|
||
|
|
where: { roleXid: 4 },
|
||
|
|
include: {
|
||
|
|
HostHeader: {
|
||
|
|
select: {
|
||
|
|
id: true,
|
||
|
|
stepper: true,
|
||
|
|
hostRefNumber: true,
|
||
|
|
companyName: true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
if (!hostUser) {
|
||
|
|
console.log('❌ No host user found (roleXid=4) in database.');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!hostUser.HostHeader || hostUser.HostHeader.length === 0) {
|
||
|
|
console.log('⚠️ Host user found but no HostHeader records.');
|
||
|
|
console.log(` User ID: ${hostUser.id}, Email: ${hostUser.emailAddress}`);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
const hostHeader = hostUser.HostHeader[0];
|
||
|
|
console.log(`✅ Found host user and HostHeader\n`);
|
||
|
|
console.log(` User ID: ${hostUser.id}`);
|
||
|
|
console.log(` Email: ${hostUser.emailAddress}`);
|
||
|
|
console.log(` First Name: ${hostUser.firstName}`);
|
||
|
|
console.log(` Host ID: ${hostHeader.id}`);
|
||
|
|
console.log(` Company: ${hostHeader.companyName}`);
|
||
|
|
console.log(` Ref Number: ${hostHeader.hostRefNumber}`);
|
||
|
|
console.log(` Current Stepper: ${hostHeader.stepper}\n`);
|
||
|
|
|
||
|
|
// 2. Simulate what the handler returns
|
||
|
|
console.log('📍 Step 2: Simulating handler response...\n');
|
||
|
|
|
||
|
|
const stepDescriptions: { [key: number]: string } = {
|
||
|
|
1: 'Basic Company Information',
|
||
|
|
2: 'Company Documents & Verification',
|
||
|
|
3: 'Bank & Payment Details',
|
||
|
|
4: 'Activities Setup',
|
||
|
|
5: 'Pricing & Services',
|
||
|
|
6: 'Review & Approval',
|
||
|
|
7: 'Active & Live',
|
||
|
|
};
|
||
|
|
|
||
|
|
const stepperDescription =
|
||
|
|
stepDescriptions[hostHeader.stepper] || 'Unknown Step';
|
||
|
|
|
||
|
|
const response = {
|
||
|
|
success: true,
|
||
|
|
message: 'Stepper information retrieved successfully',
|
||
|
|
data: {
|
||
|
|
user: {
|
||
|
|
id: hostUser.id,
|
||
|
|
firstName: hostUser.firstName,
|
||
|
|
lastName: hostUser.lastName,
|
||
|
|
emailAddress: hostUser.emailAddress,
|
||
|
|
roleXid: hostUser.roleXid,
|
||
|
|
},
|
||
|
|
stepper: {
|
||
|
|
hostId: hostHeader.id,
|
||
|
|
currentStep: hostHeader.stepper,
|
||
|
|
stepperDescription: stepperDescription,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log('✅ Handler Response:\n');
|
||
|
|
console.log(JSON.stringify(response, null, 2));
|
||
|
|
|
||
|
|
// 3. Verify stepper value is numeric
|
||
|
|
console.log('\n📍 Step 3: Validation checks...\n');
|
||
|
|
|
||
|
|
if (typeof hostHeader.stepper !== 'number') {
|
||
|
|
console.log('❌ Stepper is not a number');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
console.log('✅ Stepper is numeric:', hostHeader.stepper);
|
||
|
|
|
||
|
|
if (hostHeader.stepper < 1 || hostHeader.stepper > 7) {
|
||
|
|
console.log(
|
||
|
|
'⚠️ Stepper value is out of expected range (1-7):',
|
||
|
|
hostHeader.stepper
|
||
|
|
);
|
||
|
|
} else {
|
||
|
|
console.log('✅ Stepper value in valid range (1-7)');
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!stepperDescription.includes('Unknown')) {
|
||
|
|
console.log('✅ Stepper description found:', stepperDescription);
|
||
|
|
} else {
|
||
|
|
console.log('⚠️ Unknown stepper value');
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('\n✅ Test passed! Handler is working correctly.');
|
||
|
|
} catch (error) {
|
||
|
|
console.error('❌ Test error:', error);
|
||
|
|
} finally {
|
||
|
|
await prisma.$disconnect();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
testStepperHandler();
|