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
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Module for testing the FlemishMemberImporter class."""
3from pathlib import Path
5import pytest
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
15pytestmark = pytest.mark.db
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_()
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