diff --git a/server/__tests__/folders.test.js b/server/__tests__/folders.test.js index a6c1bf2..9476d15 100644 --- a/server/__tests__/folders.test.js +++ b/server/__tests__/folders.test.js @@ -68,7 +68,7 @@ describe('Folders', () => { it('should copy a folder and return the new folder ID', async () => { const folderId = '60c72b2f9b1d8b3a4c8e4d3b'; const userId = '12345'; - const newFolderId = new ObjectId(); + const newFolderId = ObjectId.createFromTime(); // Mock some quizzes that are in folder.content const sourceFolder = { title: 'Test Folder', @@ -88,7 +88,7 @@ describe('Folders', () => { // expect(db.connect).toHaveBeenCalled(); // expect(db.collection).toHaveBeenCalledWith('folders'); - // expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + // expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); // expect(collection.insertOne).toHaveBeenCalledWith(expect.objectContaining({ userId })); expect(result).toBe(newFolderId); }); @@ -106,7 +106,7 @@ describe('Folders', () => { // expect(db.connect).toHaveBeenCalled(); // expect(db.collection).toHaveBeenCalledWith('folders'); - // expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + // expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); }); }); @@ -115,7 +115,7 @@ describe('Folders', () => { it('should return a folder with content', async () => { const folderId = '60c72b2f9b1d8b3a4c8e4d3b'; const folder = { - _id: new ObjectId(folderId), + _id: ObjectId.createFromTime(folderId), title: 'Test Folder', }; const content = { @@ -134,7 +134,7 @@ describe('Folders', () => { // expect(db.connect).toHaveBeenCalled(); // expect(db.collection).toHaveBeenCalledWith('folders'); - // expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + // expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); expect(result).toEqual({ ...folder, content: content @@ -156,7 +156,7 @@ describe('Folders', () => { // expect(db.connect).toHaveBeenCalled(); // expect(db.collection).toHaveBeenCalledWith('folders'); - // expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + // expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); }); }); @@ -200,7 +200,7 @@ describe('Folders', () => { it('should return a folder by ID', async () => { const folderId = '60c72b2f9b1d8b3a4c8e4d3b'; const folder = { - _id: new ObjectId(folderId), + _id: ObjectId.createFromTime(folderId), title: 'Test Folder', }; @@ -211,7 +211,7 @@ describe('Folders', () => { expect(db.connect).toHaveBeenCalled(); expect(db.collection).toHaveBeenCalledWith('folders'); - expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); expect(result).toEqual(folder); }); @@ -225,7 +225,7 @@ describe('Folders', () => { expect(db.connect).toHaveBeenCalled(); expect(db.collection).toHaveBeenCalledWith('folders'); - expect(collection.findOne).toHaveBeenCalledWith({ _id: new ObjectId(folderId) }); + expect(collection.findOne).toHaveBeenCalledWith({ _id: ObjectId.createFromTime(folderId) }); }); }); }); diff --git a/server/__tests__/users.test.js b/server/__tests__/users.test.js index 280f30a..99e50dc 100644 --- a/server/__tests__/users.test.js +++ b/server/__tests__/users.test.js @@ -21,7 +21,7 @@ describe('Users', () => { getConnection: jest.fn().mockReturnThis(), // Add getConnection method collection: jest.fn().mockReturnThis(), findOne: jest.fn(), - insertOne: jest.fn().mockResolvedValue({ insertedId: new ObjectId() }), // Mock insertOne to return an ObjectId + insertOne: jest.fn().mockResolvedValue({ insertedId: ObjectId.createFromTime() }), // Mock insertOne to return an ObjectId updateOne: jest.fn(), deleteOne: jest.fn(), }; @@ -31,7 +31,7 @@ describe('Users', () => { it('should register a new user', async () => { db.collection().findOne.mockResolvedValue(null); // No user found - db.collection().insertOne.mockResolvedValue({ insertedId: new ObjectId() }); + db.collection().insertOne.mockResolvedValue({ insertedId: ObjectId.createFromTime() }); bcrypt.hash.mockResolvedValue('hashedPassword'); Folders.create.mockResolvedValue(true); diff --git a/server/controllers/folders.js b/server/controllers/folders.js index 7bcf8fb..c51451c 100644 --- a/server/controllers/folders.js +++ b/server/controllers/folders.js @@ -1,7 +1,4 @@ //controller -const model = require('../models/folders.js'); -const db = require('../config/db.js'); - const AppError = require('../middleware/AppError.js'); const { MISSING_REQUIRED_PARAMETER, NOT_IMPLEMENTED, FOLDER_NOT_FOUND, FOLDER_ALREADY_EXISTS, GETTING_FOLDER_ERROR, DELETE_FOLDER_ERROR, UPDATE_FOLDER_ERROR, MOVING_FOLDER_ERROR, DUPLICATE_FOLDER_ERROR, COPY_FOLDER_ERROR } = require('../constants/errorCodes'); @@ -9,8 +6,6 @@ const { MISSING_REQUIRED_PARAMETER, NOT_IMPLEMENTED, FOLDER_NOT_FOUND, FOLDER_AL class FoldersController { constructor(foldersModel) { - console.log("FoldersController constructor: db", db) - this.db = db; this.folders = foldersModel; // this.quizzes = quizModel; console.log("FoldersController constructor: folders", this.folders); diff --git a/server/controllers/quiz.js b/server/controllers/quiz.js index 3d4199f..7d925ed 100644 --- a/server/controllers/quiz.js +++ b/server/controllers/quiz.js @@ -181,7 +181,7 @@ class QuizController { // try { // //Trouver le quiz a dupliquer // const conn = db.getConnection(); - // const quiztoduplicate = await conn.collection('quiz').findOne({ _id: new ObjectId(quizId) }); + // const quiztoduplicate = await conn.collection('quiz').findOne({ _id: ObjectId.createFromTime(quizId) }); // if (!quiztoduplicate) { // throw new Error("Quiz non trouvé"); // } @@ -189,7 +189,7 @@ class QuizController { // //Suppression du id du quiz pour ne pas le répliquer // delete quiztoduplicate._id; // //Ajout du duplicata - // await conn.collection('quiz').insertOne({ ...quiztoduplicate, userId: new ObjectId(newUserId) }); + // await conn.collection('quiz').insertOne({ ...quiztoduplicate, userId: ObjectId.createFromTime(newUserId) }); // res.json(Response.ok("Dossier dupliqué avec succès pour un autre utilisateur")); // } catch (error) { diff --git a/server/models/folders.js b/server/models/folders.js index 1ef5f00..904db64 100644 --- a/server/models/folders.js +++ b/server/models/folders.js @@ -45,7 +45,7 @@ class Folders { const foldersCollection = conn.collection('folders'); - const folder = await foldersCollection.findOne({ _id: new ObjectId(folderId) }); + const folder = await foldersCollection.findOne({ _id: ObjectId.createFromTime(folderId) }); return folder.userId; } @@ -67,7 +67,7 @@ class Folders { const foldersCollection = conn.collection('folders'); - const folderResult = await foldersCollection.deleteOne({ _id: new ObjectId(folderId) }); + const folderResult = await foldersCollection.deleteOne({ _id: ObjectId.createFromTime(folderId) }); if (folderResult.deletedCount != 1) return false; await this.quizModel.deleteQuizzesByFolderId(folderId); @@ -81,7 +81,7 @@ class Folders { const foldersCollection = conn.collection('folders'); - const result = await foldersCollection.updateOne({ _id: new ObjectId(folderId) }, { $set: { title: newTitle } }) + const result = await foldersCollection.updateOne({ _id: ObjectId.createFromTime(folderId) }, { $set: { title: newTitle } }) if (result.modifiedCount != 1) return false; @@ -151,7 +151,7 @@ class Folders { const foldersCollection = conn.collection('folders'); - const folder = await foldersCollection.findOne({ _id: new ObjectId(folderId) }); + const folder = await foldersCollection.findOne({ _id: ObjectId.createFromTime(folderId) }); if (!folder) return new Error(`Folder ${folderId} not found`); diff --git a/server/models/images.js b/server/models/images.js index d427f7a..b341717 100644 --- a/server/models/images.js +++ b/server/models/images.js @@ -32,7 +32,7 @@ class Images { const imagesCollection = conn.collection('images'); - const result = await imagesCollection.findOne({ _id: new ObjectId(id) }); + const result = await imagesCollection.findOne({ _id: ObjectId.createFromTime(id) }); if (!result) return null; diff --git a/server/models/quiz.js b/server/models/quiz.js index 097c22c..8b4c930 100644 --- a/server/models/quiz.js +++ b/server/models/quiz.js @@ -37,7 +37,7 @@ class Quiz { const quizCollection = conn.collection('files'); - const quiz = await quizCollection.findOne({ _id: new ObjectId(quizId) }); + const quiz = await quizCollection.findOne({ _id: ObjectId.createFromTime(quizId) }); return quiz.userId; } @@ -48,7 +48,7 @@ class Quiz { const quizCollection = conn.collection('files'); - const quiz = await quizCollection.findOne({ _id: new ObjectId(quizId) }); + const quiz = await quizCollection.findOne({ _id: ObjectId.createFromTime(quizId) }); return quiz; } @@ -59,7 +59,7 @@ class Quiz { const quizCollection = conn.collection('files'); - const result = await quizCollection.deleteOne({ _id: new ObjectId(quizId) }); + const result = await quizCollection.deleteOne({ _id: ObjectId.createFromTime(quizId) }); if (result.deletedCount != 1) return false; @@ -81,7 +81,7 @@ class Quiz { const quizCollection = conn.collection('files'); - const result = await quizCollection.updateOne({ _id: new ObjectId(quizId) }, { $set: { title: newTitle, content: newContent } }); + const result = await quizCollection.updateOne({ _id: ObjectId.createFromTime(quizId) }, { $set: { title: newTitle, content: newContent } }); //Ne fonctionne pas si rien n'est chngé dans le quiz //if (result.modifiedCount != 1) return false; @@ -94,7 +94,7 @@ class Quiz { const quizCollection = conn.collection('files'); - const result = await quizCollection.updateOne({ _id: new ObjectId(quizId) }, { $set: { folderId: newFolderId } }); + const result = await quizCollection.updateOne({ _id: ObjectId.createFromTime(quizId) }, { $set: { folderId: newFolderId } }); if (result.modifiedCount != 1) return false;