Skip to content

Commit

Permalink
update_phone tests pass
Browse files Browse the repository at this point in the history
  • Loading branch information
akrakman committed Nov 16, 2022
1 parent a357b1c commit dd12134
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 22 deletions.
Binary file modified src/backend/database/database_test.db
Binary file not shown.
3 changes: 2 additions & 1 deletion src/backend/pages/userpage.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from dataholders.user import User
from typing import List
from dataholders.apt import Apt
from decorators import use_database
from decorators import use_database, use_test
from pages.login import validate_phone

class UserPage:
Expand Down Expand Up @@ -39,4 +39,5 @@ def update_phone(self, phone: str) -> bool:
self.update_phone.cursor.execute(
"UPDATE Users SET phone = ? WHERE (username = ?)", (phone, self.username),
)
self.update_phone.connection.commit()
return True
37 changes: 16 additions & 21 deletions src/backend/tests/test_userpage.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,46 +13,41 @@ class TestUserPage:
phone = "012-345-6789"
invalid_phone = "123-3421-322"

@use_test
def test_update_phone(self):
"""Tests valid and invalid phone numbers"""
assert validate_phone(self.phone) is True # verify for later tests
assert validate_phone(self.invalid_phone) is False
valid = self.test_valid_phone()
invalid = self.test_invalid_phone()
assert valid is True
assert invalid is False
self.cleanup_db()

@use_test
def test_valid_phone(self) -> bool:
"""Test update_phone returns True and User is logged in"""
"""Test update_phone returns True and db entry is the same"""
assert validate_phone(self.phone) is True
assert self.userpage.update_phone(self.phone) is True

# mimics update_phone
connection = sqlite3.connect("database/database_test.db")
cursor = connection.cursor()
cursor.execute(
"INSERT INTO Users (username, email, password, phone, apt_id) \
VALUES (?, ?, ?, ?, 0)",
"INSERT INTO Users (username, email, password, phone) \
VALUES (?, ?, ?, ?)",
(self.alt_username, "[email protected]", "password", "011-899-9013"),
)
connection.commit()
cursor.execute(
"UPDATE Users SET phone = ? WHERE (username = ?)", (self.phone, self.alt_username,),
"UPDATE Users SET phone = ? WHERE (username = ?)", (self.phone, self.alt_username,),
)
result = cursor.execute("SELECT phone FROM Users WHERE (username = ?)", (self.alt_username,)).fetchone()
update = self.userpage.update_phone(self.phone)
assert result == update
connection.commit()
test_result = cursor.execute("SELECT phone FROM Users WHERE (username = ?)", (self.alt_username,)).fetchone()[0]
self.cleanup_db()
return update
assert test_result == self.phone

@use_test
def test_invalid_phone(self) -> bool:
"""Test update_phone returns False"""
return self.userpage.update_phone(self.invalid_phone)
assert validate_phone(self.invalid_phone) is False
assert self.userpage.update_phone(self.invalid_phone) is False

@use_test
def cleanup_db(self) -> None:
"""Remove fake data from database"""
connection = sqlite3.connect("database/database_test.db")
cursor = connection.cursor()
cursor.execute("DELETE FROM Users WHERE (username = ?)", (self.username, self.alt_username,))
cursor.execute("DELETE FROM Users WHERE (username = ?)", (self.username,))
cursor.execute("DELETE FROM Users WHERE (username = ?)", (self.alt_username,))
connection.commit()
connection.close()

3 comments on commit dd12134

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
app.py1303077%44–46, 52–77, 81–82
config.py10100% 
decorators.py270100% 
dataholders
   apt.py90100% 
   mainpage_get.py150100% 
   review.py70100% 
   user.py70100% 
pages
   login.py35877%34–49
   mainpage.py1000100% 
   userpage.py25580%18, 23, 27, 31–32
TOTAL3564388% 

Tests Skipped Failures Errors Time
42 0 💤 7 ❌ 0 🔥 1.472s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
app.py1303077%44–46, 52–77, 81–82
config.py10100% 
decorators.py270100% 
dataholders
   apt.py90100% 
   mainpage_get.py150100% 
   review.py70100% 
   user.py70100% 
pages
   login.py35877%34–49
   mainpage.py1000100% 
   userpage.py25580%18, 23, 27, 31–32
TOTAL3564388% 

Tests Skipped Failures Errors Time
42 0 💤 7 ❌ 0 🔥 1.478s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
app.py1303077%44–46, 52–77, 81–82
config.py10100% 
decorators.py270100% 
dataholders
   apt.py90100% 
   mainpage_get.py150100% 
   review.py70100% 
   user.py70100% 
pages
   login.py35877%34–49
   mainpage.py1000100% 
   userpage.py25580%18, 23, 27, 31–32
TOTAL3564388% 

Tests Skipped Failures Errors Time
42 0 💤 7 ❌ 0 🔥 1.384s ⏱️

Please sign in to comment.