Skip to content

Commit

Permalink
Cleanup and streamline tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mpanne committed Jan 22, 2025
1 parent de66476 commit 06432af
Showing 1 changed file with 23 additions and 61 deletions.
84 changes: 23 additions & 61 deletions packages/dito/tests/e2e/resultForm.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ test.describe("test positive result for digital and interoperability", () => {
});

test("no error is shown if optional email is empty", async ({ page }) => {
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Vorhaben XY");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
// not filling email
await registerMailInterceptionHandlerAndExpect(page);
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
Expand All @@ -111,17 +111,15 @@ test.describe("test positive result for digital and interoperability", () => {

test("no error shown when email and title are filled", async ({ page }) => {
await page.getByLabel("Ihre E-Mail Adresse").fill("[email protected]");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy 123");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page);
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
await expect(page.getByTestId(EMAIL_INPUT_ERROR)).not.toBeVisible();
await expect(page.getByTestId(TITLE_INPUT_ERROR)).not.toBeVisible();
});

test("email subject includes title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABC");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");

await registerMailInterceptionHandlerAndExpect(page, {
subject: "Digitalcheck Vorprüfung: „Policy ABC“",
Expand All @@ -130,9 +128,7 @@ test.describe("test positive result for digital and interoperability", () => {
});

test("email recipients include nkr", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
recipients: ["[email protected]"],
});
Expand All @@ -142,19 +138,15 @@ test.describe("test positive result for digital and interoperability", () => {
test("email recipients include digitalcheck team if interoperability is positive", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
recipients: ["[email protected]"],
});
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
});

test("email cc includes email from email input", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await page.getByLabel("Ihre E-Mail Adresse").fill("[email protected]");
await registerMailInterceptionHandlerAndExpect(page, {
cc: ["[email protected]"],
Expand All @@ -163,9 +155,7 @@ test.describe("test positive result for digital and interoperability", () => {
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat einen Digitalbezug und enthält Anforderungen der Interoperabilität.",
Expand All @@ -175,9 +165,7 @@ test.describe("test positive result for digital and interoperability", () => {
});

test("email body contains all answers in positive form", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
const bodyContains = [
"In Bezug auf digitale Aspekte führt ihr Regelungsvorhaben zu...",
"In Bezug auf Interoperabilität führt ihr Regelungsvorhaben zu...",
Expand All @@ -193,9 +181,7 @@ test.describe("test positive result for digital and interoperability", () => {
});

test("email body does not contain negative reasoning", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, undefined, {
body: ["Begründung:"],
});
Expand Down Expand Up @@ -225,9 +211,7 @@ test.describe("test positive result for digital and negative for interoperabilit
test("email recipients do not include digitalcheck team if interoperability is negative", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
// set expected to undefined to set notExpected
await registerMailInterceptionHandlerAndExpect(page, undefined, {
recipients: ["[email protected]"],
Expand All @@ -236,9 +220,7 @@ test.describe("test positive result for digital and negative for interoperabilit
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat einen Digitalbezug und keine Anforderungen der Interoperabilität.",
Expand Down Expand Up @@ -270,19 +252,15 @@ test.describe("test positive result for digital and unsure for interoperability"
test("email recipients include digitalcheck team if interoperability is unsure", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
recipients: ["[email protected]"],
});
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat einen Digitalbezug und keine eindeutigen Anforderungen der Interoperabilität.",
Expand All @@ -294,9 +272,7 @@ test.describe("test positive result for digital and unsure for interoperability"
test("email body contains all answers for interoperability in unsure form", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
const bodyContains = [
"In Bezug auf Interoperabilität ist nicht sicher, ob Ihr Regelungsvorhaben zu Folgendem führt...",
];
Expand Down Expand Up @@ -339,7 +315,7 @@ test.describe("test negative result for digital and interoperability", () => {
});

test("error is shown if negative reasoning is empty", async ({ page }) => {
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy #987");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page);
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
await expect(page.getByTestId(NEGATIVE_REASONING_ERROR)).toBeVisible();
Expand All @@ -350,17 +326,15 @@ test.describe("test negative result for digital and interoperability", () => {

test("error is shown if negative reasoning is too long", async ({ page }) => {
await page.getByLabel("Begründung").fill("A".repeat(501));
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Test 123");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page);
await page.getByRole("button", { name: "E-Mail erstellen" }).click();
await expect(page.getByTestId(NEGATIVE_REASONING_ERROR)).toBeVisible();
await expect(page.locator("main")).toContainText("kürzere Begründung");
});

test("email body contains all answers in negative form", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
const bodyContains = [
"In Bezug auf digitale Aspekte führt ihr Regelungsvorhaben zu...",
"In Bezug auf Interoperabilität führt ihr Regelungsvorhaben zu...",
Expand All @@ -376,9 +350,7 @@ test.describe("test negative result for digital and interoperability", () => {
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat keinen Digitalbezug und keine Anforderungen der Interoperabilität.",
Expand All @@ -388,9 +360,7 @@ test.describe("test negative result for digital and interoperability", () => {
});

test("email body contains negative reasoning", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await page
.getByLabel("Begründung")
.fill(
Expand Down Expand Up @@ -426,9 +396,7 @@ test.describe("test negative result for digital and positive for interoperabilit
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat keinen Digitalbezug und keine Anforderungen der Interoperabilität.",
Expand All @@ -440,9 +408,7 @@ test.describe("test negative result for digital and positive for interoperabilit
test("email body contains hint that interoperability is not possible if digital is negative", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Bitte beachten Sie: Wenn Ihr Vorhaben keinen Digitalbezug aufweist, können die Anforderungen der Interoperabilität nicht erfüllt werden",
Expand Down Expand Up @@ -472,9 +438,7 @@ test.describe("test negative result for digital and unsure for interoperability"
});

test("email body contains result title", async ({ page }) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
await registerMailInterceptionHandlerAndExpect(page, {
body: [
"Das Regelungsvorhaben hat keinen Digitalbezug und keine eindeutigen Anforderungen der Interoperabilität.",
Expand Down Expand Up @@ -503,9 +467,7 @@ test.describe("test positive result with mixed answers", () => {
test("answers in email body are prefixed by a special character indicating the type of answer", async ({
page,
}) => {
await page
.getByLabel("Vorläufiger Arbeitstitel des Vorhabens")
.fill("Policy ABCDEFG");
await page.getByLabel("Arbeitstitel des Vorhabens").fill("Policy ABC");
const bodyContains = [
`- ${questions[0].negativeResult}`,
`? ${questions[1].positiveResult}`,
Expand Down

0 comments on commit 06432af

Please sign in to comment.