Skip to content

Commit 8ebf7d0

Browse files
authored
Merge pull request #28 from AdvancedSoftwareEngineeringGroup3/frontend-tests
Frontend tests
2 parents 5bd6322 + 35eeb7d commit 8ebf7d0

6 files changed

Lines changed: 128 additions & 17 deletions

File tree

.github/workflows/backend-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,4 @@ jobs:
7575
- name: Run Tests
7676
run: |
7777
cd server
78-
pytest tests/ --ignore=tests/test_database_connection.py
78+
pytest tests/

.github/workflows/frontend-ci.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Frontend CI
2+
3+
on:
4+
push:
5+
branches: [ "develop", "main" ]
6+
pull_request:
7+
branches: [ "develop", "main" ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
name: Run Frontend Tests (Jest)
15+
runs-on: ubuntu-latest
16+
17+
defaults:
18+
run:
19+
working-directory: ./client # Removes need for cd client when running tests
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v3
24+
25+
- name: Set up Node.js
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: '20'
29+
30+
- name: Install dependencies # Install dependencies
31+
run: |
32+
npm install
33+
34+
- name: Run tests # Run Jest tests
35+
run: |
36+
npm test

client/package-lock.json

Lines changed: 66 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"dependencies": {
1313
"@googlemaps/polyline-codec": "^1.0.28",
1414
"@react-google-maps/api": "^2.20.6",
15+
"@react-native-async-storage/async-storage": "^2.1.1",
1516
"@react-navigation/native": "^7.0.2",
1617
"@react-navigation/native-stack": "^7.0.2",
1718
"crypto": "^1.0.1",
@@ -22,6 +23,7 @@
2223
"react": "^18.3.1",
2324
"react-dom": "^18.3.1",
2425
"react-native": "0.76.2",
26+
"react-native-chart-kit": "^6.12.0",
2527
"react-native-element-dropdown": "^2.12.4",
2628
"react-native-gesture-handler": "~2.20.2",
2729
"react-native-maps": "1.18.0",

server/src/Database_class.py

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,11 @@ def update_entry(
132132
"""
133133
try:
134134
cursor = self.connection.cursor()
135-
136-
# TODO: check if username needs to be made dynamic
137-
query = f"UPDATE {table_name} "
138-
f"SET {column} = '{data}' "
139-
f"WHERE username = '{user}';"
140-
135+
query = (
136+
f"UPDATE {table_name} "
137+
f"SET {column} = '{data}' "
138+
f"WHERE username = '{user}';"
139+
)
141140
cursor.execute(query)
142141
except Exception as e:
143142
self.connection.rollback()
@@ -156,11 +155,10 @@ def search_entry(self, table_name: str, user: str, column: str):
156155
try:
157156
records = None
158157
cursor = self.connection.cursor()
159-
160-
query = f"""SELECT {column}
161-
FROM {table_name}
162-
WHERE username = '{user}';"""
163-
158+
query = (
159+
f"SELECT {column} FROM {table_name} "
160+
f"WHERE username = '{user}';"
161+
)
164162
cursor.execute(query)
165163
records = cursor.fetchall()
166164

@@ -190,9 +188,13 @@ def append_entry(
190188
"""
191189
try:
192190
cursor = self.connection.cursor()
193-
query = f"UPDATE {table_name} "
194-
f"SET {column} = array_append({column},'{sender}') "
195-
f"WHERE username = '{receiver}';"
191+
192+
query = (
193+
f"UPDATE {table_name} "
194+
f"SET {column} = array_append({column},'{sender}') "
195+
f"WHERE username = '{receiver}';"
196+
)
197+
196198
cursor.execute(query)
197199
self.connection.commit()
198200
except Exception as e:
@@ -218,11 +220,13 @@ def remove_from_array(
218220
"""
219221
try:
220222
cursor = self.connection.cursor()
223+
221224
query = (
222225
f"UPDATE {table_name} "
223226
f"SET {column} = ARRAY_REMOVE({column}, '{value_to_remove}')"
224227
f"WHERE username = '{user}';"
225228
)
229+
226230
cursor.execute(query)
227231
self.connection.commit()
228232

@@ -245,7 +249,9 @@ def print_table(self, tablename: str):
245249
"""
246250
try:
247251
cursor = self.connection.cursor()
252+
248253
query = f"SELECT * FROM {tablename};"
254+
249255
cursor.execute(query)
250256
records = cursor.fetchall()
251257

@@ -281,6 +287,7 @@ def search_user(self, table_name: str, user: str) -> bool:
281287
f"SELECT username FROM {table_name} "
282288
f"WHERE username = '{user}';"
283289
)
290+
284291
cursor.execute(query)
285292
record = list(cursor.fetchall())
286293

server/tests/test_database_connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22
from unittest.mock import patch, MagicMock
3-
from server.src.Database_class import DataBase
3+
from src.Database_class import DataBase
44

55
DB_NAME = "test_db"
66
DB_USER = "your_user"
@@ -15,7 +15,7 @@ def db():
1515
return DataBase(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD, DB_PORT)
1616

1717

18-
@patch("server.Database_class.pg8000.connect")
18+
@patch("src.Database_class.pg8000.connect")
1919
def test_connect_db(mock_connect, db):
2020
"""Test database connection"""
2121
mock_connect.return_value = MagicMock()

0 commit comments

Comments
 (0)