62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
const Entity = require('../src/models/Entity');
|
|
const { getDb, closeDb } = require('../src/config/database');
|
|
const { migrate } = require('../src/database/migrate');
|
|
|
|
beforeAll(() => {
|
|
migrate();
|
|
});
|
|
|
|
afterAll(() => {
|
|
closeDb();
|
|
});
|
|
|
|
describe('Entity Model', () => {
|
|
let entityId;
|
|
|
|
test('应该创建实体', () => {
|
|
const entity = Entity.create({
|
|
name: '测试实体',
|
|
definition: '这是一个测试实体',
|
|
description: '测试实体的描述'
|
|
});
|
|
|
|
expect(entity).toBeDefined();
|
|
expect(entity.entity_id).toBeDefined();
|
|
expect(entity.name).toBe('测试实体');
|
|
expect(entity.definition).toBe('这是一个测试实体');
|
|
expect(entity.description).toBe('测试实体的描述');
|
|
|
|
entityId = entity.entity_id;
|
|
});
|
|
|
|
test('应该根据ID查找实体', () => {
|
|
const entity = Entity.findById(entityId);
|
|
expect(entity).toBeDefined();
|
|
expect(entity.entity_id).toBe(entityId);
|
|
expect(entity.name).toBe('测试实体');
|
|
});
|
|
|
|
test('应该更新实体', () => {
|
|
const updatedEntity = Entity.update(entityId, {
|
|
name: '更新后的实体',
|
|
description: '更新后的描述'
|
|
});
|
|
|
|
expect(updatedEntity.name).toBe('更新后的实体');
|
|
expect(updatedEntity.description).toBe('更新后的描述');
|
|
});
|
|
|
|
test('应该获取所有实体', () => {
|
|
const entities = Entity.findAll();
|
|
expect(Array.isArray(entities)).toBe(true);
|
|
expect(entities.length).toBeGreaterThan(0);
|
|
});
|
|
|
|
test('应该删除实体', () => {
|
|
const result = Entity.delete(entityId);
|
|
expect(result.changes).toBe(1);
|
|
|
|
const entity = Entity.findById(entityId);
|
|
expect(entity).toBeUndefined();
|
|
});
|
|
}); |