[ { "name": "£1,000 a month: five weeks is £1,153.84 (rounded down from £1,153.846)", "args": [ { "minor": 100000, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 1200000, "currency": "GBP" }, "weeklyRent": { "minor": 23076, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 115384, "currency": "GBP" } } }, { "name": "£240 a week: five weeks is exactly £1,200 (the guidance's joint-tenancy example)", "args": [ { "minor": 24000, "currency": "GBP" }, "weekly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 1248000, "currency": "GBP" }, "weeklyRent": { "minor": 24000, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 120000, "currency": "GBP" } } }, { "name": "£4,166.66 a month is £49,999.92 a year: still five weeks", "args": [ { "minor": 416666, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 4999992, "currency": "GBP" }, "weeklyRent": { "minor": 96153, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 480768, "currency": "GBP" } } }, { "name": "£4,166.67 a month is £50,000.04 a year: six weeks", "args": [ { "minor": 416667, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 5000004, "currency": "GBP" }, "weeklyRent": { "minor": 96153, "currency": "GBP" }, "weeks": 6, "maximum": { "minor": 576923, "currency": "GBP" } } }, { "name": "exactly £50,000 a year is six weeks, not five", "args": [ { "minor": 5000000, "currency": "GBP" }, "annual", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 5000000, "currency": "GBP" }, "weeklyRent": { "minor": 96153, "currency": "GBP" }, "weeks": 6, "maximum": { "minor": 576923, "currency": "GBP" } } }, { "name": "£49,999.99 a year is five weeks", "args": [ { "minor": 4999999, "currency": "GBP" }, "annual", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 4999999, "currency": "GBP" }, "weeklyRent": { "minor": 96153, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 480769, "currency": "GBP" } } }, { "name": "£961.54 a week (£50,000.08 a year): six weeks, exactly 6 × weekly", "args": [ { "minor": 96154, "currency": "GBP" }, "weekly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 5000008, "currency": "GBP" }, "weeklyRent": { "minor": 96154, "currency": "GBP" }, "weeks": 6, "maximum": { "minor": 576924, "currency": "GBP" } } }, { "name": "£961.53 a week (£49,999.56 a year): five weeks", "args": [ { "minor": 96153, "currency": "GBP" }, "weekly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 4999956, "currency": "GBP" }, "weeklyRent": { "minor": 96153, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 480765, "currency": "GBP" } } }, { "name": "the cap is not five times the rounded weekly rent: £1,250 a month", "args": [ { "minor": 125000, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 1500000, "currency": "GBP" }, "weeklyRent": { "minor": 28846, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 144230, "currency": "GBP" } } }, { "name": "zero rent: zero deposit", "args": [ { "minor": 0, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expect": { "annualRent": { "minor": 0, "currency": "GBP" }, "weeklyRent": { "minor": 0, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 0, "currency": "GBP" } } }, { "name": "the first day of the cap, 1 June 2019", "args": [ { "minor": 100000, "currency": "GBP" }, "monthly", "england", "2019-06-01" ], "expect": { "annualRent": { "minor": 1200000, "currency": "GBP" }, "weeklyRent": { "minor": 23076, "currency": "GBP" }, "weeks": 5, "maximum": { "minor": 115384, "currency": "GBP" } } }, { "name": "before 1 June 2019 there is no cap to apply", "args": [ { "minor": 100000, "currency": "GBP" }, "monthly", "england", "2019-05-31" ], "expectError": "no deposit cap rule for england on 2019-05-31" }, { "name": "no data for Scotland", "args": [ { "minor": 100000, "currency": "GBP" }, "monthly", "scotland", "2026-09-01" ], "expectError": "no deposit cap rule for scotland" }, { "name": "rent in euros is refused", "args": [ { "minor": 100000, "currency": "EUR" }, "monthly", "england", "2026-09-01" ], "expectError": "rent must be in GBP" }, { "name": "negative rent is refused", "args": [ { "minor": -1, "currency": "GBP" }, "monthly", "england", "2026-09-01" ], "expectError": "rent must not be negative" }, { "name": "an unknown rent period is refused", "args": [ { "minor": 100000, "currency": "GBP" }, "fortnightly", "england", "2026-09-01" ], "expectError": "unknown rent period" }, { "name": "a malformed date is refused", "args": [ { "minor": 100000, "currency": "GBP" }, "monthly", "england", "1/6/2019" ], "expectError": "onDate must be an ISO date" } ]