[Unit Testing] Test Mongoose model
model test Testing unit mongoose
2023-09-14 09:00:45 时间
Model:
import mongoose from 'mongoose'
const itemSchema = new mongoose.Schema(
{
name: {
type: String,
required: true,
trim: true,
maxlength: 50
},
status: {
type: String,
required: true,
enum: ['active', 'complete', 'pastdue'],
default: 'active'
},
notes: String,
due: Date,
createdBy: {
type: mongoose.SchemaTypes.ObjectId,
ref: 'user',
required: true
},
list: {
type: mongoose.SchemaTypes.ObjectId,
ref: 'list',
required: true
}
},
{ timestamps: true }
)
// 1: means sorting order
// order matters, list first, then name
itemSchema.index({ list: 1, name: 1 }, { unique: true })
export const Item = mongoose.model('item', itemSchema)
Test:
import { Item } from '../item.model'
import mongoose from 'mongoose'
describe('Item model', () => {
describe('schema', () => {
test('name', () => {
const name = Item.schema.obj.name
expect(name).toEqual({
type: String,
required: true,
trim: true,
maxlength: 50
})
})
test('status', () => {
const status = Item.schema.obj.status
expect(status).toEqual({
type: String,
required: true,
enum: ['active', 'complete', 'pastdue'],
default: 'active'
})
})
test('notes', () => {
const notes = Item.schema.obj.notes
expect(notes).toEqual(String)
})
test('due', () => {
const due = Item.schema.obj.due
expect(due).toEqual(Date)
})
test('createdBy', () => {
const createdBy = Item.schema.obj.createdBy
expect(createdBy).toEqual({
type: mongoose.SchemaTypes.ObjectId,
ref: 'user',
required: true
})
})
test('list', () => {
const list = Item.schema.obj.list
expect(list).toEqual({
type: mongoose.SchemaTypes.ObjectId,
ref: 'list',
required: true
})
})
})
})
相关文章
- shuffle model_什么是did模型
- Vue3中多个v-model绑定
- RNN & language model笔记
- GLM: General Language Model Pretraining with Autoregressive Blank Infilling
- ORA-32606: missing NAV keyword in MODEL clause ORACLE 报错 故障修复 远程处理
- ORA-40293: input class is invalid for the specified predictive model ORACLE 报错 故障修复 远程处理
- ORA-55300: model string does not exist ORACLE 报错 故障修复 远程处理
- ORA-64102: Cannot create an XMLIndex with a structured component on a CLOB column within the object-relational storage model. ORACLE 报错 故障修复 远程处理
- FunDA(10)- 用户功能函数模式:User Function Model详解编程语言
- Oracle 视图 ALL_MINING_MODEL_PARTITIONS 官方解释,作用,如何使用详细说明
- Oracle 视图 DBA_HIST_CON_SYS_TIME_MODEL 官方解释,作用,如何使用详细说明
- 特斯拉:Model S跑20万英里后 电池衰减量仅为10%
- 蔚来、比亚迪劲敌!续航最长的Model Y现身 超640公里
- 蔚来、比亚迪劲敌 续航最长的Model Y现身 超640公里
- IBM PC四十周年纪念:Model 5150掀起了微机浪潮