Files
online-energieausweis/src/lib/faker/verbrauchsausweis-wohnen.ts
2025-01-21 23:34:01 +07:00

116 lines
4.9 KiB
TypeScript

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 = {
aufnahme: {
rechnungen: [],
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",
objekt: {
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: [],
ausstellungsdatum: faker.date.past()
},
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),
einheit_2: "kWh",
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;
}