Skip to content

Commit

Permalink
some fixes to search
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronnagler committed Jan 3, 2024
1 parent 7f4c80a commit a78789d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
4 changes: 2 additions & 2 deletions happiness-backend/api/dao/happiness_dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from api.authentication.auth import token_current_user
from api.util.errors import failure_response
from sqlalchemy import select
from sqlalchemy import select, desc

from api.app import db
from api.models.models import Happiness, Comment
Expand Down Expand Up @@ -99,7 +99,7 @@ def get_happiness_by_filter(user_id: int, page: int, per_page: int, start: datet
if text is not None:
query = query.where(Happiness.comment.like(f"%{text}%"))
acc = acc + 1
query = query.order_by(Happiness.timestamp.asc())
query = query.order_by(desc(Happiness.timestamp))

if acc == 0: return []

Expand Down
4 changes: 2 additions & 2 deletions happiness-backend/api/models/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,8 @@ class HappinessMultiFilterSchema(ma.Schema):
user_id = ma.Int()
page = ma.Int()
count = ma.Int()
low = ma.Int()
high = ma.Int()
low = ma.Float()
high = ma.Float()
start = ma.Date()
end = ma.Date()
text = ma.Str()
22 changes: 18 additions & 4 deletions happiness-backend/tests/test_happiness.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,20 +458,34 @@ def test_happiness_search(init_client):
'high': 4,
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_number_range_3_4.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_number_range_3_4.json)) == ['great day', 'very happy', 'no'])
assert (list(map(lambda d: d.get("comment"), happiness_number_range_3_4.json)) == ['no', 'very happy', 'great day'])

happiness_number_range_6pt5_9pt5 = client.get('api/happiness/search', query_string={
'low': 6.5,
'high': 9.5,
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_number_range_6pt5_9pt5.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_number_range_6pt5_9pt5.json)) == ['happiest', 'oopsies',
'hmmm', 'bad day'])

happiness_date_range_12_14 = client.get('api/happiness/search', query_string={
'start': '2023-01-12',
'end': '2023-01-14',
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_date_range_12_14.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_date_range_12_14.json)) == ['bad day', 'very happy', 'hmmm'])
assert (list(map(lambda d: d.get("comment"), happiness_date_range_12_14.json)) == ['hmmm', 'very happy', 'bad day'])

happiness_text_day = client.get('api/happiness/search', query_string={
'text': 'day',
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_text_day.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_text_day.json)) == ['great day', 'bad day'])
assert (list(map(lambda d: d.get("comment"), happiness_text_day.json)) == ['bad day', 'great day'])

happiness_text_casesensitivity_happiest = client.get('api/happiness/search', query_string={
'text': 'haPpIEsT',
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_text_casesensitivity_happiest.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_text_casesensitivity_happiest.json)) == ['happiest'])

happiness_number_range_3_4_date_range_12_14_very = client.get('api/happiness/search', query_string={
'low': 3,
Expand Down Expand Up @@ -499,7 +513,7 @@ def test_happiness_search(init_client):
'text': 'day',
}, headers={"Authorization": f"Bearer {tokens[0]}"})
assert happiness_date_range_11_14_day.status_code == 200
assert (list(map(lambda d: d.get("comment"), happiness_date_range_11_14_day.json)) == ['great day', 'bad day'])
assert (list(map(lambda d: d.get("comment"), happiness_date_range_11_14_day.json)) == ['bad day', 'great day'])

happiness_number_range_5_10_hmmm = client.get('api/happiness/search', query_string={
'low': 5,
Expand Down

0 comments on commit a78789d

Please sign in to comment.