Create importer to objects

This commit is contained in:
2022-11-14 20:01:32 +01:00
parent d17379e254
commit a4e9020ebd
5 changed files with 196 additions and 0 deletions

View 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

View 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",
""
]
]
}

View 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"
}
]