import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; import { faker } from "@faker-js/faker"; import { Enums } from "@ibcornelsen/database/client"; export function verbrauchsausweisWohnenFaker(seed: number = 42): VerbrauchsausweisWohnenClient { faker.seed(seed); const tuerenDicht = faker.datatype.boolean(); const verbrauch_1 = faker.number.int({ min: 5000, max: 20000 }); const verbrauch_4 = faker.number.int({ min: 5000, max: 15000 }); const ausweis: VerbrauchsausweisWohnenClient = { rechnungen: null, gebaeude_aufnahme_allgemein: { baujahr_gebaeude: [faker.number.int({ min: 1960, max: 2014 })], baujahr_heizung: [faker.number.int({ min: 1960, max: 2014 })], baujahr_klima: [faker.number.int({ min: 1985, max: 2014 })], adresse: faker.location.streetAddress(), plz: faker.location.zipCode({ format: "#####" }), ort: faker.location.city(), nutzflaeche: faker.number.int({ min: 50, max: 300 }), einheiten: faker.number.int({ min: 1, max: 3 }), saniert: faker.datatype.boolean(), keller: faker.helpers.enumValue(Enums.Heizungsstatus), dachgeschoss: faker.helpers.enumValue(Enums.Heizungsstatus), flaeche: faker.number.int({ min: 50, max: 300 }), gebaeudetyp: "Einfamilienhaus", gebaeudeteil: "Gesamtgebäude", lueftung: "Fensterlüftung", kuehlung: "Vorhanden", gebaeude_stammdaten: { adresse: faker.location.streetAddress(), plz: faker.location.zipCode({ format: "#####" }), ort: faker.location.city(), uid: faker.string.uuid(), gebaeude_bilder: [], latitude: faker.location.latitude(), longitude: faker.location.longitude(), }, brennstoff_1: "Erdgas H", alternative_heizung: faker.datatype.boolean(), alternative_kuehlung: faker.datatype.boolean(), alternative_lueftung: faker.datatype.boolean(), alternative_warmwasser: faker.datatype.boolean(), aussenwand_gedaemmt: faker.datatype.boolean(), aussenwand_min_12cm_gedaemmt: faker.datatype.boolean(), ausweisart: Enums.Ausweisart.VerbrauchsausweisWohnen, bestellt: faker.datatype.boolean(), boxpruefung: faker.datatype.boolean(), brennstoff_2: "Erdgas H", brennwert_kessel: faker.datatype.boolean(), dachgeschoss_gedaemmt: faker.datatype.boolean(), dachgeschoss_min_12cm_gedaemmt: faker.datatype.boolean(), doppel_verglasung: faker.datatype.boolean(), dreifach_verglasung: faker.datatype.boolean(), durchlauf_erhitzer: faker.datatype.boolean(), einfach_verglasung: faker.datatype.boolean(), einzelofen: faker.datatype.boolean(), energieeffizienzklasse: "", erledigt: faker.datatype.boolean(), erstellungsdatum: faker.date.past(), fenster_dicht: faker.datatype.boolean(), fenster_teilweise_undicht: faker.datatype.boolean(), heizungsrohre_gedaemmt: faker.datatype.boolean(), isolier_verglasung: faker.datatype.boolean(), keller_decke_gedaemmt: faker.datatype.boolean(), keller_wand_gedaemmt: faker.datatype.boolean(), leerstand: faker.number.int({ min: 0, max: 20 }), niedertemperatur_kessel: faker.datatype.boolean(), oberste_geschossdecke_gedaemmt: faker.datatype.boolean(), oberste_geschossdecke_min_12cm_gedaemmt: faker.datatype.boolean(), photovoltaik: faker.datatype.boolean(), prueftext: faker.lorem.sentence(), raum_temperatur_regler: faker.datatype.boolean(), rolllaeden_kaesten_gedaemmt: faker.datatype.boolean(), solarsystem_warmwasser: faker.datatype.boolean(), standard_kessel: faker.datatype.boolean(), storniert: false, tueren_dicht: tuerenDicht, tueren_undicht: !tuerenDicht, waermepumpe: faker.datatype.boolean(), warmwasser_rohre_gedaemmt: faker.datatype.boolean(), zentralheizung: faker.datatype.boolean(), zirkulation: faker.datatype.boolean(), zurueckgestellt: faker.datatype.boolean(), uid: faker.string.uuid(), events: [] }, verbrauch_1: verbrauch_1, verbrauch_2: verbrauch_1 + faker.number.int({ min: -2000, max: 2000 }), verbrauch_3: verbrauch_1 + faker.number.int({ min: -2000, max: 2000 }), einheit_1: "kWh", warmwasser_enthalten: faker.datatype.boolean(), uid: faker.string.uuid(), alternative_heizung: faker.datatype.boolean(), alternative_kuehlung: faker.datatype.boolean(), alternative_lueftung: faker.datatype.boolean(), alternative_warmwasser: faker.datatype.boolean(), anteil_warmwasser_1: faker.number.int({ min: 0, max: 60 }), anteil_warmwasser_2: faker.number.int({ min: 0, max: 60 }), ausstellgrund: faker.helpers.enumValue(Enums.Ausstellgrund), ausstellungsdatum: faker.date.past(), einheit_2: "kWh", erledigt: faker.datatype.boolean(), erstellungsdatum: faker.date.past(), keller_beheizt: faker.datatype.boolean(), registriernummer: faker.string.uuid(), startdatum: faker.date.past({ years: 3 }), verbrauch_4: verbrauch_4, verbrauch_5: verbrauch_4 + faker.number.int({ min: -2000, max: 2000 }), verbrauch_6: verbrauch_4 + faker.number.int({ min: -2000, max: 2000 }), warmwasser_anteil_bekannt: faker.datatype.boolean(), wird_gekuehlt: faker.datatype.boolean(), zusaetzliche_heizquelle: faker.datatype.boolean(), } return ausweis; }