[
{
"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"}
]