Skip to content

Commit ba09ff0

Browse files
committed
fix: test bug
1 parent 8b97c29 commit ba09ff0

File tree

10 files changed

+79
-64
lines changed

10 files changed

+79
-64
lines changed

app/config.py.example

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# flake8: noqa
21
# general
32
DOMAIN = 'Our-Domain'
43

@@ -14,4 +13,3 @@ AVATAR_SIZE = (120, 120)
1413
# export
1514
ICAL_VERSION = '2.0'
1615
PRODUCT_ID = '-//Our product id//'
17-
OPTIONAL = []

app/internal/agenda_events.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from typing import List, Optional
33

44
import arrow
5-
from sqlalchemy.exc import SQLAlchemyError
65
from sqlalchemy.orm import Session
76

87
from app.database.models import Event
@@ -21,20 +20,16 @@ def get_events_per_dates(
2120

2221
if start > end:
2322
return []
24-
try:
25-
events = (
26-
filter_dates(
27-
sort_by_date(
28-
get_all_user_events(session, user_id)
29-
),
30-
start,
31-
end,
32-
)
23+
24+
return (
25+
filter_dates(
26+
sort_by_date(
27+
get_all_user_events(session, user_id)
28+
),
29+
start,
30+
end,
3331
)
34-
except SQLAlchemyError:
35-
return []
36-
else:
37-
return events
32+
)
3833

3934

4035
def build_arrow_delta_granularity(diff: timedelta) -> List[str]:

app/routers/event.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ async def eventview(request: Request, id: int):
2323
{"request": request, "event_id": id})
2424

2525

26-
def create_event(db, title, start, end, content, owner_id):
26+
def create_event(db, title, start, end, owner_id, content=None, location=None):
2727
"""Creates an event and an association."""
2828

2929
event = create_model(
@@ -33,6 +33,7 @@ def create_event(db, title, start, end, content, owner_id):
3333
end=end,
3434
content=content,
3535
owner_id=owner_id,
36+
location=location,
3637
)
3738
create_model(
3839
db, UserEvent,

app/routers/invitation.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import List, Union
22

3-
from fastapi import APIRouter, Depends, Form, Request
3+
from fastapi import APIRouter, Depends, Request
44
from fastapi.responses import RedirectResponse
55
from sqlalchemy.exc import SQLAlchemyError
66
from sqlalchemy.orm import Session
@@ -35,11 +35,15 @@ def view_invitations(request: Request, db: Session = Depends(get_db)):
3535

3636
@router.post("/")
3737
async def accept_invitations(
38-
invite_id: int = Form(...),
39-
db: Session = Depends(get_db)
38+
request: Request,
39+
db: Session = Depends(get_db)
4040
):
41-
i = get_invitation_by_id(invite_id, session=db)
42-
accept(i, db)
41+
data = await request.form()
42+
invite_id = list(data.values())[0]
43+
44+
invitation = get_invitation_by_id(invite_id, session=db)
45+
accept(invitation, db)
46+
4347
url = router.url_path_for("view_invitations")
4448
return RedirectResponse(url=url, status_code=HTTP_302_FOUND)
4549

tests/event_fixture.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
def event(sender: User, session: Session) -> Event:
1515
return create_event(
1616
db=session,
17-
title='today_event',
17+
title='event',
1818
start=today_date,
1919
end=today_date,
2020
content='test event',
2121
owner_id=sender.id,
22+
location="Some random location",
2223
)
2324

2425

@@ -92,17 +93,3 @@ def old_event(sender: User, session: Session) -> Event:
9293
content='test event',
9394
owner_id=sender.id,
9495
)
95-
96-
97-
@pytest.fixture
98-
def user_event(user: User, session: Session) -> Event:
99-
"""Only this event is created by "user" and not "sender"."""
100-
101-
return create_event(
102-
db=session,
103-
title='event 7',
104-
start=today_date - timedelta(days=5),
105-
end=today_date,
106-
content='test event',
107-
owner_id=user.id,
108-
)

tests/test_agenda_internal.py

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,46 @@
1-
from datetime import datetime
1+
from datetime import datetime, date
22

33
from app.internal import agenda_events
44
import pytest
55

6-
START = datetime(2021, 11, 1, 8, 00, 00)
6+
from app.internal.agenda_events import get_events_per_dates
77

8-
dates = [
9-
(START, datetime(2021, 11, 3, 8, 00, 0), '2 days'),
10-
(START, datetime(2021, 11, 3, 10, 30, 0), '2 days 2 hours and 30 minutes'),
11-
(START, datetime(2021, 11, 1, 8, 30, 0), '30 minutes'),
12-
(START, datetime(2021, 11, 1, 10, 00, 0), '2 hours'),
13-
(START, datetime(2021, 11, 1, 10, 30, 0), '2 hours and 30 minutes'),
14-
(START, datetime(2021, 11, 2, 10, 00, 0), 'a day and 2 hours'),
15-
]
168

9+
class TestAgenda:
10+
START = datetime(2021, 11, 1, 8, 00, 00)
11+
dates = [
12+
(START, datetime(2021, 11, 3, 8, 00, 0),
13+
'2 days'),
14+
(START, datetime(2021, 11, 3, 10, 30, 0),
15+
'2 days 2 hours and 30 minutes'),
16+
(START, datetime(2021, 11, 1, 8, 30, 0),
17+
'30 minutes'),
18+
(START, datetime(2021, 11, 1, 10, 00, 0),
19+
'2 hours'),
20+
(START, datetime(2021, 11, 1, 10, 30, 0),
21+
'2 hours and 30 minutes'),
22+
(START, datetime(2021, 11, 2, 10, 00, 0),
23+
'a day and 2 hours'),
24+
]
1725

18-
@pytest.mark.parametrize('start, end, diff', dates)
19-
def test_get_time_delta_string(start, end, diff):
20-
assert agenda_events.get_time_delta_string(start, end) == diff
26+
@pytest.mark.parametrize('start, end, diff', dates)
27+
def test_get_time_delta_string(self, start, end, diff):
28+
assert agenda_events.get_time_delta_string(start, end) == diff
29+
30+
def test_get_events_per_dates_success(self, today_event, session):
31+
events = get_events_per_dates(
32+
session=session,
33+
user_id=today_event.owner_id,
34+
start=today_event.start.date(),
35+
end=today_event.end.date(),
36+
)
37+
assert list(events) == [today_event]
38+
39+
def test_get_events_per_dates_failure(self, yesterday_event, session):
40+
events = get_events_per_dates(
41+
session=session,
42+
user_id=yesterday_event.owner_id,
43+
start=date.today(),
44+
end=date.today(),
45+
)
46+
assert list(events) == []

tests/test_home.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# class TestHome:
2-
# URL = "/"
3-
#
4-
# def test_get_page(self, client):
5-
# resp = client.get(self.URL)
6-
# assert resp.status_code == 200
1+
class TestHome:
2+
URL = "/"
3+
4+
def test_get_page(self, client):
5+
resp = client.get(self.URL)
6+
assert resp.status_code == 200

tests/test_invitation.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,20 @@
33

44
class TestInvitations:
55
NO_INVITATIONS = b"You don't have any invitations."
6-
URL = "/invitations"
6+
URL = "/invitations/"
77

88
def test_view_no_invitations(self, invitation_test_client):
99
resp = invitation_test_client.get(self.URL)
1010
assert resp.status_code == 200
1111
assert self.NO_INVITATIONS in resp.content
1212

13-
def test_accept_invitations(self, invitation, invitation_test_client):
13+
def test_accept_invitations(
14+
self, user, invitation,
15+
invitation_test_client):
16+
invitation = {"invite_id ": invitation.id}
1417
resp = invitation_test_client.post(
15-
self.URL, data={"invite_id ": invitation.id})
16-
assert resp.status_code == 307
18+
self.URL, data=invitation)
19+
assert resp.status_code == 302
1720

1821
def test_get_all_invitations_success(
1922
self, invitation, event, user, session

tests/test_share_event.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ def test_send_in_app_invitation_success(
3636
assert invitation.recipient == user
3737
session.delete(invitation)
3838

39-
def test_send_in_app_invitation_failure(self, event, session):
40-
invitation = get_all_invitations(
41-
recipient=event.owner, session=session)
42-
assert invitation == []
39+
def test_send_in_app_invitation_failure(
40+
self, user, sender, event, session):
41+
assert (send_in_app_invitation(
42+
[sender.email], event, session=session) is None)
4343

4444
def test_send_email_invitation(self, user, event):
4545
send_email_invitation([user.email], event)

tests/test_user.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def test_does_user_exist_success(self, user, session):
3232

3333
def test_does_user_exist_failure(self, session):
3434
assert not does_user_exist(username='wrong username', session=session)
35+
assert not does_user_exist(session=session)
3536

3637
def test_repr(self, user):
3738
assert user.__repr__() == f'<User {user.id}>'

0 commit comments

Comments
 (0)