Postleitzahlen Suche und e2e Tests
This commit is contained in:
112
cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts
Normal file
112
cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts
Normal file
@@ -0,0 +1,112 @@
|
||||
import fuelList from "#components/Ausweis/fuelList";
|
||||
import { faker } from "@faker-js/faker";
|
||||
import { Enums } from "@ibcornelsen/database/client";
|
||||
|
||||
describe("Verbrauchsausweis erstellen Schritt 1", () => {
|
||||
it("erstellt einen neuen Verbrauchsausweis Wohngebäude.", () => {
|
||||
cy.visit("/verbrauchsausweis");
|
||||
|
||||
cy.wait(1000);
|
||||
|
||||
// Wir überprüfen, ob alle Ausstelgründe vorhanden sind, diese sollten genau so viele sein wie in der Datenbank vorhanden sind.
|
||||
cy.get("input[name='ausstellgrund']")
|
||||
.should("have.length", Object.values(Enums.Ausstellgrund).length)
|
||||
.eq(
|
||||
faker.number.int({
|
||||
min: 0,
|
||||
max: Object.values(Enums.Ausstellgrund).length - 1,
|
||||
})
|
||||
)
|
||||
.check();
|
||||
|
||||
// Jetzt Füllen wir das Baujahr vom Gebäude aus.
|
||||
cy.get("input[name='baujahr_gebaeude']")
|
||||
.should("have.attr", "type", "number")
|
||||
.type(
|
||||
faker.number.int({ min: 1900, max: 2021 }).toString() +
|
||||
"{enter}",
|
||||
{ delay: 50 }
|
||||
);
|
||||
|
||||
// Jetzt Füllen wir das Baujahr der Heizung aus.
|
||||
cy.get("input[name='baujahr_heizung']")
|
||||
.should("have.attr", "type", "number")
|
||||
.type(
|
||||
faker.number.int({ min: 1900, max: 2021 }).toString() +
|
||||
"{enter}",
|
||||
{ delay: 50 }
|
||||
);
|
||||
|
||||
// Anzahl Einheiten
|
||||
cy.get("input[name='einheiten']")
|
||||
.should("have.attr", "type", "number")
|
||||
.type(faker.number.int({ min: 1, max: 5 }).toString());
|
||||
|
||||
// Sanierungsstatus
|
||||
cy.get("select[name='saniert']").select(
|
||||
Math.random() > 0.5 ? "true" : "false"
|
||||
);
|
||||
|
||||
// Adresse
|
||||
cy.get("input[name='adresse']").type(faker.location.streetAddress());
|
||||
|
||||
// Postleitzahl
|
||||
cy.get("input[name='plz']").type(
|
||||
faker.location.zipCode({
|
||||
format: "#####",
|
||||
})
|
||||
);
|
||||
|
||||
// TODO: Ort - Dieser wird aus der Datenbank abgefragt, wir müssen also warten, bis der Dropdown da ist.
|
||||
|
||||
// Flaeche
|
||||
cy.get("input[name='flaeche']")
|
||||
.should("have.attr", "type", "number")
|
||||
.type(faker.number.int({ min: 50, max: 1000 }).toString());
|
||||
|
||||
// Keller
|
||||
cy.get("select[name='keller']").find("option:not([disabled])").should("have.length", Object.values(Enums.Heizungsstatus).length).parent().select(faker.number.int({
|
||||
max: Object.values(Enums.Heizungsstatus).length,
|
||||
min: 1
|
||||
}));
|
||||
|
||||
// Dachgeschoss
|
||||
cy.get("select[name='dachgeschoss']").find("option:not([disabled])").should("have.length", Object.values(Enums.Heizungsstatus).length).parent().select(faker.number.int({
|
||||
max: Object.values(Enums.Heizungsstatus).length,
|
||||
min: 1
|
||||
}));
|
||||
|
||||
// Brennstoff und Einheit 1
|
||||
const brennstoffKombo = fuelList[faker.number.int({ min: 0, max: fuelList.length - 1 })];
|
||||
|
||||
cy.get("select[name='brennstoff_1']").select(brennstoffKombo[0]);
|
||||
cy.get("select[name='einheit_1']").select(brennstoffKombo[1]);
|
||||
|
||||
// Verbrauchszeitraum
|
||||
cy.get("select[name='energieverbrauch_zeitraum_monat']").select(faker.number.int({ min: 1, max: 12 }).toString());
|
||||
cy.get("select[name='energieverbrauch_zeitraum_jahr']").select(faker.number.int({ min: 2018, max: 2019 }).toString());
|
||||
|
||||
// Verbrauch
|
||||
cy.get("input[name='verbrauch_1']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
cy.get("input[name='verbrauch_2']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
cy.get("input[name='verbrauch_3']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
|
||||
|
||||
const zusaetzlicheHeizquelle = Math.random() > 0.5;
|
||||
|
||||
if (zusaetzlicheHeizquelle) {
|
||||
cy.get("input[name='zusaetzliche_heizquelle']").check();
|
||||
|
||||
// Brennstoff und Einheit 2
|
||||
const brennstoffKombo2 = fuelList[faker.number.int({ min: 0, max: fuelList.length - 1 })];
|
||||
|
||||
cy.get("select[name='brennstoff_2']").select(brennstoffKombo2[0]);
|
||||
cy.get("select[name='einheit_2']").select(brennstoffKombo2[1]);
|
||||
|
||||
// Verbrauch
|
||||
cy.get("input[name='verbrauch_4']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
cy.get("input[name='verbrauch_5']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
cy.get("input[name='verbrauch_6']").type(faker.number.int({ min: 4000, max: 15000 }).toString());
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user