[ { "name": "UK standard rate today", "args": [ "GB", "STANDARD", "2026-09-16" ], "expect": { "jurisdiction": "GB", "category": "STANDARD", "basisPoints": 2000, "validFrom": "2011-01-04", "validTo": null } }, { "name": "UK standard rate during the 2009 cut", "args": [ "GB", "STANDARD", "2009-06-01" ], "expect": { "jurisdiction": "GB", "category": "STANDARD", "basisPoints": 1500, "validFrom": "2008-12-01", "validTo": "2009-12-31" } }, { "name": "UK standard rate in 2010", "args": [ "GB", "STANDARD", "2010-06-01" ], "expect": { "jurisdiction": "GB", "category": "STANDARD", "basisPoints": 1750, "validFrom": "2010-01-01", "validTo": "2011-01-03" } }, { "name": "the day the rate changed", "args": [ "GB", "STANDARD", "2011-01-04" ], "expect": { "jurisdiction": "GB", "category": "STANDARD", "basisPoints": 2000, "validFrom": "2011-01-04", "validTo": null } }, { "name": "the day before the rate changed", "args": [ "GB", "STANDARD", "2011-01-03" ], "expect": { "jurisdiction": "GB", "category": "STANDARD", "basisPoints": 1750, "validFrom": "2010-01-01", "validTo": "2011-01-03" } }, { "name": "hospitality during the covid cut", "args": [ "GB", "HOSPITALITY", "2020-12-25" ], "expect": { "jurisdiction": "GB", "category": "HOSPITALITY", "basisPoints": 500, "validFrom": "2020-07-15", "validTo": "2021-09-30" } }, { "name": "hospitality during the taper", "args": [ "GB", "HOSPITALITY", "2021-11-01" ], "expect": { "jurisdiction": "GB", "category": "HOSPITALITY", "basisPoints": 1250, "validFrom": "2021-10-01", "validTo": "2022-03-31" } }, { "name": "hospitality back at standard", "args": [ "GB", "HOSPITALITY", "2026-09-16" ], "expect": { "jurisdiction": "GB", "category": "HOSPITALITY", "basisPoints": 2000, "validFrom": "2022-04-01", "validTo": null } }, { "name": "UK reduced rate", "args": [ "GB", "REDUCED", "2026-09-16" ], "expect": { "jurisdiction": "GB", "category": "REDUCED", "basisPoints": 500, "validFrom": "1997-09-01", "validTo": null } }, { "name": "UK zero rate", "args": [ "GB", "ZERO", "2026-09-16" ], "expect": { "jurisdiction": "GB", "category": "ZERO", "basisPoints": 0, "validFrom": "1973-04-01", "validTo": null } }, { "name": "Ireland standard rate", "args": [ "IE", "STANDARD", "2026-09-16" ], "expect": { "jurisdiction": "IE", "category": "STANDARD", "basisPoints": 2300, "validFrom": "2021-03-01", "validTo": null } }, { "name": "unknown jurisdiction is an error, not a guess", "args": [ "FR", "STANDARD", "2026-09-16" ], "expectError": "no VAT rule" }, { "name": "a date before the rule existed is an error", "args": [ "GB", "STANDARD", "1970-01-01" ], "expectError": "no VAT rule" }, { "name": "a malformed date is an error", "args": [ "GB", "STANDARD", "16/09/2026" ], "expectError": "ISO date" }, { "name": "Irish hospitality during the 9 percent tourism rate", "args": [ "IE", "HOSPITALITY", "2015-06-01" ], "expect": { "jurisdiction": "IE", "category": "HOSPITALITY", "basisPoints": 900, "validFrom": "2011-07-01", "validTo": "2018-12-31" } }, { "name": "Irish hospitality after the 2019 withdrawal", "args": [ "IE", "HOSPITALITY", "2019-06-01" ], "expect": { "jurisdiction": "IE", "category": "HOSPITALITY", "basisPoints": 1350, "validFrom": "2019-01-01", "validTo": "2020-10-31" } }, { "name": "Irish hospitality during the covid 9 percent", "args": [ "IE", "HOSPITALITY", "2021-06-01" ], "expect": { "jurisdiction": "IE", "category": "HOSPITALITY", "basisPoints": 900, "validFrom": "2020-11-01", "validTo": "2023-08-31" } }, { "name": "Irish hospitality today", "args": [ "IE", "HOSPITALITY", "2026-09-16" ], "expect": { "jurisdiction": "IE", "category": "HOSPITALITY", "basisPoints": 1350, "validFrom": "2023-09-01", "validTo": null } }, { "name": "the day the covid rate ended", "args": [ "IE", "HOSPITALITY", "2023-08-31" ], "expect": { "jurisdiction": "IE", "category": "HOSPITALITY", "basisPoints": 900, "validFrom": "2020-11-01", "validTo": "2023-08-31" } }, { "name": "Irish standard rate during the 2020-21 cut", "args": [ "IE", "STANDARD", "2020-12-01" ], "expect": { "jurisdiction": "IE", "category": "STANDARD", "basisPoints": 2100, "validFrom": "2020-09-01", "validTo": "2021-02-28" } }, { "name": "Irish standard rate the day before the cut", "args": [ "IE", "STANDARD", "2020-08-31" ], "expect": { "jurisdiction": "IE", "category": "STANDARD", "basisPoints": 2300, "validFrom": "2012-01-01", "validTo": "2020-08-31" } }, { "name": "Irish standard rate restored on 1 March 2021", "args": [ "IE", "STANDARD", "2021-03-01" ], "expect": { "jurisdiction": "IE", "category": "STANDARD", "basisPoints": 2300, "validFrom": "2021-03-01", "validTo": null } }, {"name": "a date with a trailing newline is an error", "args": ["GB", "STANDARD", "2026-09-16\n"], "expectError": "onDate must be an ISO date (YYYY-MM-DD), received \"2026-09-16\n\""}, {"name": "a date in Arabic-Indic digits is an error", "args": ["GB", "STANDARD", "٢٠٢٦-٠٩-١٦"], "expectError": "onDate must be an ISO date (YYYY-MM-DD), received \"٢٠٢٦-٠٩-١٦\""}, {"name": "a malformed date names the parameter as the signature does", "args": ["GB", "STANDARD", "16/09/2026"], "expectError": "onDate must be an ISO date (YYYY-MM-DD), received \"16/09/2026\""} ]