Coverage for src/tests/modules/club/repositories/test_flemish_member_importer.py: 100%

28 statements  

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

1"""Module for testing the FlemishMemberImporter class.""" 

2 

3from pathlib import Path 

4 

5import pytest 

6 

7from kwai_bc_club.domain.value_objects import Gender 

8from kwai_bc_club.repositories.country_db_repository import CountryDbRepository 

9from kwai_bc_club.repositories.flemish_member_importer import FlemishMemberImporter 

10from kwai_bc_club.repositories.member_importer import Result 

11from kwai_core.db.database import Database 

12from kwai_core.domain.value_objects.owner import Owner 

13 

14 

15pytestmark = pytest.mark.db 

16 

17 

18async def test_import(database: Database, owner: Owner): 

19 """Test the import of members of the Flemish federation.""" 

20 filename = Path(__file__).parent / "data" / "flemish_members_test.csv" 

21 importer = FlemishMemberImporter( 

22 str(filename), owner, CountryDbRepository(database) 

23 ) 

24 members = importer.import_() 

25 

26 result = await anext(members) 

27 match result: 

28 case Result(): 

29 member = result.member 

30 assert member is not None 

31 assert str(member.person.nationality) == "BE" 

32 assert str(member.person.birthdate) == "1973-06-05" 

33 assert member.person.gender == Gender.FEMALE 

34 result = await anext(members) 

35 match result: 

36 case Result(): 

37 member = result.member 

38 assert member is not None 

39 assert str(member.person.nationality) == "JP" 

40 assert member.person.gender == Gender.MALE