All files / Backend/scripts seed.js

0% Statements 0/17
0% Branches 0/2
0% Functions 0/1
0% Lines 0/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72                                                                                                                                               
// Seed script for CampVerse backend
const mongoose = require('mongoose');
const User = require('../Models/User');
const Event = require('../Models/Event');
const Institution = require('../Models/Institution');
require('dotenv').config();
 
async function seed() {
  await mongoose.connect(process.env.MONGO_URI || 'mongodb://localhost:27017/campverse');
  // Clear collections
  await User.deleteMany({});
  await Event.deleteMany({});
  await Institution.deleteMany({});
 
  // Create institution
  const institution = await Institution.create({
    name: 'Test University',
    type: 'university',
    emailDomain: 'test.edu.in',
    isVerified: true,
    isTemporary: false,
    location: { city: 'Test City', state: 'Test State', country: 'Testland' }
  });
 
  // Create users
  const admin = await User.create({
    name: 'Admin',
    email: 'admin@test.edu.in',
    phone: '1111111111',
    passwordHash: 'test',
    roles: ['platformAdmin'],
    institutionId: institution._id,
    isVerified: true
  });
  const host = await User.create({
    name: 'Host',
    email: 'host@test.edu.in',
    phone: '2222222222',
    passwordHash: 'test',
    roles: ['host'],
    institutionId: institution._id,
    isVerified: true
  });
  const student = await User.create({
    name: 'Student',
    email: 'student@test.edu.in',
    phone: '3333333333',
    passwordHash: 'test',
    roles: ['student'],
    institutionId: institution._id,
    isVerified: true
  });
 
  // Create event
  const event = await Event.create({
    title: 'Test Event',
    description: 'A test event',
    tags: ['workshop'],
    type: 'workshop',
    organizer: 'Test Club',
    schedule: { start: new Date(), end: new Date(Date.now() + 2 * 60 * 60 * 1000) },
    hostUserId: host._id,
    institutionId: institution._id,
    capacity: 2,
    verificationStatus: 'approved'
  });
 
  console.log('Seed data created.');
  process.exit(0);
}
 
seed();