@@ -3,17 +3,14 @@ import { describe, expect, test } from "bun:test";
33import { nl } from "../src" ;
44
55describe ( "nl.vat" , ( ) => {
6- test ( "valid Dutch VAT" , ( ) => {
7- const r = nl . vat . validate ( "NL123456789B13 " ) ;
6+ test ( "valid Dutch VAT ID from official example " , ( ) => {
7+ const r = nl . vat . validate ( "NL000099998B57 " ) ;
88 expect ( r . valid ) . toBe ( true ) ;
99 } ) ;
1010
11- test ( "invalid checksum" , ( ) => {
12- const r = nl . vat . validate ( "NL123456789B14" ) ;
13- expect ( r . valid ) . toBe ( false ) ;
14- if ( ! r . valid ) {
15- expect ( r . error . code ) . toBe ( "INVALID_CHECKSUM" ) ;
16- }
11+ test ( "accepts leading zeros in the 9-digit section" , ( ) => {
12+ const r = nl . vat . validate ( "NL001234567B01" ) ;
13+ expect ( r . valid ) . toBe ( true ) ;
1714 } ) ;
1815
1916 test ( "missing B" , ( ) => {
@@ -32,6 +29,14 @@ describe("nl.vat", () => {
3229 }
3330 } ) ;
3431
32+ test ( "rejects non-digit suffix" , ( ) => {
33+ const r = nl . vat . validate ( "NL000099998BA7" ) ;
34+ expect ( r . valid ) . toBe ( false ) ;
35+ if ( ! r . valid ) {
36+ expect ( r . error . code ) . toBe ( "INVALID_FORMAT" ) ;
37+ }
38+ } ) ;
39+
3540 test ( "metadata" , ( ) => {
3641 expect ( nl . vat . country ) . toBe ( "NL" ) ;
3742 } ) ;
0 commit comments