From ba2743f0f690222e544e26f6649da2d814b18e89 Mon Sep 17 00:00:00 2001
From: Brodie <2915903s@student.gla.ac.uk>
Date: Mon, 10 Mar 2025 15:46:13 +0000
Subject: [PATCH] adding tests :)

---
 tests/DatabaseTests.py | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 tests/DatabaseTests.py

diff --git a/tests/DatabaseTests.py b/tests/DatabaseTests.py
new file mode 100644
index 0000000..f2e847f
--- /dev/null
+++ b/tests/DatabaseTests.py
@@ -0,0 +1,54 @@
+import pytest
+from mongo import add_data, delete_data
+from pymongo import MongoClient
+
+@pytest.fixture(scope="function")
+def mongo_client():
+
+    try:
+        client = MongoClient("mongodb+srv://team_usr:Password1@apse-flashcards.gkuxb.mongodb.net/APSE-FlashCards?retryWrites=true&w=majority&appName=APSE-FlashCards")  # Adjust connection URI if needed
+        db = client.get_database()
+        collection = db['APSE-FlashCards']
+        print("Connected to MongoDB for testing :)")
+        #collection.delete_many({})
+
+        yield collection
+
+        #collection.delete_many({})
+        client.close()
+
+    except ConnectionError:
+        print("Failed to connect to MongoDB for testing :(")
+
+
+def test_add_data(mongo_client):
+
+    add_data({
+            "username": "the rizzler",
+            "password": "rizzlerpassword",
+            "email": "test@test.com"
+            })
+
+    retreivedUser = mongo_client.find_one({"username": "the rizzler"})
+    assert retreivedUser is not None
+    assert retreivedUser["password"] == "rizzlerpassword"
+
+def test_delete_data(mongo_client):
+
+    add_data({
+        "username": "Tim Cheese",
+        "password": "i killed john pork",
+        "email": "test@test.com"
+    })
+
+    retreivedUser = mongo_client.find_one({"username": "Tim Cheese"})
+    assert retreivedUser is not None
+
+    delete_data({"username": "Tim Cheese"})
+    deletedUser = mongo_client.find_one({"username": "Tim Cheese"})
+    assert deletedUser is None
+
+
+
+
+
-- 
GitLab