[ { "name": "a GBP 300 claim is in the 'does not exceed 300' band: 35", "args": [ { "minor": 30000, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 3500, "currency": "GBP" } }, { "name": "one penny more is the next band: 50", "args": [ { "minor": 30001, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 5000, "currency": "GBP" } }, { "name": "GBP 1,200 is 80", "args": [ { "minor": 120000, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 8000, "currency": "GBP" } }, { "name": "GBP 4,999.99 is 205", "args": [ { "minor": 499999, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 20500, "currency": "GBP" } }, { "name": "GBP 10,000 exactly is still the flat 455", "args": [ { "minor": 1000000, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 45500, "currency": "GBP" } }, { "name": "GBP 10,000.01 is 5%, rounded down: 500.00", "args": [ { "minor": 1000001, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 50000, "currency": "GBP" } }, { "name": "5% of GBP 12,345.79 is 617.2895, rounded down to 617.28 (not up to 617.29)", "args": [ { "minor": 1234579, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 61728, "currency": "GBP" } }, { "name": "GBP 200,000 is 5%: exactly 10,000", "args": [ { "minor": 20000000, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 1000000, "currency": "GBP" } }, { "name": "over GBP 200,000 is a flat 10,000", "args": [ { "minor": 75000000, "currency": "GBP" }, "paper", "2026-09-23" ], "expect": { "minor": 1000000, "currency": "GBP" } }, { "name": "online today pays the same as paper", "args": [ { "minor": 25000, "currency": "GBP" }, "online", "2026-09-23" ], "expect": { "minor": 3500, "currency": "GBP" } }, { "name": "online today: GBP 50,000 is 5%", "args": [ { "minor": 5000000, "currency": "GBP" }, "online", "2026-09-23" ], "expect": { "minor": 250000, "currency": "GBP" } }, { "name": "online on 17 May 2021 still had the lower fee 1.2: 25", "args": [ { "minor": 25000, "currency": "GBP" }, "online", "2021-05-17" ], "expect": { "minor": 2500, "currency": "GBP" } }, { "name": "online from 18 May 2021 fee 1.2 is gone: 35", "args": [ { "minor": 25000, "currency": "GBP" }, "online", "2021-05-18" ], "expect": { "minor": 3500, "currency": "GBP" } }, { "name": "online in 2020, GBP 7,500 was 410", "args": [ { "minor": 750000, "currency": "GBP" }, "online", "2020-06-01" ], "expect": { "minor": 41000, "currency": "GBP" } }, { "name": "online in 2020, GBP 50,000 was 4.5%: 2,250", "args": [ { "minor": 5000000, "currency": "GBP" }, "online", "2020-06-01" ], "expect": { "minor": 225000, "currency": "GBP" } }, { "name": "online in 2020, 4.5% of GBP 10,000.99 is 450.04455, rounded down", "args": [ { "minor": 1000099, "currency": "GBP" }, "online", "2020-06-01" ], "expect": { "minor": 45004, "currency": "GBP" } }, { "name": "paper in 2020 was already 35 up to GBP 300", "args": [ { "minor": 25000, "currency": "GBP" }, "paper", "2020-06-01" ], "expect": { "minor": 3500, "currency": "GBP" } }, { "name": "the first day of the 2015 bands", "args": [ { "minor": 1500000, "currency": "GBP" }, "paper", "2015-03-09" ], "expect": { "minor": 75000, "currency": "GBP" } }, { "name": "an online claim over GBP 100,000 is an error", "args": [ { "minor": 10000001, "currency": "GBP" }, "online", "2026-09-23" ], "expectError": "cannot be issued online" }, { "name": "an online claim over GBP 100,000 was an error under fee 1.2 too", "args": [ { "minor": 15000000, "currency": "GBP" }, "online", "2020-06-01" ], "expectError": "cannot be issued online" }, { "name": "before 9 March 2015 there is no data", "args": [ { "minor": 30000, "currency": "GBP" }, "paper", "2015-03-08" ], "expectError": "court fee" }, { "name": "a claim in euros is an error", "args": [ { "minor": 30000, "currency": "EUR" }, "paper", "2026-09-23" ], "expectError": "court fees are set for claims in GBP" }, { "name": "a zero claim is an error", "args": [ { "minor": 0, "currency": "GBP" }, "paper", "2026-09-23" ], "expectError": "claim must be greater than zero" }, { "name": "an unknown channel is an error", "args": [ { "minor": 30000, "currency": "GBP" }, "fax", "2026-09-23" ], "expectError": "unknown filing channel" }, { "name": "a malformed date is an error", "args": [ { "minor": 30000, "currency": "GBP" }, "paper", "23/09/2026" ], "expectError": "onDate must be an ISO date" }, {"name": "a date with a trailing newline is refused", "args": [{"minor": 30000, "currency": "GBP"}, "paper", "2026-09-23\n"], "expectError": "onDate must be an ISO date"}, {"name": "a date in Arabic-Indic digits is refused", "args": [{"minor": 30000, "currency": "GBP"}, "paper", "٢٠٢٦-09-23"], "expectError": "onDate must be an ISO date"} ]