diff --git a/tests/test_angebotsposition.py b/tests/test_angebotsposition.py index 93653eede..ea563b81c 100644 --- a/tests/test_angebotsposition.py +++ b/tests/test_angebotsposition.py @@ -32,14 +32,16 @@ class TestAngebotsposition: ), { "positionsbezeichnung": "Beispielangebotsposition", - "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH}, - "positionskosten": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240")}, + "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH, "_id": None}, + "positionskosten": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240"), "_id": None}, "positionspreis": { "bezugswert": Mengeneinheit.KWH, "status": None, "wert": Decimal("0.2456000000000000127453603226967970840632915496826171875"), "einheit": Waehrungseinheit.EUR, + "_id": None, }, + "_id": None, }, ), ], diff --git a/tests/test_angebotsteil.py b/tests/test_angebotsteil.py index 61b2f57b7..b9913dd4b 100644 --- a/tests/test_angebotsteil.py +++ b/tests/test_angebotsteil.py @@ -42,14 +42,16 @@ "positionen": [ { "positionsbezeichnung": "teststring", - "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH}, - "positionskosten": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240")}, + "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH, "_id": None}, + "positionskosten": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240"), "_id": None}, "positionspreis": { "bezugswert": Mengeneinheit.KWH, "status": None, "wert": Decimal("0.2456000000000000127453603226967970840632915496826171875"), "einheit": Waehrungseinheit.EUR, + "_id": None, }, + "_id": None, }, ], "anfrageSubreferenz": None, @@ -57,6 +59,7 @@ "gesamtmengeangebotsteil": None, "gesamtkostenangebotsteil": None, "lieferzeitraum": None, + "_id": None, } @@ -110,14 +113,20 @@ class TestAngebotsteil: "positionen": [ { "positionsbezeichnung": "testtring", - "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH}, - "positionskosten": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240")}, + "positionsmenge": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH, "_id": None}, + "positionskosten": { + "waehrung": Waehrungseinheit.EUR, + "wert": Decimal("98240"), + "_id": None, + }, "positionspreis": { "bezugswert": Mengeneinheit.KWH, "status": None, "wert": Decimal("0.2456000000000000127453603226967970840632915496826171875"), "einheit": Waehrungseinheit.EUR, + "_id": None, }, + "_id": None, }, ], "lieferstellenangebotsteil": [ @@ -134,6 +143,7 @@ class TestAngebotsteil: "coErgaenzung": None, "ortsteil": None, "landescode": Landescode.DE, # type: ignore[attr-defined] + "_id": None, }, "energierichtung": Energierichtung.EINSP, "bilanzierungsmethode": Bilanzierungsmethode.PAUSCHAL, @@ -154,10 +164,15 @@ class TestAngebotsteil: "kundengruppen": None, "externeReferenzen": [], "boTyp": BoTyp.MARKTLOKATION, + "_id": None, } ], - "gesamtmengeangebotsteil": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH}, - "gesamtkostenangebotsteil": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("98240")}, + "gesamtmengeangebotsteil": {"wert": Decimal("4000"), "einheit": Mengeneinheit.KWH, "_id": None}, + "gesamtkostenangebotsteil": { + "waehrung": Waehrungseinheit.EUR, + "wert": Decimal("98240"), + "_id": None, + }, "anfrageSubreferenz": "teststring", "lieferzeitraum": { "startdatum": datetime(2020, 1, 1, tzinfo=timezone.utc), @@ -166,7 +181,9 @@ class TestAngebotsteil: "enddatum": datetime(2020, 4, 1, tzinfo=timezone.utc), "startzeitpunkt": None, "dauer": None, + "_id": None, }, + "_id": None, }, id="maximal attributes", ), diff --git a/tests/test_angebotsvariante.py b/tests/test_angebotsvariante.py index 6c99ec7cb..b40586780 100644 --- a/tests/test_angebotsvariante.py +++ b/tests/test_angebotsvariante.py @@ -35,6 +35,7 @@ class TestAngebotsvariante: "gesamtkosten": None, "bindefrist": datetime(2022, 2, 1, 0, 0, tzinfo=timezone.utc), "teile": [example_angebotsteil_json], + "_id": None, }, id="minimal attributes", ), @@ -51,6 +52,7 @@ class TestAngebotsvariante: "gesamtmenge": { "einheit": Mengeneinheit.MWH, "wert": Decimal("3.410000000000000142108547152020037174224853515625"), + "_id": None, }, # this is a problem for https://github.com/Hochfrequenz/BO4E-python/issues/249 # I just reused the example_menge but don't attempt to fix it in the context of the Angebotsvariante @@ -59,6 +61,7 @@ class TestAngebotsvariante: "gesamtkosten": example_betrag_json, "bindefrist": datetime(2022, 2, 1, 0, 0, tzinfo=timezone.utc), "teile": [example_angebotsteil_json], + "_id": None, }, id="max attributes", # = min + menge and betrag ), diff --git a/tests/test_aufabschlag.py b/tests/test_aufabschlag.py index ae9285f62..204c3710d 100644 --- a/tests/test_aufabschlag.py +++ b/tests/test_aufabschlag.py @@ -70,6 +70,7 @@ class TestAufAbschlag: "enddatum": datetime(2020, 4, 1, 0, 0, tzinfo=timezone.utc), "startzeitpunkt": None, "dauer": None, + "_id": None, }, "staffeln": [ { @@ -79,17 +80,21 @@ class TestAufAbschlag: "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4"), + "_id": None, }, "staffelgrenzeVon": Decimal("12.5"), "staffelgrenzeBis": Decimal("25"), + "_id": None, }, { "einheitspreis": Decimal("15"), "sigmoidparameter": None, "staffelgrenzeVon": Decimal("2.5"), "staffelgrenzeBis": Decimal("40.5"), + "_id": None, }, ], + "_id": None, }, id="maximal attributes", ), @@ -109,8 +114,10 @@ class TestAufAbschlag: "sigmoidparameter": None, "staffelgrenzeVon": Decimal("2.5"), "staffelgrenzeBis": Decimal("40.5"), + "_id": None, }, ], + "_id": None, }, id="minimal attributes", ), diff --git a/tests/test_aufabschlagproort.py b/tests/test_aufabschlagproort.py index 8d9c4ecf3..f3dd625da 100644 --- a/tests/test_aufabschlagproort.py +++ b/tests/test_aufabschlagproort.py @@ -35,8 +35,10 @@ class TestAufAbschlagProOrt: "wert": Decimal("2.5"), "staffelgrenzeVon": Decimal("1"), "staffelgrenzeBis": Decimal("5"), + "_id": None, } ], + "_id": None, }, ) ], diff --git a/tests/test_aufabschlagregional.py b/tests/test_aufabschlagregional.py index dc5365cf6..c94df64eb 100644 --- a/tests/test_aufabschlagregional.py +++ b/tests/test_aufabschlagregional.py @@ -59,8 +59,10 @@ class TestAufAbschlagRegional: "wert": Decimal("2.5"), "staffelgrenzeVon": Decimal("1"), "staffelgrenzeBis": Decimal("5"), + "_id": None, } ], + "_id": None, }, ], "beschreibung": None, @@ -76,6 +78,7 @@ class TestAufAbschlagRegional: "vertagskonditionsaenderung": None, "garantieaenderung": None, "einschraenkungsaenderung": None, + "_id": None, }, id="only required attributes", ), @@ -142,8 +145,10 @@ class TestAufAbschlagRegional: "wert": Decimal("2.5"), "staffelgrenzeVon": Decimal("1"), "staffelgrenzeBis": Decimal("5"), + "_id": None, } ], + "_id": None, }, ], "beschreibung": "bar", @@ -161,6 +166,7 @@ class TestAufAbschlagRegional: "enddatum": datetime(2020, 4, 1, 0, 0, tzinfo=timezone.utc), "startzeitpunkt": None, "dauer": None, + "_id": None, }, "energiemixaenderung": { "energiemixnummer": 2, @@ -168,10 +174,7 @@ class TestAufAbschlagRegional: "bezeichnung": "foo", "gueltigkeitsjahr": 2021, "anteil": [ - { - "erzeugungsart": Erzeugungsart.BIOGAS, - "anteilProzent": Decimal("40"), - } + {"erzeugungsart": Erzeugungsart.BIOGAS, "anteilProzent": Decimal("40"), "_id": None} ], "oekolabel": [], "bemerkung": None, @@ -180,6 +183,7 @@ class TestAufAbschlagRegional: "website": None, "oekozertifikate": [], "oekoTopTen": None, + "_id": None, }, "vertagskonditionsaenderung": { "beschreibung": None, @@ -188,6 +192,7 @@ class TestAufAbschlagRegional: "kuendigungsfrist": None, "vertragsverlaengerung": None, "abschlagszyklus": None, + "_id": None, }, "garantieaenderung": { "beschreibung": None, @@ -199,14 +204,18 @@ class TestAufAbschlagRegional: "enddatum": datetime(2020, 4, 1, 0, 0, tzinfo=timezone.utc), "startzeitpunkt": None, "dauer": None, + "_id": None, }, + "_id": None, }, "einschraenkungsaenderung": { "zusatzprodukte": None, "voraussetzungen": None, "einschraenkungzaehler": None, "einschraenkungleistung": None, + "_id": None, }, + "_id": None, }, id="required and optional attributes", ), diff --git a/tests/test_aufabschlagstaffelproort.py b/tests/test_aufabschlagstaffelproort.py index e7d361b56..570d7ee94 100644 --- a/tests/test_aufabschlagstaffelproort.py +++ b/tests/test_aufabschlagstaffelproort.py @@ -22,6 +22,7 @@ class TestAufAbschlagstaffelProOrt: "wert": Decimal("2.5"), "staffelgrenzeVon": Decimal("1"), "staffelgrenzeBis": Decimal("5"), + "_id": None, }, ), ], diff --git a/tests/test_ausschreibungsdetail.py b/tests/test_ausschreibungsdetail.py index ef17da9e8..799244ba2 100644 --- a/tests/test_ausschreibungsdetail.py +++ b/tests/test_ausschreibungsdetail.py @@ -35,6 +35,7 @@ "enddatum": None, "einheit": Zeiteinheit.TAG, "startzeitpunkt": None, + "_id": None, }, "marktlokationsadresse": { "landescode": Landescode.DE, # type: ignore[attr-defined] @@ -46,6 +47,7 @@ "postfach": None, "coErgaenzung": None, "ortsteil": None, + "_id": None, }, "rechnungsadresse": { "landescode": Landescode.DE, # type: ignore[attr-defined] @@ -57,6 +59,7 @@ "postfach": None, "coErgaenzung": None, "ortsteil": None, + "_id": None, }, "netzbetreiber": None, "netzebeneLieferung": Netzebene.MSP, @@ -66,6 +69,7 @@ "lastgangVorhanden": None, "prognoseJahresarbeit": None, "marktlokationsId": "56789012345", + "_id": None, } @@ -100,6 +104,7 @@ class TestAusschreibungsdetail: "endzeitpunkt": None, "dauer": Decimal("5"), "startzeitpunkt": None, + "_id": None, }, "zaehlertechnik": Zaehlertyp.LEISTUNGSZAEHLER, "kunde": "Dei Mudder ihr Kunde", @@ -114,6 +119,7 @@ class TestAusschreibungsdetail: "strasse": "Nördliche Münchner Straße", "coErgaenzung": None, "ortsteil": None, + "_id": None, }, "rechnungsadresse": { "hausnummer": "27A", @@ -125,15 +131,21 @@ class TestAusschreibungsdetail: "strasse": "Nördliche Münchner Straße", "coErgaenzung": None, "ortsteil": None, + "_id": None, }, "zaehlernummer": "1YSK4234092304", - "prognoseJahresarbeit": {"wert": Decimal("2500"), "einheit": Mengeneinheit.KWH}, + "prognoseJahresarbeit": {"wert": Decimal("2500"), "einheit": Mengeneinheit.KWH, "_id": None}, "netzebeneLieferung": Netzebene.MSP, "marktlokationsId": "56789012345", - "prognoseLeistung": {"wert": Decimal("40"), "einheit": Mengeneinheit.KW}, + "prognoseLeistung": {"wert": Decimal("40"), "einheit": Mengeneinheit.KW, "_id": None}, "lastgangVorhanden": True, "netzebeneMessung": Netzebene.NSP, - "prognoseArbeitLieferzeitraum": {"wert": Decimal("2500"), "einheit": Mengeneinheit.KWH}, + "prognoseArbeitLieferzeitraum": { + "wert": Decimal("2500"), + "einheit": Mengeneinheit.KWH, + "_id": None, + }, + "_id": None, }, ), pytest.param(example_ausschreibungsdetail, example_ausschreibungsdetail_dict), diff --git a/tests/test_ausschreibungslos.py b/tests/test_ausschreibungslos.py index 1d61fba58..608418bb4 100644 --- a/tests/test_ausschreibungslos.py +++ b/tests/test_ausschreibungslos.py @@ -58,6 +58,7 @@ class TestAusschreibungslos: "wunschRechnungslegung": Rechnungslegung.MONATSRECHN, "wunschMindestmenge": example_menge_dict, "betreutDurch": "Max Mustermann", + "_id": None, }, id="maximal attributes", ), diff --git a/tests/test_betrag.py b/tests/test_betrag.py index 0c7483e38..933e13dc8 100644 --- a/tests/test_betrag.py +++ b/tests/test_betrag.py @@ -14,7 +14,7 @@ wert=Decimal(12.5), ) -example_betrag_json = {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR} +example_betrag_json = {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR, "_id": None} class TestBetrag: diff --git a/tests/test_buendelvertrag.py b/tests/test_buendelvertrag.py index be1c4de82..bb15cebf5 100644 --- a/tests/test_buendelvertrag.py +++ b/tests/test_buendelvertrag.py @@ -75,12 +75,14 @@ class TestBuendelvertrag: "coErgaenzung": None, "landescode": Landescode.DE, # type:ignore[attr-defined] "ortsteil": None, + "_id": None, }, "versionstruktur": "2", "boTyp": BoTyp.GESCHAEFTSPARTNER, "externeReferenzen": [], "hrnummer": None, "amtsgericht": None, + "_id": None, } _vertragspartner2_dict: Dict[str, Any] = { "name1": "Eckart", @@ -97,6 +99,7 @@ class TestBuendelvertrag: "coErgaenzung": None, "landescode": Landescode.DE, # type:ignore[attr-defined] "ortsteil": None, + "_id": None, }, "versionstruktur": "2", "boTyp": BoTyp.GESCHAEFTSPARTNER, @@ -110,6 +113,7 @@ class TestBuendelvertrag: "glaeubigerId": None, "eMailAdresse": None, "website": None, + "_id": None, } @pytest.mark.parametrize( @@ -143,6 +147,7 @@ class TestBuendelvertrag: "unterzeichnervp1": [], "unterzeichnervp2": [], "beschreibung": None, + "_id": None, }, id="minimal fields", ), @@ -183,14 +188,16 @@ class TestBuendelvertrag: "kuendigungsfrist": None, "vertragsverlaengerung": None, "abschlagszyklus": None, + "_id": None, } ], - "unterzeichnervp1": [{"name": "Helga van der Waal", "ort": None, "datum": None}], + "unterzeichnervp1": [{"name": "Helga van der Waal", "ort": None, "datum": None, "_id": None}], "unterzeichnervp2": [ - {"name": "Björn oder so", "ort": None, "datum": None}, - {"name": "Zweiter Typ", "ort": None, "datum": None}, + {"name": "Björn oder so", "ort": None, "datum": None, "_id": None}, + {"name": "Zweiter Typ", "ort": None, "datum": None, "_id": None}, ], "beschreibung": "Das ist ein Bündelvertrag mit allen optionalen Feldern ausgefüllt.", + "_id": None, }, id="maximal fields", ), diff --git a/tests/test_data/test_data_adresse/test_data_adresse_missing_plz.json b/tests/test_data/test_data_adresse/test_data_adresse_missing_plz.json index c89c5022b..80bc00738 100644 --- a/tests/test_data/test_data_adresse/test_data_adresse_missing_plz.json +++ b/tests/test_data/test_data_adresse/test_data_adresse_missing_plz.json @@ -1,5 +1,6 @@ { "ort": "Grünwald", "strasse": "Nördliche Müncher Straße", - "hausnummer": "27A" + "hausnummer": "27A", + "_id": null } diff --git a/tests/test_data/test_data_adresse/test_data_adresse_only_required_fields.json b/tests/test_data/test_data_adresse/test_data_adresse_only_required_fields.json index 0c0edb213..2d9efa038 100644 --- a/tests/test_data/test_data_adresse/test_data_adresse_only_required_fields.json +++ b/tests/test_data/test_data_adresse/test_data_adresse_only_required_fields.json @@ -2,5 +2,6 @@ "postleitzahl": "82031", "ort": "Grünwald", "strasse": "Nördliche Münchner Straße", - "hausnummer": "27A" + "hausnummer": "27A", + "_id": null } diff --git a/tests/test_data/test_data_adresse/test_data_adresse_with_all_possible_fields.json b/tests/test_data/test_data_adresse/test_data_adresse_with_all_possible_fields.json index b0959062b..bb176fde4 100644 --- a/tests/test_data/test_data_adresse/test_data_adresse_with_all_possible_fields.json +++ b/tests/test_data/test_data_adresse/test_data_adresse_with_all_possible_fields.json @@ -7,5 +7,6 @@ "adresszusatz": "to whom it may concern", "co_ergaenzung": "you will find me", "landescode": "FR", - "ortsteil": "Mitte" + "ortsteil": "Mitte", + "_id": null } diff --git a/tests/test_energieherkunft.py b/tests/test_energieherkunft.py index 9961b1599..4b2a01213 100644 --- a/tests/test_energieherkunft.py +++ b/tests/test_energieherkunft.py @@ -18,10 +18,7 @@ class TestEnergieherkunft: [ pytest.param( example_energieherkunft, - { - "erzeugungsart": Erzeugungsart.BIOMASSE, - "anteilProzent": Decimal("25.5"), - }, + {"erzeugungsart": Erzeugungsart.BIOMASSE, "anteilProzent": Decimal("25.5"), "_id": None}, ), ], ) diff --git a/tests/test_energiemix.py b/tests/test_energiemix.py index 95351b0ec..bd04be5cb 100644 --- a/tests/test_energiemix.py +++ b/tests/test_energiemix.py @@ -37,12 +37,7 @@ class TestEnergiemix: "energieart": Sparte.STROM, "bezeichnung": "foo", "gueltigkeitsjahr": 2021, - "anteil": [ - { - "erzeugungsart": Erzeugungsart.BIOGAS, - "anteilProzent": Decimal("40"), - } - ], + "anteil": [{"erzeugungsart": Erzeugungsart.BIOGAS, "anteilProzent": Decimal("40"), "_id": None}], "oekolabel": [], "bemerkung": None, "co2Emission": None, @@ -50,6 +45,7 @@ class TestEnergiemix: "website": None, "oekozertifikate": [], "oekoTopTen": None, + "_id": None, }, id="only required attributes", ), @@ -86,14 +82,8 @@ class TestEnergiemix: "bezeichnung": "foo", "gueltigkeitsjahr": 2021, "anteil": [ - { - "erzeugungsart": Erzeugungsart.BIOGAS, - "anteilProzent": Decimal("40"), - }, - { - "erzeugungsart": Erzeugungsart.GEOTHERMIE, - "anteilProzent": Decimal("60"), - }, + {"erzeugungsart": Erzeugungsart.BIOGAS, "anteilProzent": Decimal("40"), "_id": None}, + {"erzeugungsart": Erzeugungsart.GEOTHERMIE, "anteilProzent": Decimal("60"), "_id": None}, ], "oekolabel": ["GASGREEN", "GRUENER_STROM_GOLD"], "bemerkung": "bar", @@ -102,6 +92,7 @@ class TestEnergiemix: "website": "foobar.de", "oekozertifikate": ["FRAUNHOFER", "FREIBERG"], "oekoTopTen": True, + "_id": None, }, id="required and optional attributes", ), diff --git a/tests/test_fremdkostenblock.py b/tests/test_fremdkostenblock.py index 0fe36dc53..f71ab5ed2 100644 --- a/tests/test_fremdkostenblock.py +++ b/tests/test_fremdkostenblock.py @@ -54,6 +54,7 @@ class TestFremdkostenblock: "einheit": Waehrungseinheit.EUR, "bezugswert": Mengeneinheit.KWH, "status": Preisstatus.ENDGUELTIG, + "_id": None, }, "bis": None, "menge": None, @@ -63,11 +64,17 @@ class TestFremdkostenblock: "artikeldetail": None, "von": None, "linkPreisblatt": None, - "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR}, + "betragKostenposition": { + "wert": Decimal("12.5"), + "waehrung": Waehrungseinheit.EUR, + "_id": None, + }, "gebietcodeEic": None, + "_id": None, } ], - "summeKostenblock": {"wert": Decimal("98240"), "waehrung": Waehrungseinheit.EUR}, + "summeKostenblock": {"wert": Decimal("98240"), "waehrung": Waehrungseinheit.EUR, "_id": None}, + "_id": None, }, id="maximal attributes", ), @@ -77,6 +84,7 @@ class TestFremdkostenblock: "kostenblockbezeichnung": "teststring", "kostenpositionen": None, "summeKostenblock": None, + "_id": None, }, id="minimal attributes", ), diff --git a/tests/test_fremdkostenposition.py b/tests/test_fremdkostenposition.py index 5683e37dd..026ffc761 100644 --- a/tests/test_fremdkostenposition.py +++ b/tests/test_fremdkostenposition.py @@ -44,6 +44,7 @@ class TestFremdkostenposition: "einheit": Waehrungseinheit.EUR, "bezugswert": Mengeneinheit.KWH, "status": Preisstatus.ENDGUELTIG, + "_id": None, }, "bis": None, "menge": None, @@ -53,8 +54,9 @@ class TestFremdkostenposition: "artikeldetail": None, "von": None, "linkPreisblatt": None, - "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR}, + "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR, "_id": None}, "gebietcodeEic": None, + "_id": None, }, id="only required attributes", ), @@ -91,22 +93,26 @@ class TestFremdkostenposition: "status": Preisstatus.ENDGUELTIG, "wert": Decimal("3.5"), "einheit": Waehrungseinheit.EUR, + "_id": None, }, "menge": { "wert": Decimal("3.410000000000000142108547152020037174224853515625"), "einheit": Mengeneinheit.MWH, + "_id": None, }, "zeitmenge": { "wert": Decimal("3.410000000000000142108547152020037174224853515625"), "einheit": Mengeneinheit.MWH, + "_id": None, }, "marktpartnercode": "986543210123", "bis": datetime(2014, 5, 1, 0, 0, tzinfo=timezone.utc), "positionstitel": "Vadders Preisstaffel", "von": datetime(2013, 5, 1, 0, 0, tzinfo=timezone.utc), - "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR}, + "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR, "_id": None}, "gebietcodeEic": "not an eic code but validation will follow in ticket 146", "linkPreisblatt": "http://foo.bar/", + "_id": None, }, id="required and optional attributes", ), diff --git a/tests/test_geraet.py b/tests/test_geraet.py index e17d39e9c..5f4a3859f 100644 --- a/tests/test_geraet.py +++ b/tests/test_geraet.py @@ -13,7 +13,9 @@ class TestGeraet: @pytest.mark.parametrize( "geraet, expected_json_dict", [ - pytest.param(Geraet(), {"geraetenummer": None, "geraeteeigenschaften": None}, id="Minimal attributes"), + pytest.param( + Geraet(), {"geraetenummer": None, "geraeteeigenschaften": None, "_id": None}, id="Minimal attributes" + ), pytest.param( Geraet( geraetenummer="0815", @@ -24,7 +26,12 @@ class TestGeraet: ), { "geraetenummer": "0815", - "geraeteeigenschaften": {"geraetemerkmal": "GAS_G1000", "geraetetyp": Geraetetyp.MULTIPLEXANLAGE}, + "geraeteeigenschaften": { + "geraetemerkmal": "GAS_G1000", + "geraetetyp": Geraetetyp.MULTIPLEXANLAGE, + "_id": None, + }, + "_id": None, }, id="Maximal attributes", ), diff --git a/tests/test_geraeteeigenschaften.py b/tests/test_geraeteeigenschaften.py index 42c62553e..fd7875368 100644 --- a/tests/test_geraeteeigenschaften.py +++ b/tests/test_geraeteeigenschaften.py @@ -19,7 +19,7 @@ class TestGeraeteeigenschaften: [ pytest.param( example_geraeteeigenschaften, - {"geraetemerkmal": "GAS_G1000", "geraetetyp": Geraetetyp.MULTIPLEXANLAGE}, + {"geraetemerkmal": "GAS_G1000", "geraetetyp": Geraetetyp.MULTIPLEXANLAGE, "_id": None}, ), ], ) diff --git a/tests/test_geschaeftsobjekt.py b/tests/test_geschaeftsobjekt.py index 3c8c39509..64d53cba8 100644 --- a/tests/test_geschaeftsobjekt.py +++ b/tests/test_geschaeftsobjekt.py @@ -60,5 +60,5 @@ def test_no_list_in_externen_referenzen(self) -> None: bo_typ=BoTyp.ENERGIEMENGE, externe_referenzen=ExterneReferenz(ex_ref_name="Schufa-ID", ex_ref_wert="aksdlakoeuhn"), # type: ignore[arg-type] ) - assert "2 validation error" in str(excinfo.value) + assert "3 validation error" in str(excinfo.value) assert "type=model_type" in str(excinfo.value) diff --git a/tests/test_kostenblock.py b/tests/test_kostenblock.py index e215902cb..1d70c730b 100644 --- a/tests/test_kostenblock.py +++ b/tests/test_kostenblock.py @@ -28,6 +28,7 @@ class TestKostenblock: "kostenblockbezeichnung": "Mein Kostenblock", "summeKostenblock": None, "kostenpositionen": None, + "_id": None, }, id="minimal", ), @@ -65,6 +66,7 @@ class TestKostenblock: "status": Preisstatus.ENDGUELTIG, "bezugswert": Mengeneinheit.KWH, "wert": Decimal("3.5"), + "_id": None, }, "menge": None, "zeitmenge": None, @@ -72,10 +74,16 @@ class TestKostenblock: "artikelbezeichnung": "Dei Mudder ihr kostenposition", "artikeldetail": None, "bis": None, - "betragKostenposition": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("12.5")}, + "betragKostenposition": { + "waehrung": Waehrungseinheit.EUR, + "wert": Decimal("12.5"), + "_id": None, + }, + "_id": None, } ], - "summeKostenblock": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("12.5")}, + "summeKostenblock": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("12.5"), "_id": None}, + "_id": None, }, id="maximal", ), diff --git a/tests/test_kostenposition.py b/tests/test_kostenposition.py index 1f3afddf1..9811e910d 100644 --- a/tests/test_kostenposition.py +++ b/tests/test_kostenposition.py @@ -43,6 +43,7 @@ class TestKostenposition: "einheit": Waehrungseinheit.EUR, "wert": Decimal("3.5"), "bezugswert": Mengeneinheit.KWH, + "_id": None, }, "bis": None, "von": None, @@ -50,7 +51,8 @@ class TestKostenposition: "zeitmenge": None, "artikelbezeichnung": "Dei Mudder ihr Preisstaffel", "artikeldetail": None, - "betragKostenposition": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("12.5")}, + "betragKostenposition": {"waehrung": Waehrungseinheit.EUR, "wert": Decimal("12.5"), "_id": None}, + "_id": None, }, id="only required attributes", ), @@ -80,6 +82,7 @@ class TestKostenposition: "menge": { "wert": Decimal("3.410000000000000142108547152020037174224853515625"), "einheit": Mengeneinheit.MWH, + "_id": None, }, "artikeldetail": "foo", "einzelpreis": { @@ -87,14 +90,17 @@ class TestKostenposition: "status": Preisstatus.ENDGUELTIG, "wert": Decimal("3.5"), "einheit": Waehrungseinheit.EUR, + "_id": None, }, "von": datetime(2013, 5, 1, 0, 0, tzinfo=timezone.utc), "zeitmenge": { "wert": Decimal("3.410000000000000142108547152020037174224853515625"), "einheit": Mengeneinheit.MWH, + "_id": None, }, "bis": datetime(2014, 5, 1, 0, 0, tzinfo=timezone.utc), - "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR}, + "betragKostenposition": {"wert": Decimal("12.5"), "waehrung": Waehrungseinheit.EUR, "_id": None}, + "_id": None, }, id="required and optional attributes", ), diff --git a/tests/test_kriteriumswert.py b/tests/test_kriteriumswert.py index 5e03d62ee..0e470adaf 100644 --- a/tests/test_kriteriumswert.py +++ b/tests/test_kriteriumswert.py @@ -17,7 +17,7 @@ class TestKriteriumWert: kriterium=Tarifregionskriterium.ORT, wert="Grünwald", ), - {"kriterium": Tarifregionskriterium.ORT, "wert": "Grünwald"}, + {"kriterium": Tarifregionskriterium.ORT, "wert": "Grünwald", "_id": None}, ), ], ) diff --git a/tests/test_lastgangkompakt.py b/tests/test_lastgangkompakt.py index 3673ddbd4..b1bac4373 100644 --- a/tests/test_lastgangkompakt.py +++ b/tests/test_lastgangkompakt.py @@ -36,13 +36,14 @@ class TestLastgangKompakt: "sparte": Sparte.STROM, "lokationstyp": Lokationstyp.MELO, "messgroesse": Mengeneinheit.KWH, - "zeitintervall": {"zeiteinheit": "VIERTEL_STUNDE", "wert": 1}, + "zeitintervall": {"zeiteinheit": "VIERTEL_STUNDE", "wert": 1, "_id": None}, "tagesvektoren": [example_tagesvektor_json], "versionstruktur": "2", "externeReferenzen": [], "lokationsId": "DE0000011111222223333344444555556", "boTyp": "LASTGANG_KOMPAKT", "obisKennzahl": "1-0:1.8.1", + "_id": None, }, ), ], diff --git a/tests/test_menge.py b/tests/test_menge.py index 15ab947d9..2fc011212 100644 --- a/tests/test_menge.py +++ b/tests/test_menge.py @@ -11,6 +11,7 @@ example_menge_dict = { "wert": Decimal("3.410000000000000142108547152020037174224853515625"), "einheit": Mengeneinheit.MWH, + "_id": None, } diff --git a/tests/test_positionsaufabschlag.py b/tests/test_positionsaufabschlag.py index 9bf1e6593..e343f08f6 100644 --- a/tests/test_positionsaufabschlag.py +++ b/tests/test_positionsaufabschlag.py @@ -28,6 +28,7 @@ class TestPositionsAufAbschlag: "aufAbschlagstyp": AufAbschlagstyp.ABSOLUT, "aufAbschlagswert": Decimal("4.25"), "aufAbschlagswaehrung": Waehrungseinheit.EUR, + "_id": None, }, ), ], diff --git a/tests/test_preisgarantie.py b/tests/test_preisgarantie.py index 6d917a38e..929dac7ec 100644 --- a/tests/test_preisgarantie.py +++ b/tests/test_preisgarantie.py @@ -34,7 +34,9 @@ class TestPreisgarantie: "enddatum": datetime(2020, 4, 1, 0, 0, tzinfo=timezone.utc), "startzeitpunkt": None, "dauer": None, + "_id": None, }, + "_id": None, }, ), ], diff --git a/tests/test_preisstaffel.py b/tests/test_preisstaffel.py index c5fe79a21..335007341 100644 --- a/tests/test_preisstaffel.py +++ b/tests/test_preisstaffel.py @@ -26,9 +26,16 @@ class TestPreisstaffel: ), { "einheitspreis": Decimal("40"), - "sigmoidparameter": {"A": Decimal("1"), "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4")}, + "sigmoidparameter": { + "A": Decimal("1"), + "B": Decimal("2"), + "C": Decimal("3"), + "D": Decimal("4"), + "_id": None, + }, "staffelgrenzeVon": Decimal("12.5"), "staffelgrenzeBis": Decimal("25"), + "_id": None, }, id="all attributes", ), @@ -39,6 +46,7 @@ class TestPreisstaffel: "staffelgrenzeVon": Decimal("12.5"), "staffelgrenzeBis": Decimal("25"), "sigmoidparameter": None, + "_id": None, }, id="only required params", ), diff --git a/tests/test_regionalegueltigkeit.py b/tests/test_regionalegueltigkeit.py index d3c8bb07e..99634f224 100644 --- a/tests/test_regionalegueltigkeit.py +++ b/tests/test_regionalegueltigkeit.py @@ -26,12 +26,8 @@ class TestRegionaleGueltigkeit: ), { "gueltigkeitstyp": "NUR_IN", - "kriteriumsWerte": [ - { - "kriterium": "NETZ_NUMMER", - "wert": "12345", - } - ], + "kriteriumsWerte": [{"kriterium": "NETZ_NUMMER", "wert": "12345", "_id": None}], + "_id": None, }, id="only required attributes", ), diff --git a/tests/test_regionalepreisgarantie.py b/tests/test_regionalepreisgarantie.py index 79529794c..728dd0405 100644 --- a/tests/test_regionalepreisgarantie.py +++ b/tests/test_regionalepreisgarantie.py @@ -37,7 +37,10 @@ class TestRegionalePreisgarantie: "preisgarantietyp": "NUR_ENERGIEPREIS", "regionaleGueltigkeit": { "gueltigkeitstyp": "NUR_IN", - "kriteriumsWerte": [{"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069"}], + "kriteriumsWerte": [ + {"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069", "_id": None} + ], + "_id": None, }, "zeitlicheGueltigkeit": { "startdatum": None, @@ -46,7 +49,9 @@ class TestRegionalePreisgarantie: "dauer": None, "endzeitpunkt": datetime(2021, 7, 30, 0, 0, tzinfo=timezone.utc), "startzeitpunkt": datetime(2011, 2, 5, 16, 43, tzinfo=timezone.utc), + "_id": None, }, + "_id": None, }, id="only required attributes", ), diff --git a/tests/test_regionalepreisstaffel.py b/tests/test_regionalepreisstaffel.py index 849014589..32e6b0116 100644 --- a/tests/test_regionalepreisstaffel.py +++ b/tests/test_regionalepreisstaffel.py @@ -34,12 +34,22 @@ class TestRegionalePreisstaffel: { "regionaleGueltigkeit": { "gueltigkeitstyp": "NUR_IN", - "kriteriumsWerte": [{"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069"}], + "kriteriumsWerte": [ + {"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069", "_id": None} + ], + "_id": None, }, "einheitspreis": Decimal("40"), - "sigmoidparameter": {"A": Decimal("1"), "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4")}, + "sigmoidparameter": { + "A": Decimal("1"), + "B": Decimal("2"), + "C": Decimal("3"), + "D": Decimal("4"), + "_id": None, + }, "staffelgrenzeVon": Decimal("12.5"), "staffelgrenzeBis": Decimal("25"), + "_id": None, }, id="maximal attributes" # the messing sigmoidparameter is tested in the Preisstaffel tests diff --git a/tests/test_regionaletarifpreisposition.py b/tests/test_regionaletarifpreisposition.py index bdce728f6..db6cce042 100644 --- a/tests/test_regionaletarifpreisposition.py +++ b/tests/test_regionaletarifpreisposition.py @@ -48,7 +48,10 @@ class TestRegionaleTarifpreisPosition: { "regionaleGueltigkeit": { "gueltigkeitstyp": "NUR_IN", - "kriteriumsWerte": [{"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069"}], + "kriteriumsWerte": [ + {"kriterium": Tarifregionskriterium.POSTLEITZAHL, "wert": "01069", "_id": None} + ], + "_id": None, }, "einheitspreis": Decimal("40"), "sigmoidparameter": { @@ -56,14 +59,17 @@ class TestRegionaleTarifpreisPosition: "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4"), + "_id": None, }, "staffelgrenzeVon": Decimal("12.5"), "staffelgrenzeBis": Decimal("25"), + "_id": None, } ], "einheit": Waehrungseinheit.EUR, "mengeneinheitstaffel": Mengeneinheit.WH, "preistyp": "ARBEITSPREIS_NT", + "_id": None, }, id="all attributes", ), diff --git a/tests/test_regionskriterium.py b/tests/test_regionskriterium.py index 10ac7597c..0bd8244bd 100644 --- a/tests/test_regionskriterium.py +++ b/tests/test_regionskriterium.py @@ -25,6 +25,7 @@ class TestRegionskriterium: "gueltigkeitstyp": "NICHT_IN", "regionskriteriumtyp": "REGELGEBIET_NAME", "wert": "Was ist ein Regionskriterium?", + "_id": None, }, ), ], diff --git a/tests/test_sigmoidparameter.py b/tests/test_sigmoidparameter.py index 4f89c4368..90d512ea4 100644 --- a/tests/test_sigmoidparameter.py +++ b/tests/test_sigmoidparameter.py @@ -22,7 +22,7 @@ class TestSigmoidparameter: [ pytest.param( example_sigmoidparameter, - {"A": Decimal("1"), "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4")}, + {"A": Decimal("1"), "B": Decimal("2"), "C": Decimal("3"), "D": Decimal("4"), "_id": None}, ), ], ) diff --git a/tests/test_standorteigenschaftengas.py b/tests/test_standorteigenschaftengas.py index d018d61dc..984a0b4f7 100644 --- a/tests/test_standorteigenschaftengas.py +++ b/tests/test_standorteigenschaftengas.py @@ -21,7 +21,8 @@ class TestStandorteigenschaftenGas: example_standorteigenschaften_gas, { "netzkontonummern": ["GASPOOLNH700xxxx"], - "marktgebiete": [{"marktgebiet": "Gaspool", "marktgebietcode": "37Z701133MH0000B"}], + "marktgebiete": [{"marktgebiet": "Gaspool", "marktgebietcode": "37Z701133MH0000B", "_id": None}], + "_id": None, }, ) ], diff --git a/tests/test_standorteigenschaftenstrom.py b/tests/test_standorteigenschaftenstrom.py index 339eaf48e..55292191a 100644 --- a/tests/test_standorteigenschaftenstrom.py +++ b/tests/test_standorteigenschaftenstrom.py @@ -23,6 +23,7 @@ class TestStandorteigenschaftenStrom: "regelzone": "Transnet BW", "bilanzierungsgebietEic": "11YW-ALBSTADT--5", "regelzoneEic": "10YDE-ENBW-----N", + "_id": None, }, ) ], diff --git a/tests/test_steuerbetrag.py b/tests/test_steuerbetrag.py index cb0ce7e3f..1870dbd83 100644 --- a/tests/test_steuerbetrag.py +++ b/tests/test_steuerbetrag.py @@ -29,6 +29,7 @@ class TestSteuerbetrag: "basiswert": Decimal("100"), "steuerwert": Decimal("19"), "waehrung": Waehrungseinheit.EUR, + "_id": None, }, ), ], diff --git a/tests/test_tagesvektor.py b/tests/test_tagesvektor.py index 95a4feaf4..6ddf04d23 100644 --- a/tests/test_tagesvektor.py +++ b/tests/test_tagesvektor.py @@ -24,9 +24,10 @@ example_tagesvektor_json = { "tag": datetime(2021, 12, 15, 5, 0, tzinfo=timezone.utc), "werte": [ - {"wert": Decimal("40"), "statuszusatz": None, "status": None}, - {"wert": Decimal("50"), "statuszusatz": None, "status": None}, + {"wert": Decimal("40"), "statuszusatz": None, "status": None, "_id": None}, + {"wert": Decimal("50"), "statuszusatz": None, "status": None, "_id": None}, ], + "_id": None, } diff --git a/tests/test_tarifeinschraenkung.py b/tests/test_tarifeinschraenkung.py index 18d1f9536..0b57fa044 100644 --- a/tests/test_tarifeinschraenkung.py +++ b/tests/test_tarifeinschraenkung.py @@ -44,6 +44,7 @@ class TestTarifeinschraenkung: "voraussetzungen": None, "einschraenkungzaehler": None, "einschraenkungleistung": None, + "_id": None, }, id="minimal attributes", ), @@ -75,23 +76,17 @@ class TestTarifeinschraenkung: "geraeteeigenschaften": { "geraetemerkmal": "GAS_G1000", "geraetetyp": Geraetetyp.MULTIPLEXANLAGE, + "_id": None, }, + "_id": None, }, - { - "geraetenummer": "197foo", - "geraeteeigenschaften": None, - }, + {"geraetenummer": "197foo", "geraeteeigenschaften": None, "_id": None}, ], "einschraenkungleistung": [ - { - "wert": Decimal("12.5"), - "einheit": Mengeneinheit.MWH, - }, - { - "wert": Decimal("30"), - "einheit": Mengeneinheit.KWH, - }, + {"wert": Decimal("12.5"), "einheit": Mengeneinheit.MWH, "_id": None}, + {"wert": Decimal("30"), "einheit": Mengeneinheit.KWH, "_id": None}, ], + "_id": None, }, id="maximal attributes", ), diff --git a/tests/test_tarifpreisposition.py b/tests/test_tarifpreisposition.py index 80a09765f..9cba65300 100644 --- a/tests/test_tarifpreisposition.py +++ b/tests/test_tarifpreisposition.py @@ -41,9 +41,11 @@ class TestTarifpreisposition: "sigmoidparameter": None, "staffelgrenzeBis": Decimal("25"), "staffelgrenzeVon": Decimal("12.5"), + "_id": None, } ], "mengeneinheitstaffel": None, + "_id": None, }, id="only required attributes", ), @@ -71,9 +73,11 @@ class TestTarifpreisposition: "sigmoidparameter": None, "staffelgrenzeBis": Decimal("25"), "staffelgrenzeVon": Decimal("12.5"), + "_id": None, } ], "mengeneinheitstaffel": Mengeneinheit.STUECK, + "_id": None, }, id="optional and required attributes", ), diff --git a/tests/test_verbrauch.py b/tests/test_verbrauch.py index 094244f7f..a6ccfdd5e 100644 --- a/tests/test_verbrauch.py +++ b/tests/test_verbrauch.py @@ -38,6 +38,7 @@ class TestVerbrauch: "enddatum": datetime(2021, 12, 2, 0, 0, tzinfo=timezone.utc), "wertermittlungsverfahren": Wertermittlungsverfahren.MESSUNG, "obisKennzahl": "1-0:1.8.1", + "_id": None, }, ), pytest.param( @@ -49,6 +50,7 @@ class TestVerbrauch: "startdatum": None, "enddatum": None, "obisKennzahl": "1-0:1.8.1", + "_id": None, }, ), ], diff --git a/tests/test_vertrag.py b/tests/test_vertrag.py index fa08d0232..29698ac82 100644 --- a/tests/test_vertrag.py +++ b/tests/test_vertrag.py @@ -91,7 +91,9 @@ class TestVertrag: "coErgaenzung": None, "landescode": Landescode.DE, # type:ignore[attr-defined] "ortsteil": None, + "_id": None, }, + "_id": None, } _vertragspartner2_dict: Dict[str, Any] = { "versionstruktur": "2", @@ -120,7 +122,9 @@ class TestVertrag: "coErgaenzung": None, "landescode": Landescode.DE, # type:ignore[attr-defined] "ortsteil": None, + "_id": None, }, + "_id": None, } _vertragsteile_dict: List[Dict[str, Any]] = [ { @@ -130,6 +134,7 @@ class TestVertrag: "vertraglichFixierteMenge": None, "minimaleAbnahmemenge": None, "maximaleAbnahmemenge": None, + "_id": None, } ] @@ -164,6 +169,7 @@ def get_example_vertrag_expected_dict(self) -> Dict[str, Any]: "vertragskonditionen": None, "unterzeichnervp1": None, "unterzeichnervp2": None, + "_id": None, } def test_serialisation_only_required_attributes(self) -> None: diff --git a/tests/test_zeitraum.py b/tests/test_zeitraum.py index d35d4e8db..7cee95955 100644 --- a/tests/test_zeitraum.py +++ b/tests/test_zeitraum.py @@ -19,6 +19,7 @@ "einheit": Zeiteinheit.TAG, "enddatum": None, "startzeitpunkt": None, + "_id": None, }