Skip to content

Commit

Permalink
fix(pkh-pdf-service): fix filling of section E_bruttoeinnahmen
Browse files Browse the repository at this point in the history
  • Loading branch information
rbrtrfl committed Nov 1, 2024
1 parent b2c7cc1 commit 4660d9b
Show file tree
Hide file tree
Showing 5 changed files with 140 additions and 131 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -182,20 +182,22 @@ describe("bruttoEinnahmen_eigenes", () => {
});

describe("fillRente", () => {
it("should report no pension if the user receives grundsicherung", () => {
it("should not report pension if the user receives grundsicherung", () => {
const { pdfValues } = fillRente({
userData: { staatlicheLeistungen: "grundsicherung" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_13.value).toBe(true);
expect(pdfValues.ja_12.value).toBe(undefined);
expect(pdfValues.nein_13.value).toBe(undefined);
});

it("should report no pension if the user receives asylbewerberleistungen", () => {
it("should not report pension if the user receives asylbewerberleistungen", () => {
const { pdfValues } = fillRente({
userData: { staatlicheLeistungen: "asylbewerberleistungen" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_13.value).toBe(true);
expect(pdfValues.ja_12.value).toBe(undefined);
expect(pdfValues.nein_13.value).toBe(undefined);
});

it("should report no pension if the user doesn't receive one", () => {
Expand All @@ -221,9 +223,9 @@ describe("bruttoEinnahmen_eigenes", () => {
});

describe("fillAndereLeistungen", () => {
it('check "no" for all other leistungen fields if none are selected', () => {
it('check "no" for all other leistungen fields if none are selected and the following question has been answered', () => {
const { pdfValues } = fillAndereLeistungen({
userData: {},
userData: { hasFurtherIncome: "no" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_18.value).toBe(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,20 +61,22 @@ describe("bruttoEinnahmen_partner", () => {
});

describe("fillRentePartner", () => {
it("should report no pension if the user's partner receives grundsicherung", () => {
it("should not report pension if the user's partner receives grundsicherung", () => {
const { pdfValues } = fillRentePartner({
userData: { "partner-staatlicheLeistungen": "grundsicherung" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_26.value).toBe(true);
expect(pdfValues.ja_25.value).toBe(undefined);
expect(pdfValues.nein_26.value).toBe(undefined);
});

it("should report no pension if the user's partner receives asylbewerberleistungen", () => {
it("should not report pension if the user's partner receives asylbewerberleistungen", () => {
const { pdfValues } = fillRentePartner({
userData: { "partner-staatlicheLeistungen": "asylbewerberleistungen" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_26.value).toBe(true);
expect(pdfValues.ja_25.value).toBe(undefined);
expect(pdfValues.nein_26.value).toBe(undefined);
});

it("should report no pension if the user's partner doesn't receive one", () => {
Expand All @@ -99,20 +101,22 @@ describe("bruttoEinnahmen_partner", () => {
});

describe("fillSupportPartner", () => {
it("should report no support if the user's partner receives grundsicherung", () => {
it("should not report support if the user's partner receives grundsicherung", () => {
const { pdfValues } = fillSupportPartner({
userData: { "partner-staatlicheLeistungen": "grundsicherung" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_24.value).toBe(true);
expect(pdfValues.nein_24.value).toBe(undefined);
expect(pdfValues.ja_23.value).toBe(undefined);
});

it("should report no support if the user's partner receives asylbewerberleistungen", () => {
it("should not report support if the user's partner receives asylbewerberleistungen", () => {
const { pdfValues } = fillSupportPartner({
userData: { "partner-staatlicheLeistungen": "asylbewerberleistungen" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_24.value).toBe(true);
expect(pdfValues.nein_24.value).toBe(undefined);
expect(pdfValues.ja_23.value).toBe(undefined);
});

it("should report no support if the user's partner doesn't receive one", () => {
Expand Down Expand Up @@ -217,9 +221,9 @@ describe("bruttoEinnahmen_partner", () => {
});

describe("fillAndereLeistungenPartner", () => {
it('check "no" for all other leistungen fields if none are selected', () => {
it('check "no" for all other leistungen fields if none are selected and the following question has been answered', () => {
const { pdfValues } = fillAndereLeistungenPartner({
userData: {},
userData: { "partner-hasFurtherIncome": "yes" },
pdfValues: pdfParams,
});
expect(pdfValues.nein_33.value).toBe(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,21 @@ export const zahlungsfrequenzMapping = {
"one-time": "Einmalig",
};

// PDF Form Field Names:
// Nichtselbstständige Arbeit - nein_10, ja_9
// Selbstständige Arbeit - nein_12, ja_11
// Vermietung und Verpachtung - nein_14, ja_13
// Kapitalvermögen - nein_16, ja_15
// Kindergeld - nein_18, ja_17
// Wohngeld - nein_20, ja_19
// Unterhalt - nein_11, ja_10
// Rente - nein_13, ja_12
// Arbeitslosengeld - nein_15, ja_14
// Bürgergeld - nein_17, ja_16
// Krankengeld - nein_19, ja_18
// Elterngeld - nein_21, ja_20
// Weitere Einnahmen - nein_22, undefined_8

export const fillStaatlicheLeistungen: PkhPdfFillFunction = ({
userData,
pdfValues,
Expand All @@ -39,50 +54,49 @@ export const fillEinkommenType: PkhPdfFillFunction = ({
pdfValues,
}) => {
if (
guards.notEmployed({ context: userData }) ||
userData.currentlyEmployed === "no" ||
guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData })
) {
pdfValues.nein_10.value = true;
pdfValues.nein_12.value = true;
}

if (guards.isEmployee({ context: userData })) {
pdfValues.ja_9.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro.value = `${removeDecimalsFromCurrencyString(userData.nettoEinkuenfteAlsArbeitnehmer)} ${nettoString}`;
} else {
if (guards.isEmployee({ context: userData })) {
pdfValues.ja_9.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro.value = `${removeDecimalsFromCurrencyString(userData.nettoEinkuenfteAlsArbeitnehmer)} ${nettoString}`;
} else {
pdfValues.nein_10.value = true;
}
if (guards.isSelfEmployed({ context: userData })) {
pdfValues.ja_11.value = true;
pdfValues.monatlicheBruttoeinnahmendurchSelbststaendigeArbeitinEuro3.value = `${removeDecimalsFromCurrencyString(userData.selbststaendigMonatlichesEinkommen)} ${userData.selbststaendigBruttoNetto}`;
} else {
pdfValues.nein_12.value = true;
}
pdfValues.nein_10.value = true;
}

if (guards.isSelfEmployed({ context: userData })) {
pdfValues.ja_11.value = true;
pdfValues.monatlicheBruttoeinnahmendurchSelbststaendigeArbeitinEuro3.value = `${removeDecimalsFromCurrencyString(userData.selbststaendigMonatlichesEinkommen)} ${userData.selbststaendigBruttoNetto}`;
} else {
pdfValues.nein_12.value = true;
}
return { pdfValues };
};

export const fillRente: PkhPdfFillFunction = ({ userData, pdfValues }) => {
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
guards.receivesPension({ context: userData })
) {
if (userData.receivesPension === "yes") {
pdfValues.ja_12.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro9.value = `${removeDecimalsFromCurrencyString(userData.pensionAmount)} ${nettoString}`;
} else {
}
if (userData.receivesPension === "no") {
pdfValues.nein_13.value = true;
}
return { pdfValues };
};

export const fillSupport: PkhPdfFillFunction = ({ userData, pdfValues }) => {
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
userData.unterhaltsanspruch === "unterhalt" &&
userData.unterhaltssumme
) {
if (userData.unterhaltsanspruch === "unterhalt") {
pdfValues.ja_10.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro8.value = `${removeDecimalsFromCurrencyString(userData.unterhaltssumme)} ${nettoString}`;
} else {
}
if (
userData.unterhaltsanspruch == "keine" ||
userData.unterhaltsanspruch == "anspruchNoUnterhalt"
) {
pdfValues.nein_11.value = true;
}
return { pdfValues };
Expand All @@ -92,42 +106,34 @@ export const fillAndereLeistungen: PkhPdfFillFunction = ({
userData,
pdfValues,
}) => {
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
guards.hasWohngeld({ context: userData })
) {
if (userData.hasWohngeld === "on") {
pdfValues.ja_19.value = true;
pdfValues.monatlicheBruttoeinnahmendurchWohngeldinEuro7.value = `${removeDecimalsFromCurrencyString(userData.wohngeldAmount)} ${nettoString}`;
} else {
} else if (userData.hasFurtherIncome) {
pdfValues.nein_20.value = true;
}
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
guards.hasKrankengeld({ context: userData })
) {

if (userData.hasKrankengeld === "on") {
pdfValues.ja_18.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro12.value = `${removeDecimalsFromCurrencyString(userData.krankengeldAmount)} ${nettoString}`;
} else {
} else if (userData.hasFurtherIncome) {
pdfValues.nein_19.value = true;
}
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
guards.hasElterngeld({ context: userData })
) {

if (userData.hasElterngeld === "on") {
pdfValues.ja_20.value = true;
pdfValues.monatlicheBruttoeinnahmendurchNichtselbststaendigeArbeitinEuro13.value = `${removeDecimalsFromCurrencyString(userData.elterngeldAmount)} ${nettoString}`;
} else {
} else if (userData.hasFurtherIncome) {
pdfValues.nein_21.value = true;
}
if (
!guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData }) &&
guards.hasKindergeld({ context: userData })
) {

if (userData.hasKindergeld === "on") {
pdfValues.ja_17.value = true;
pdfValues.monatlicheBruttoeinnahmendurchKindergeldIKinderzuschlaginEuro6.value = `${removeDecimalsFromCurrencyString(userData.kindergeldAmount)} ${nettoString}`;
} else {
} else if (userData.hasFurtherIncome) {
pdfValues.nein_18.value = true;
}

return { pdfValues };
};

Expand All @@ -136,8 +142,7 @@ export const fillWeitereEinkuenfte: PkhPdfFillFunction = ({
pdfValues,
}) => {
const hasAsylbewerberOrGrundsicherung =
userData.staatlicheLeistungen === "asylbewerberleistungen" ||
userData.staatlicheLeistungen === "grundsicherung";
guards.hasGrundsicherungOrAsylbewerberleistungen({ context: userData });

if (!userData.weitereEinkuenfte && !hasAsylbewerberOrGrundsicherung) {
pdfValues.nein_22.value = true;
Expand Down Expand Up @@ -193,7 +198,7 @@ export const fillWeitereEinkuenfte: PkhPdfFillFunction = ({
return { pdfValues };
};

export const fillSelfBruttoEinnahmen: PkhPdfFillFunction = ({
export const fillOwnBruttoEinnahmen: PkhPdfFillFunction = ({
userData,
pdfValues,
}) => {
Expand All @@ -207,6 +212,8 @@ export const fillSelfBruttoEinnahmen: PkhPdfFillFunction = ({
userData.staatlicheLeistungen === "asylbewerberleistungen"
? "Asylbewerberleistungen"
: "Grundsicherung oder Sozialhilfe";
pdfValues.nein_14.value = true;
pdfValues.nein_16.value = true;

return { pdfValues };
}
Expand All @@ -224,8 +231,6 @@ export const fillSelfBruttoEinnahmen: PkhPdfFillFunction = ({
],
});

pdfValues.nein_14.value = true;
pdfValues.nein_16.value = true;
return {
pdfValues: filledValues,
attachment:
Expand Down
Loading

0 comments on commit 4660d9b

Please sign in to comment.