[ { "name": "6 April is week 1 and month 1", "args": ["2026-04-06", "monthly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 1, "month": 1, "period": 1 } }, { "name": "12 April is still week 1", "args": ["2026-04-12", "weekly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 1, "month": 1, "period": 1 } }, { "name": "13 April starts week 2", "args": ["2026-04-13", "weekly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 2, "month": 1, "period": 2 } }, { "name": "5 May is the last day of month 1", "args": ["2026-05-05", "monthly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 5, "month": 1, "period": 1 } }, { "name": "6 May is month 2", "args": ["2026-05-06", "monthly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 5, "month": 2, "period": 2 } }, { "name": "a fortnightly payday is placed by its tax week", "args": ["2026-09-23", "fortnightly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 25, "month": 6, "period": 25 } }, { "name": "5 January is still tax month 9", "args": ["2026-01-05", "monthly"], "expect": { "taxYear": "2025/26", "taxYearStart": "2025-04-06", "week": 40, "month": 9, "period": 9 } }, { "name": "4 April is week 52", "args": ["2027-04-04", "weekly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 52, "month": 12, "period": 52 } }, { "name": "5 April is week 53 for a weekly payroll", "args": ["2027-04-05", "weekly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 53, "month": 12, "period": 53 } }, { "name": "5 April is week 54 for a fortnightly payroll", "args": ["2027-04-05", "fortnightly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 53, "month": 12, "period": 54 } }, { "name": "5 April is week 56 for a four-weekly payroll", "args": ["2027-04-05", "four-weekly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 53, "month": 12, "period": 56 } }, { "name": "5 April is just month 12 for a monthly payroll", "args": ["2027-04-05", "monthly"], "expect": { "taxYear": "2026/27", "taxYearStart": "2026-04-06", "week": 53, "month": 12, "period": 12 } }, { "name": "a tax year containing 29 February has two week-53 days: 4 April is one", "args": ["2024-04-04", "weekly"], "expect": { "taxYear": "2023/24", "taxYearStart": "2023-04-06", "week": 53, "month": 12, "period": 53 } }, { "name": "29 February itself", "args": ["2024-02-29", "four-weekly"], "expect": { "taxYear": "2023/24", "taxYearStart": "2023-04-06", "week": 48, "month": 11, "period": 48 } }, { "name": "an impossible date is an error", "args": ["2026-02-30", "monthly"], "expectError": "is not a real calendar date" }, { "name": "an unknown frequency is an error", "args": ["2026-04-06", "daily"], "expectError": "unknown pay frequency" } ]