From 73e08ed0fbe609e2eb23a49ebb1e957bc883a855 Mon Sep 17 00:00:00 2001 From: RouvenReuter91 <rouven.reuter@viscopic.de> Date: Sat, 12 Sep 2020 18:44:55 +0200 Subject: [PATCH] Added DB-Test --- app/server/src/models/Todos.test.js | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 app/server/src/models/Todos.test.js diff --git a/app/server/src/models/Todos.test.js b/app/server/src/models/Todos.test.js new file mode 100644 index 0000000..f354aa6 --- /dev/null +++ b/app/server/src/models/Todos.test.js @@ -0,0 +1,47 @@ +const dbClientInstance_ = require( '../db/mongo.js' ); +const { model: Todos } = require( './Todos.js' ); +const mongoose = require('mongoose'); + + +describe( 'Todos: Todos', ()=>{ + beforeAll( async ()=>{ + try{ + await dbClientInstance_; + }catch( err ){ + console.warn("Error") + console.error( new Error( `Cannot connect to database: ${ process.env.MONGODB_URL }` ) ); + process.exit( 1 ); + } + }); + + + test( 'creating a todo', async ()=>{ + + console.debug("Creating Todo") + + const todoData = { + title: 'Homework', + description: 'Devops project 2020', + user: mongoose.Types.ObjectId() + }; + + console.warn("Done") + const todoDoc = await Todos( todoData ); + await todoDoc.save(); + console.warn("todo Record") + const todoRecord = await Todos.findOne({ user: todoData.user }); + console.warn("PW") + const { description, ...todoInfo } = todoData; + + expect( todoRecord ).toEqual( expect.objectContaining( todoInfo ) ); + }); + + + afterAll( async ()=>{ + console.warn("PW2") + const dbClient = await dbClientInstance_; + const { connection } = dbClient; + await connection.dropDatabase(); + await dbClient.disconnect(); + }); +}); \ No newline at end of file -- GitLab