Setup initial project
This commit is contained in:
commit
db79af06f7
119 changed files with 20761 additions and 0 deletions
46
packages/api/src/plugins/mongoose.plugin.test.ts
Normal file
46
packages/api/src/plugins/mongoose.plugin.test.ts
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import Fastify from 'fastify';
|
||||
|
||||
// Mock mongoose and awilix before importing the plugin
|
||||
vi.mock('mongoose', () => ({
|
||||
default: {
|
||||
connect: vi.fn().mockResolvedValue(undefined),
|
||||
disconnect: vi.fn().mockResolvedValue(undefined),
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock('@fastify/awilix', () => ({
|
||||
diContainer: {
|
||||
register: vi.fn(),
|
||||
},
|
||||
}));
|
||||
|
||||
import mongoosePlugin from './mongoose.plugin.js';
|
||||
import mongoose from 'mongoose';
|
||||
import { diContainer } from '@fastify/awilix';
|
||||
|
||||
describe('mongoose.plugin', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
it('connects to MongoDB on registration', async () => {
|
||||
const app = Fastify({ logger: false });
|
||||
await app.register(mongoosePlugin);
|
||||
await app.ready();
|
||||
|
||||
expect(mongoose.connect).toHaveBeenCalled();
|
||||
expect(diContainer.register).toHaveBeenCalled();
|
||||
|
||||
await app.close();
|
||||
});
|
||||
|
||||
it('disconnects from MongoDB on close', async () => {
|
||||
const app = Fastify({ logger: false });
|
||||
await app.register(mongoosePlugin);
|
||||
await app.ready();
|
||||
await app.close();
|
||||
|
||||
expect(mongoose.disconnect).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue