Create importer to objects
This commit is contained in:
47
src/solo_turnier/tests/test_worker.py
Normal file
47
src/solo_turnier/tests/test_worker.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from solo_turnier import worker
|
||||
import os
|
||||
import json
|
||||
import pytest
|
||||
|
||||
def __importJSONData(name):
|
||||
path = os.path.join(os.path.dirname(__file__), 'worker', name)
|
||||
with open(path, 'r') as fp:
|
||||
return json.load(fp)
|
||||
|
||||
@pytest.fixture
|
||||
def fixture_csvExtractor():
|
||||
data = __importJSONData('csvImport.json')
|
||||
expected = __importJSONData('csvImportResult.json')
|
||||
return (data, expected)
|
||||
|
||||
def test_csvExtractor(fixture_csvExtractor):
|
||||
extractor = worker.CSVExtractor()
|
||||
mapped = extractor.mapCSVImport(fixture_csvExtractor[0])
|
||||
|
||||
assert len(mapped) == len(fixture_csvExtractor[1])
|
||||
for i,elem in enumerate(fixture_csvExtractor[1]):
|
||||
assert mapped[i].__dict__ == elem
|
||||
|
||||
def test_extractPersonFromRow():
|
||||
row = worker.ResultRow('Max', 'Mustermann', 'TSC Entenhausen', '2', 'Kin', 'Adv.', 'Rumba', '2', '2')
|
||||
person = worker.ResultPerson.extractFromResultRow(row)
|
||||
expected = {
|
||||
'firstName': 'Max',
|
||||
'lastName': 'Mustermann',
|
||||
'name': 'Max Mustermann',
|
||||
'club': 'TSC Entenhausen',
|
||||
'id': None
|
||||
}
|
||||
assert person.__dict__ == expected
|
||||
|
||||
def test_extractCompetitionFromRow():
|
||||
row = worker.ResultRow('Max', 'Mustermann', 'TSC Entenhausen', '2', 'Kin', 'Adv.', 'Rumba', '2', '2')
|
||||
person = worker.CompetitionResult.extractFromResultRow(row)
|
||||
expected = {
|
||||
'dance': 'Rumba',
|
||||
'class_': 'Adv.',
|
||||
'place': '2',
|
||||
'placeTo': '2',
|
||||
'id': 2
|
||||
}
|
||||
assert person.__dict__ == expected
|
||||
49
src/solo_turnier/tests/worker/csvImport.json
Normal file
49
src/solo_turnier/tests/worker/csvImport.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"header": [
|
||||
"\ufeffTurniernr", "Datum", "Gruppe", "Klasse", "Art", "StNr", "VNamePartner", "NNamePartner",
|
||||
"VNamePartnerin", "NNamePartnerin", "Club", "LTV", "Platzvon", "Platzbis", "Punkte", "GruppePaar", "KlassePaar", "Hinweis"
|
||||
],
|
||||
"data": [
|
||||
[
|
||||
"",
|
||||
"19.06.2022",
|
||||
"Kin.",
|
||||
"Newc./Beg.",
|
||||
"Cha Cha",
|
||||
"2",
|
||||
"Max",
|
||||
"Mustermann 1",
|
||||
"",
|
||||
"",
|
||||
"Club A",
|
||||
"TRP",
|
||||
"1",
|
||||
"1",
|
||||
"0",
|
||||
"Kin.",
|
||||
"Beginner",
|
||||
""
|
||||
],
|
||||
[
|
||||
"",
|
||||
"19.06.2022",
|
||||
"Kin.",
|
||||
"Newc./Beg.",
|
||||
"Cha Cha",
|
||||
"3",
|
||||
"Max",
|
||||
"Mustermann 2",
|
||||
"",
|
||||
"",
|
||||
"Club B",
|
||||
"SLT",
|
||||
"3",
|
||||
"3",
|
||||
"0",
|
||||
"Kin.",
|
||||
"Beginner",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
27
src/solo_turnier/tests/worker/csvImportResult.json
Normal file
27
src/solo_turnier/tests/worker/csvImportResult.json
Normal file
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"dance": "Cha Cha",
|
||||
"id": "2",
|
||||
"firstName": "Max",
|
||||
"lastName": "Mustermann 1",
|
||||
"name": "Max Mustermann 1",
|
||||
"club": "Club A",
|
||||
"place": "1",
|
||||
"placeTo": "1",
|
||||
"group": "Kin.",
|
||||
"class_": "Beginner"
|
||||
},
|
||||
{
|
||||
"dance": "Cha Cha",
|
||||
"id": "3",
|
||||
"firstName": "Max",
|
||||
"lastName": "Mustermann 2",
|
||||
"name": "Max Mustermann 2",
|
||||
"club": "Club B",
|
||||
"place": "3",
|
||||
"placeTo": "3",
|
||||
"group": "Kin.",
|
||||
"class_": "Beginner"
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user