Thin MongoDB ODM built for Standard Schema
mongodb
zod
deno
1import { assert, assertExists } from "@std/assert";
2import { ObjectId } from "mongodb";
3import {
4 cleanupCollection,
5 createUserModel,
6 setupTestDb,
7 teardownTestDb,
8 type UserInsert,
9 type userSchema,
10} from "./utils.ts";
11import type { Model } from "../mod.ts";
12
13let UserModel: Model<typeof userSchema>;
14
15Deno.test.beforeAll(async () => {
16 await setupTestDb();
17 UserModel = createUserModel("users_features");
18});
19
20Deno.test.beforeEach(async () => {
21 await cleanupCollection(UserModel);
22});
23
24Deno.test.afterAll(async () => {
25 await teardownTestDb();
26});
27
28Deno.test({
29 name: "Features: Default Values - should handle default createdAt",
30 async fn() {
31 const newUser: UserInsert = {
32 name: "Default Test User",
33 email: "default@example.com",
34 // No createdAt provided - should use default
35 };
36
37 const insertResult = await UserModel.insertOne(newUser);
38 assertExists(insertResult.insertedId);
39
40 const foundUser = await UserModel.findOne({
41 _id: new ObjectId(insertResult.insertedId),
42 });
43
44 assertExists(foundUser);
45 assertExists(foundUser.createdAt);
46 assert(foundUser.createdAt instanceof Date);
47 },
48 sanitizeResources: false,
49 sanitizeOps: false,
50});