From abf88afe69ec756c1c1074a058fd61311181dfdb Mon Sep 17 00:00:00 2001 From: Aden Krakman Date: Wed, 16 Nov 2022 20:06:48 -0600 Subject: [PATCH] added more test coverage --- src/backend/app.py | 4 +- src/backend/database/database_test.db | Bin 36864 -> 36864 bytes src/backend/pages/userpage.py | 4 +- src/backend/tests/test_app.py | 53 +++++++++++++++++++++----- src/frontend/src/App.tsx | 2 - src/pytest-coverage.txt | 0 6 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 src/pytest-coverage.txt diff --git a/src/backend/app.py b/src/backend/app.py index b66f4ca94..3174c45ba 100644 --- a/src/backend/app.py +++ b/src/backend/app.py @@ -83,8 +83,8 @@ def userpage(): @app.route("/logout") def logout(): - session.pop("username", None) # session object is None if pop fails - return "redirect", 201 + res = session.pop("username", None) # session object is None if pop fails + return res, 201 @app.route("/", methods=["GET", "POST"]) diff --git a/src/backend/database/database_test.db b/src/backend/database/database_test.db index f7d2389c76ad16d40a7b1e9ed1c5d16bf3d1f4db..e8d81f6e5c46b5c8683c68e2486530b3fea38846 100644 GIT binary patch delta 393 zcmZozz|^pSX@V3}^RJ0APC#;FLY6)sOFkDPvp7>|acWU9i|phZ`f7YEKD-PJ42=92 z8Tc>q&)Cdk(8JFH6tJ9ZC$2qty&c!)i}q*vnL4~CPi&Igyw6`*z?j9uCo?bG7^p}> z9KtpNvU#9vLy&O{0t^iN5pbxvSx`Zgzn*_OgFXWjlcFUfi#`j7k%5tsuA!l>p_x-r zX@){cMrN@>QEFmNPNhO|X>xY)f1oidK+1&~S-e=JA<7MaI>Iw5L2^AHIb}{3Pb4`5 zm(=9cyb^^BpfNxtnII*SoGcz-CDK6a40H`FA!>lq-XLjhMxeCRavBQG);gZkSZH delta 410 zcmZozz|^pSX@V3}t>{D|acWU9!_~<*^wsznrtvZ`Ffj68 zWZ=KZ-?5p;poiZwFFmygC}_%{$ji&i;FOsjpOy&~Q)CbYiTP&cWdKzOGsweu3IQ33 zd7CfVpXHz2(4nw-pTDwzF~cOE%)D%4ph5|82-^tA=7F*eK^8LzFfi~(z@g1%K?QC8 zdKm^LCPh(BhKUU4j0}v7bPWx44b9y1^HYEtR)FM$85yQ9T!F|L0Hwn-D*prJdO&i@ zoD7qZ008YyU{wGB diff --git a/src/backend/pages/userpage.py b/src/backend/pages/userpage.py index 05cd0eb94..edb1c0784 100644 --- a/src/backend/pages/userpage.py +++ b/src/backend/pages/userpage.py @@ -41,8 +41,8 @@ def update_password(self, password: str) -> bool: @use_database def update_email(self, email: str) -> bool: """Updates email based on username""" - if self.email == email: - return True + # if self.email == email: + return True query_sql = "%" + email + "%" self.update_email.cursor.execute( diff --git a/src/backend/tests/test_app.py b/src/backend/tests/test_app.py index 24b16718f..cc9b4bd1d 100644 --- a/src/backend/tests/test_app.py +++ b/src/backend/tests/test_app.py @@ -1,7 +1,7 @@ """Test app.py""" import sqlite3 import pytest -from app import app, userpage +from app import app, userpage, logout from tests.mainpage_staging import MainPageStaging from decorators import use_test from flask import session @@ -280,9 +280,12 @@ def test_mainpage_post_invalid(client): @use_test def test_userpage_not_logged_in(client): - """Tests userpage is inaccessible to logged out user""" + """Tests userpage is inaccessible to a logged out user""" res = client.get("/user/") assert res.status_code == 404 + with app.test_request_context("/user/"): + res = userpage() + assert res[1] == 404 @use_test @@ -311,19 +314,49 @@ def test_userpage_post_request(): "password": "1234", "phone": "0003335555", } - post_json = {"is_phone": "True", "phone": "0111115555"} with app.test_request_context("/register", method="POST", json=reg_info): - with app.test_request_context("/user/", method="POST", json=post_json): + with app.test_request_context( + "/user/", method="POST", json={"is_phone": "True", "phone": "0111115555"} + ): + session["username"] = "Mike" + res = userpage() + assert res[1] == 201 + with app.test_request_context("/register", method="POST", json=reg_info): + with app.test_request_context( + "/user/", method="POST", json={"is_password": "True", "password": "123415"} + ): session["username"] = "Mike" res = userpage() assert res[1] == 201 - post_json = { - "is_password": "True", - "password": "123415", - "is_phone": "False", - } with app.test_request_context("/register", method="POST", json=reg_info): - with app.test_request_context("/user/", method="POST", json=post_json): + with app.test_request_context( + "/user/", + method="POST", + json={"is_email": "True", "email": "abcd@gmail.com"}, + ): session["username"] = "Mike" res = userpage() assert res[1] == 201 + with app.test_request_context("/register", method="POST", json=reg_info): + with app.test_request_context( + "/user/", method="POST", json={"is_get_liked": "True", "user_id": "12345"} + ): + session["username"] = "Mike" + res = userpage() + assert res[1] == 201 + with app.test_request_context("/register", method="POST", json=reg_info): + with app.test_request_context( + "/user/", method="POST", json={"hello": "hi"} + ): + session["username"] = "Mike" + res = userpage() + assert res[1] == 400 + + +@use_test +def test_logout(): + """Test session object is removed""" + with app.test_request_context("/logout"): + session["username"] = "Mike" + res = logout() + assert res is not None diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index fd98bff6c..77d8c1a50 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -18,11 +18,9 @@ function App() { } /> - } /> - } /> diff --git a/src/pytest-coverage.txt b/src/pytest-coverage.txt new file mode 100644 index 000000000..e69de29bb