Coverage for src/tests/api/v1/club/members/test_members.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the members endpoint of the club API.""" 

2 

3import pytest 

4 

5from fastapi import status 

6from fastapi.testclient import TestClient 

7from kwai_core.domain.value_objects.unique_id import UniqueId 

8 

9 

10pytestmark = pytest.mark.api 

11 

12 

13def test_get_members(secure_client: TestClient): 

14 """Test /api/v1/club/members.""" 

15 response = secure_client.get("/api/v1/club/members") 

16 assert response.status_code == status.HTTP_200_OK 

17 

18 

19def test_get_inactive_members(secure_client: TestClient): 

20 """Test /api/v1/club/members for inactive members.""" 

21 response = secure_client.get( 

22 "/api/v1/club/members", params={"filter[enabled]": False} 

23 ) 

24 assert response.status_code == status.HTTP_200_OK 

25 

26 

27def test_get_members_with_license_end_date(secure_client: TestClient): 

28 """Test /api/v1/club/members for members with given license end date.""" 

29 response = secure_client.get( 

30 "/api/v1/club/members", 

31 params={"filter[license_end_month]": 1, "filter[license_end_year]": 2024}, 

32 ) 

33 assert response.status_code == status.HTTP_200_OK 

34 

35 

36async def test_get_member(secure_client: TestClient, make_member_in_db): 

37 """Test /api/v1/club/members/{uuid} for members with given unique id.""" 

38 member = await make_member_in_db() 

39 response = secure_client.get(f"/api/v1/club/members/{member.uuid}") 

40 assert response.status_code == status.HTTP_200_OK 

41 

42 

43def test_get_member_not_found(secure_client: TestClient): 

44 """Test /api/v1/club/members/{uuid} return not found.""" 

45 uuid = str(UniqueId.generate()) 

46 response = secure_client.get(f"/api/v1/club/members/{uuid}") 

47 assert response.status_code == status.HTTP_404_NOT_FOUND 

48 

49 

50def test_get_member_with_name_filter(secure_client: TestClient): 

51 """Test /api/v1/club/members for members with the given name.""" 

52 response = secure_client.get( 

53 "/api/v1/club/members", params={"filter[name]": "kano"} 

54 ) 

55 assert response.status_code == status.HTTP_200_OK