phase 1-6 implemented

This commit is contained in:
dimitar committed 2026-03-10 04:14:03 +01:00
1 parent 22c274bb83
commit 2c4927478a
73 files changed
+9702 -2354

No files matched your search

+68 -71
View File
@@ -1,82 +1,79 @@
import { getDatabase } from '../src/lib/database/index';
import { getDatabase } from "../src/lib/database/index";
async function verifyDatabase() {
console.log('Starting database verification...');
const db = await getDatabase();
await db.connect();
console.log("Starting database verification...");
const db = await getDatabase();
await db.connect();
try {
// 1. Create User
console.log('Creating test user...');
const userId = `test-user-${Date.now()}`;
const user = await db.createUser({
id: userId,
email: `test-${Date.now()}@example.com`,
firstName: 'Test',
lastName: 'User',
password: 'password123',
role: 'client',
phone: '1234567890'
});
console.log('User created:', user.id);
try {
// 1. Create User
console.log("Creating test user...");
const userId = `test-user-${Date.now()}`;
const user = await db.createUser({
id: userId,
email: `test-${Date.now()}@example.com`,
firstName: "Test",
lastName: "User",
password: "password123",
role: "client",
phone: "1234567890",
});
console.log("User created:", user.id);
// 2. Create Client
console.log('Creating test client...');
const client = await db.createClient({
userId: user.id,
membershipType: 'basic',
membershipStatus: 'active',
joinDate: new Date()
});
console.log('Client created:', client.id);
// 2. Create Client
console.log("Creating test client...");
const client = await db.createClient({
userId: user.id,
membershipType: "basic",
membershipStatus: "active",
joinDate: new Date(),
});
console.log("Client created:", client.id);
// 3. Create Fitness Profile
console.log('Creating fitness profile...');
const profile = await db.createFitnessProfile({
id: 'test-profile-id',
userId: user.id,
height: '180',
weight: '75',
age: '30',
gender: 'male',
activityLevel: 'moderately_active',
fitnessGoals: ['weight_loss'],
exerciseHabits: 'None',
dietHabits: 'None',
medicalConditions: 'None'
});
console.log('Fitness profile created for:', profile.userId);
// 3. Create Fitness Profile
console.log("Creating fitness profile...");
const profile = await db.createFitnessProfile({
id: "test-profile-id",
userId: user.id,
height: 180,
weight: 75,
age: 30,
gender: "male",
activityLevel: "moderately_active",
fitnessGoals: ["weight_loss"],
medicalConditions: "None",
});
console.log("Fitness profile created for:", profile.userId);
// 4. Attendance Check-in
console.log('Checking in...');
const checkIn = await db.checkIn(user.id, 'gym', 'Test check-in');
console.log('Checked in:', checkIn.id);
// 4. Attendance Check-in
console.log("Checking in...");
const checkIn = await db.checkIn(user.id, "gym", "Test check-in");
console.log("Checked in:", checkIn.id);
// 5. Verify Active Check-in
const activeCheckIn = await db.getActiveCheckIn(user.id);
if (!activeCheckIn || activeCheckIn.id !== checkIn.id) {
throw new Error('Active check-in verification failed');
}
console.log('Active check-in verified');
// 6. Attendance Check-out
console.log('Checking out...');
const checkOut = await db.checkOut(checkIn.id);
console.log('Checked out:', checkOut?.checkOutTime);
// 7. Cleanup
console.log('Cleaning up...');
await db.deleteUser(user.id);
console.log('Cleanup complete');
console.log('✅ Verification successful!');
} catch (error) {
console.error('❌ Verification failed:', error);
process.exit(1);
} finally {
await db.disconnect();
// 5. Verify Active Check-in
const activeCheckIn = await db.getActiveCheckIn(user.id);
if (!activeCheckIn || activeCheckIn.id !== checkIn.id) {
throw new Error("Active check-in verification failed");
}
console.log("Active check-in verified");
// 6. Attendance Check-out
console.log("Checking out...");
const checkOut = await db.checkOut(checkIn.id);
console.log("Checked out:", checkOut?.checkOutTime);
// 7. Cleanup
console.log("Cleaning up...");
await db.deleteUser(user.id);
console.log("Cleanup complete");
console.log("✅ Verification successful!");
} catch (error) {
console.error("❌ Verification failed:", error);
process.exit(1);
} finally {
await db.disconnect();
}
}
verifyDatabase();