Files

63 lines
2.5 KiB
JavaScript

'use strict';
const { describe, it } = require('node:test');
const assert = require('node:assert/strict');
const Class = require('./classModel');
const Session = require('../sessions/sessionModel');
const PendingStudent = require('../pendingStudents/pendingStudentModel');
const Payment = require('../payments/paymentModel');
describe('Soft delete schema configuration', () => {
it('has isDeleted and deletedAt in Class schema', () => {
const isDeletedPath = Class.schema.path('isDeleted');
const deletedAtPath = Class.schema.path('deletedAt');
assert.ok(isDeletedPath, 'Class schema should have isDeleted path');
assert.equal(isDeletedPath.instance, 'Boolean');
assert.equal(isDeletedPath.defaultValue, false);
assert.ok(deletedAtPath, 'Class schema should have deletedAt path');
assert.equal(deletedAtPath.instance, 'Date');
assert.equal(deletedAtPath.defaultValue, null);
});
it('has isDeleted and deletedAt in Session schema', () => {
const isDeletedPath = Session.schema.path('isDeleted');
const deletedAtPath = Session.schema.path('deletedAt');
assert.ok(isDeletedPath, 'Session schema should have isDeleted path');
assert.equal(isDeletedPath.instance, 'Boolean');
assert.equal(isDeletedPath.defaultValue, false);
assert.ok(deletedAtPath, 'Session schema should have deletedAt path');
assert.equal(deletedAtPath.instance, 'Date');
assert.equal(deletedAtPath.defaultValue, null);
});
it('has isDeleted and deletedAt in PendingStudent schema', () => {
const isDeletedPath = PendingStudent.schema.path('isDeleted');
const deletedAtPath = PendingStudent.schema.path('deletedAt');
assert.ok(isDeletedPath, 'PendingStudent schema should have isDeleted path');
assert.equal(isDeletedPath.instance, 'Boolean');
assert.equal(isDeletedPath.defaultValue, false);
assert.ok(deletedAtPath, 'PendingStudent schema should have deletedAt path');
assert.equal(deletedAtPath.instance, 'Date');
assert.equal(deletedAtPath.defaultValue, null);
});
it('has isDeleted and deletedAt in Payment schema', () => {
const isDeletedPath = Payment.schema.path('isDeleted');
const deletedAtPath = Payment.schema.path('deletedAt');
assert.ok(isDeletedPath, 'Payment schema should have isDeleted path');
assert.equal(isDeletedPath.instance, 'Boolean');
assert.equal(isDeletedPath.defaultValue, false);
assert.ok(deletedAtPath, 'Payment schema should have deletedAt path');
assert.equal(deletedAtPath.instance, 'Date');
assert.equal(deletedAtPath.defaultValue, null);
});
});