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