import mongoose, { Document, Schema, Types } from 'mongoose';

export interface IPsychometricTestDocument extends Document {
  title: string;
  description: string | null;
  statements: Types.ObjectId[];
  status: 'draft' | 'active' | 'inactive';
  createdAt: Date;
  updatedAt: Date;
}

const psychometricTestSchema = new Schema<IPsychometricTestDocument>(
  {
    title: { type: String, required: true, unique: true, trim: true },
    description: { type: String, trim: true, default: null },
    statements: [{ type: Schema.Types.ObjectId, ref: 'PsychometricStatement' }],
    status: { type: String, enum: ['draft', 'active', 'inactive'], default: 'draft' },
  },
  { timestamps: true },
);

export default mongoose.model<IPsychometricTestDocument>('PsychometricTest', psychometricTestSchema);
