From a912177a81ebdb85acaa4f672aec52a3d3de55d9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 12 Oct 2026 09:49:55 -0400 Subject: [PATCH] Test winter heating payments for IS, JSA and ESA couples The winter heating suites had no case with a couple on Income Support, and none with an income-based JSA or income-related ESA couple of pensionable age. Eleven new cases, worked from the regulations: - Winter Fuel Payment (SI 2024/869, SI 2025/969): mixed-age Income Support and income-based JSA couples in 2024 (entitled through the couple, reg. 2(5)) and 2025 (paid at their own rate, since the award is not paid to them, reg. 3(2) and (5)); ESA and JSA couples of pensionable age in 2025 and an Income Support couple in 2024, each paid once (reg. 4(2)(a); reg. 4(1)(a)(i)). - PAWHP (SSI 2024/351): mixed-age Income Support couple in 2024 (reg. 7(2)) and JSA couple in 2025 (reg. 10(8)); ESA couple of pensionable age in 2024 (reg. 9(1)(d) as made) and Income Support couple in 2025, each paid once. Mutants of the Income Support reader (paid to both members) and of the WFP and PAWHP relevant-benefit lists (Income Support dropped) passed main's suites; the new cases fail all three. Co-Authored-By: Claude Opus 5.5 --- ...ter-heating-legacy-couple-cases.changed.md | 1 + .../relevant_benefit_receipt.yaml | 273 +++++++++++++++++- .../gov/social_security_scotland/pawhp.yaml | 156 ++++++++++ 3 files changed, 423 insertions(+), 7 deletions(-) create mode 100644 changelog.d/winter-heating-legacy-couple-cases.changed.md diff --git a/changelog.d/winter-heating-legacy-couple-cases.changed.md b/changelog.d/winter-heating-legacy-couple-cases.changed.md new file mode 100644 index 0000000000..490a852162 --- /dev/null +++ b/changelog.d/winter-heating-legacy-couple-cases.changed.md @@ -0,0 +1 @@ +- Added Winter Fuel Payment and Pension Age Winter Heating Payment tests for couples on Income Support, income-based jobseeker's allowance and income-related employment and support allowance: couples of pensionable age, who get one payment, and couples whose claimant is under pensionable age, in the 2024 and 2025 qualifying weeks. diff --git a/policyengine_uk/tests/policy/baseline/gov/dwp/winter_fuel_payment/relevant_benefit_receipt.yaml b/policyengine_uk/tests/policy/baseline/gov/dwp/winter_fuel_payment/relevant_benefit_receipt.yaml index 37ebeebf31..220b4bbcd5 100644 --- a/policyengine_uk/tests/policy/baseline/gov/dwp/winter_fuel_payment/relevant_benefit_receipt.yaml +++ b/policyengine_uk/tests/policy/baseline/gov/dwp/winter_fuel_payment/relevant_benefit_receipt.yaml @@ -642,13 +642,13 @@ winter_fuel_allowance: 200 # A couple whose claimant is under pensionable age and whose partner is over -# it. Income-related ESA and income-based JSA are the claimant's own awards, -# paid to the claimant (the benefit-unit head here). Universal Credit is -# awarded to the couple jointly (WRA 2012 s.1(2)(b)) and paid into an -# account the joint claimants nominate (Universal Credit etc. (Claims and -# Payments) Regulations 2013 reg. 47(4)); reg. 47(6) pays it wholly to one -# member only by special arrangement. The lodger, aged 75, is in a benefit -# unit of their own and on no relevant benefit. +# it. Income Support, income-based JSA and income-related ESA are the +# claimant's own awards, paid to the claimant (the benefit-unit head here). +# Universal Credit is awarded to the couple jointly (WRA 2012 s.1(2)(b)) and +# paid into an account the joint claimants nominate (Universal Credit etc. +# (Claims and Payments) Regulations 2013 reg. 47(4)); reg. 47(6) pays it +# wholly to one member only by special arrangement. The lodger, aged 75, is +# in a benefit unit of their own and on no relevant benefit. - name: 2025 the partner of an income-related ESA claimant under pensionable age is paid at their own rate # The partner is not excluded: reg. 4(2)(a) needs the person the benefit is @@ -802,6 +802,265 @@ winter_fuel_payment: [0, 100, 100] winter_fuel_allowance: 200 +- name: 2025 the partner of an Income Support claimant under pensionable age is paid at their own rate + # As the ESA case above: Income Support is paid to the claimant, who has + # not reached pensionable age, so reg. 4(2)(a) does not exclude the + # partner. It is not paid to the partner, who lives with a person entitled + # (the lodger): reg. 3(2), £100. The lodger: reg. 3(2), £100. + period: 2025 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + income_support: 1_000 + pension_credit: 0 + universal_credit: 0 + esa_income: 0 + jsa_income: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + households: + household: + members: [claimant, partner, lodger] + country: ENGLAND + output: + is_on_income_support: [true, false, false] + is_on_winter_fuel_payment_relevant_benefit: [true, false, false] + winter_fuel_payment_eligible: [false, true, true] + winter_fuel_payment: [0, 100, 100] + winter_fuel_allowance: 200 + +- name: 2024 the partner of an Income Support claimant under pensionable age is entitled through the couple + # Reg. 2(5) counts the claimant's Income Support for the partner, so reg. + # 2(2)(b) is met: reg. 3(c), £200. The lodger is on no relevant benefit: + # nothing. + period: 2024 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + income_support: 1_000 + pension_credit: 0 + universal_credit: 0 + esa_income: 0 + jsa_income: 0 + tax_credits: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + tax_credits: 0 + households: + household: + members: [claimant, partner, lodger] + country: ENGLAND + output: + is_on_income_support: [true, false, false] + is_on_winter_fuel_payment_relevant_benefit: [true, true, false] + winter_fuel_payment: [0, 200, 0] + winter_fuel_allowance: 200 + +- name: 2025 the partner of an income-based JSA claimant under pensionable age, aged 81, is paid at their own rate + # JSA is paid to the claimant, under pensionable age, so reg. 4(2)(a) does + # not exclude the partner. It is not paid to the partner, aged 81, who + # lives with a person entitled under 80 (the lodger) and with no entitled + # person aged 80 (the claimant is not entitled): reg. 3(5), £200. The + # lodger, under 80, lives with a person entitled (the partner): reg. 3(2), + # £100. + period: 2025 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 81 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + jsa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + esa_income: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + households: + household: + members: [claimant, partner, lodger] + country: ENGLAND + output: + is_on_income_based_jsa: [true, false, false] + is_on_winter_fuel_payment_relevant_benefit: [true, false, false] + winter_fuel_payment: [0, 200, 100] + winter_fuel_allowance: 300 + +- name: 2024 the partner of an income-based JSA claimant under pensionable age, aged 81, is entitled through the couple + # Reg. 2(5) counts the claimant's JSA for the partner, so reg. 2(2)(b) is + # met: reg. 3(a), £300. The lodger is on no relevant benefit: nothing. + period: 2024 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 81 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + jsa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + esa_income: 0 + tax_credits: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + tax_credits: 0 + households: + household: + members: [claimant, partner, lodger] + country: ENGLAND + output: + is_on_income_based_jsa: [true, false, false] + is_on_winter_fuel_payment_relevant_benefit: [true, true, false] + winter_fuel_payment: [0, 300, 0] + winter_fuel_allowance: 300 + +# Couples of pensionable age on Income Support, income-based JSA or +# income-related ESA. Each award is the claimant's and is paid to the +# claimant, so is_on_income_support, is_on_income_based_jsa and +# is_on_income_related_esa are true only for the claimant (the benefit-unit +# head here), and the partner's exclusion has to be read from the couple. +# The model reads each award as entered, whatever the claimant's age. + +- name: 2025 an income-related ESA couple of pensionable age gets one payment + # ESA is paid to the claimant, who has reached pensionable age, so the + # partner is not entitled (reg. 4(2)(a)). The claimant, under 80 with a + # partner under 80: reg. 3(1), £200. + period: 2025 + input: + people: + claimant: + age: 70 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + benunits: + couple: + members: [claimant, partner] + esa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + jsa_income: 0 + households: + household: + members: [claimant, partner] + country: ENGLAND + output: + is_on_income_related_esa: [true, false] + is_on_winter_fuel_payment_relevant_benefit: [true, false] + winter_fuel_payment_eligible: [true, false] + winter_fuel_payment: [200, 0] + winter_fuel_allowance: 200 + +- name: 2025 an income-based JSA couple of pensionable age with a partner aged 81 gets one payment of £300 + # The partner is not entitled (reg. 4(2)(a)). The claimant, under 80, is + # paid JSA and lives with their partner aged 81: reg. 3(3), £300. + period: 2025 + input: + people: + claimant: + age: 70 + is_benunit_head: true + partner: + age: 81 + is_benunit_head: false + benunits: + couple: + members: [claimant, partner] + jsa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + esa_income: 0 + households: + household: + members: [claimant, partner] + country: ENGLAND + output: + is_on_income_based_jsa: [true, false] + winter_fuel_payment_eligible: [true, false] + winter_fuel_payment: [300, 0] + winter_fuel_allowance: 300 + +- name: 2024 an Income Support couple of pensionable age gets one payment + # Both are entitled: the claimant to Income Support, the partner through + # the couple (reg. 2(5)). Once one member is paid the other is not + # entitled (reg. 4(1)(a)(i)); the model pays the claimant. Both under 80: + # reg. 3(c), £200. + period: 2024 + input: + people: + claimant: + age: 70 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + benunits: + couple: + members: [claimant, partner] + income_support: 1_000 + pension_credit: 0 + universal_credit: 0 + esa_income: 0 + jsa_income: 0 + tax_credits: 0 + households: + household: + members: [claimant, partner] + country: ENGLAND + output: + is_on_income_support: [true, false] + is_on_winter_fuel_payment_relevant_benefit: [true, true] + winter_fuel_payment_eligible: [true, false] + winter_fuel_payment: [200, 0] + winter_fuel_allowance: 200 + # Pension Credit is paid to the claimant, who must have attained the # qualifying age (SPCA 2002 s.1(2)(b)). diff --git a/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/pawhp.yaml b/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/pawhp.yaml index df97cce57a..2d453a7a18 100644 --- a/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/pawhp.yaml +++ b/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/pawhp.yaml @@ -547,6 +547,162 @@ pension_age_winter_heating_payment: [0, 200, 0] pawhp: 200 +- name: 2024 the partner of an Income Support claimant under pensionable age is entitled through the couple + # Reg. 7(2) as made counts the claimant's Income Support for the partner: + # reg. 10(c) as made, £200. The lodger is on no relevant benefit: nothing. + period: 2024 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + income_support: 1_000 + pension_credit: 0 + universal_credit: 0 + esa_income: 0 + jsa_income: 0 + tax_credits: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + tax_credits: 0 + households: + household: + members: [claimant, partner, lodger] + country: SCOTLAND + output: + is_on_income_support: [true, false, false] + is_on_pawhp_relevant_benefit: [true, true, false] + pension_age_winter_heating_payment: [0, 200, 0] + pawhp: 200 + +- name: 2025 the partner of an income-based JSA claimant under pensionable age, aged 81, is treated as entitled + # Reg. 10(8) as substituted by SSI 2025/282 treats the partner as entitled + # to a relevant benefit, so reg. 10(2) and (4)(a)(i): £305.10, even beside + # an entitled lodger. The lodger, under 80, on no relevant benefit and + # living with another entitled individual: reg. 10(5)(b), £101.70. Under + # SI 2025/969 the same household in England gets £300 (the partner £200, + # the lodger £100), because the 2025 Winter Fuel Payment asks whether JSA + # is paid to the partner. + period: 2025 + absolute_error_margin: 0.01 + input: + people: + claimant: + age: 60 + is_benunit_head: true + partner: + age: 81 + is_benunit_head: false + lodger: + age: 75 + total_income: 20_000 + benunits: + couple: + members: [claimant, partner] + jsa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + esa_income: 0 + lodger_unit: + members: [lodger] + pension_credit: 0 + households: + household: + members: [claimant, partner, lodger] + country: SCOTLAND + output: + is_on_income_based_jsa: [true, false, false] + is_on_pawhp_relevant_benefit: [true, true, false] + pension_age_winter_heating_payment: [0, 305.10, 101.70] + pawhp: 406.80 + +# Couples of pensionable age on Income Support, income-based JSA or +# income-related ESA. Each award is paid to the claimant (the benefit-unit +# head here), so only the claimant is on it in their own right. The model +# reads each award as entered, whatever the claimant's age. + +- name: 2024 an income-related ESA couple of pensionable age with a partner aged 81 gets one payment of £300 + # Both are entitled: the claimant to ESA, the partner through the couple + # (reg. 7(2) as made). Once one member is paid the other is not entitled + # (reg. 9(1)(d) as made); the model pays the claimant. The claimant, under + # 80 with a partner aged 81: reg. 10(b) as made, £300. + period: 2024 + input: + people: + claimant: + age: 70 + is_benunit_head: true + partner: + age: 81 + is_benunit_head: false + benunits: + couple: + members: [claimant, partner] + esa_income: 1_000 + pension_credit: 0 + universal_credit: 0 + income_support: 0 + jsa_income: 0 + tax_credits: 0 + households: + household: + members: [claimant, partner] + country: SCOTLAND + output: + is_on_income_related_esa: [true, false] + is_on_pawhp_relevant_benefit: [true, true] + pawhp_eligible: [true, false] + pension_age_winter_heating_payment: [300, 0] + pawhp: 300 + +- name: 2025 an Income Support couple of pensionable age gets one payment + # Both are entitled (no relevant benefit condition from SSI 2025/282). Reg. + # 9(d) as substituted excludes a member of a couple "who is entitled to a + # relevant benefit" once the other member is paid; reg. 10(8) treats the + # partner as entitled only within reg. 10. The model reads reg. 9(d) as + # reaching the partner too, as reg. 7(2) did for the 2024 week and reg. 2A + # (SSI 2026/170) does from April 2026 (see pawhp_eligible): one payment, + # to the claimant. Both under 80: reg. 10(2) and (4)(b), £203.40. + period: 2025 + absolute_error_margin: 0.01 + input: + people: + claimant: + age: 70 + is_benunit_head: true + partner: + age: 72 + is_benunit_head: false + benunits: + couple: + members: [claimant, partner] + income_support: 1_000 + pension_credit: 0 + universal_credit: 0 + esa_income: 0 + jsa_income: 0 + households: + household: + members: [claimant, partner] + country: SCOTLAND + output: + is_on_income_support: [true, false] + is_on_pawhp_relevant_benefit: [true, true] + pawhp_eligible: [true, false] + pension_age_winter_heating_payment: [203.40, 0] + pawhp: 203.40 + - name: The Winter Fuel Payment is not paid in Scotland from 2024 # SI 2024/869 and SI 2025/969 extend to England and Wales only. period: 2025