Skip to content

Commit 39f7fce

Browse files
committed
test: добавлены тесты для send_group_join_requests, Resolve 11
1 parent d594c28 commit 39f7fce

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
import uuid
2+
3+
import pytest
4+
from httpx import AsyncClient
5+
from integration.helpers import add_user_to_group, create_group, register_and_login, set_authorization
6+
from starlette import status
7+
8+
from src.groups import group_router
9+
10+
11+
@pytest.mark.order(after="test_create_group.py::test_create_group_unauthorized")
12+
async def test_no_group_found(client: AsyncClient):
13+
user = await register_and_login(client)
14+
await set_authorization(client, user)
15+
16+
join_response = await client.post(
17+
f"{group_router.prefix}/{str(uuid.uuid4())}/join-requests",
18+
)
19+
assert join_response.status_code == status.HTTP_404_NOT_FOUND
20+
21+
22+
@pytest.mark.order(after="test_respond_to_invitation.py::test_invitation_members_limit")
23+
async def test_user_already_in_group_group_creator(client: AsyncClient):
24+
user = await register_and_login(client)
25+
await set_authorization(client, user)
26+
27+
group_response = await create_group(client)
28+
29+
join_response = await client.post(
30+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
31+
)
32+
assert join_response.status_code == status.HTTP_400_BAD_REQUEST
33+
34+
35+
@pytest.mark.order(after="test_respond_to_invitation.py::test_invitation_members_limit")
36+
async def test_user_already_in_group_group_member(client: AsyncClient):
37+
user = await register_and_login(client)
38+
user2 = await register_and_login(client)
39+
await set_authorization(client, user)
40+
41+
group_response = await create_group(client)
42+
43+
await add_user_to_group(client, user, user2, group_response.json()["id"])
44+
45+
await set_authorization(client, user2)
46+
join_response = await client.post(
47+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
48+
)
49+
assert join_response.status_code == status.HTTP_400_BAD_REQUEST
50+
51+
52+
@pytest.mark.order(after="test_respond_to_invitation.py::test_invitation_members_limit")
53+
async def test_group_is_full(client: AsyncClient):
54+
user = await register_and_login(client)
55+
user2 = await register_and_login(client)
56+
user3 = await register_and_login(client)
57+
await set_authorization(client, user)
58+
59+
group_response = await create_group(client, max_members_count=2)
60+
61+
await add_user_to_group(client, user, user2, group_response.json()["id"])
62+
63+
await set_authorization(client, user3)
64+
join_response = await client.post(
65+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
66+
)
67+
assert join_response.status_code == status.HTTP_409_CONFLICT
68+
69+
70+
@pytest.mark.order(after="test_respond_to_invitation.py::test_invitation_members_limit")
71+
async def test_join_requests_already_sent(client: AsyncClient):
72+
user = await register_and_login(client)
73+
user2 = await register_and_login(client)
74+
await set_authorization(client, user)
75+
76+
group_response = await create_group(client)
77+
78+
await set_authorization(client, user2)
79+
join_response = await client.post(
80+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
81+
)
82+
assert join_response.status_code == status.HTTP_200_OK
83+
assert group_response.json()["id"] == join_response.json()["group"]["id"]
84+
85+
join_response_2 = await client.post(
86+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
87+
)
88+
assert join_response.status_code == status.HTTP_200_OK
89+
assert join_response_2.json()["id"] == join_response.json()["id"]
90+
assert join_response_2.json()["created_at"] == join_response.json()["created_at"]
91+
92+
93+
@pytest.mark.order(after="test_respond_to_invitation.py::test_invitation_members_limit")
94+
async def test_join_requests_success(client: AsyncClient):
95+
user = await register_and_login(client)
96+
user2 = await register_and_login(client)
97+
await set_authorization(client, user)
98+
99+
group_response = await create_group(client)
100+
101+
await set_authorization(client, user2)
102+
join_response = await client.post(
103+
f"{group_router.prefix}/{group_response.json()['id']}/join-requests",
104+
)
105+
assert join_response.status_code == status.HTTP_200_OK
106+
assert group_response.json()["id"] == join_response.json()["group"]["id"]

0 commit comments

Comments
 (0)