Business-ES-NIF

 view release on metacpan or  search on metacpan

lib/Business/ES/NIF.pm  view on Meta::CPAN

use constant CIF_EXTRA => {
			   'A' => 'Sociedad Anonima - S.A',
			   'B' => 'Sociedad Limitada - S.L',
			   'C' => 'Sociedad Colectiva - S.C',
			   'D' => 'Sociedades comanditarias',
			   'E' => 'Comunidad de bienes y herencias',
			   'F' => 'Sociedades cooperativas',
			   'G' => 'Asociaciones',
			   'H' => 'Comunidaddes de propietarios',
			   'J' => 'Sociedades civiles',
			   'P' => 'Corporaciones locales',
			   'Q' => 'Organismos publicos',
			   'N' => 'Entidades extranjeras',
			   'R' => 'Congregaciones e instituciones religiosas',
			   'U' => 'Uniones temporales de epresas',
			   'V' => 'Otros tipos de sociedades',
			   'W' => 'Establecimientos permanentes de entidades no residentes en España'
			  };

use constant CIFe_EXTRA => {
			    'S' => 'Órganos de la Administración del Estado',
			    'Q' => 'Organismos autónomos o instituciones religiosas',
			    'P' => 'Corporaciones locales',
			    'K' => 'Formato antiguo (DNI sin letra de control)'
			   };

use constant PROVINCIAS => {
			    '00' => 'No Residente',
			    '01' => 'Álava',
			    '02' => 'Albacete', 
			    '03' => 'Alicante',
			    '04' => 'Almería',
			    '05' => 'Ávila',

t/cif.t  view on Meta::CPAN

subtest 'CIFe inválido' => sub {
  my @invalid =  qw(Q1126001H P2996009H);
  plan tests  => scalar(@invalid);

  ok(!Business::ES::NIF->new(nif => $_)->is_valid, "CIFe $_ es inválido") for @invalid;    
};

subtest 'CIFe Extra' => sub {
  my $Check = {
	       'Q2826000H' => 'Organismos autónomos o instituciones religiosas',
	       'P2826000H' => 'Corporaciones locales'
	      };
  plan tests => scalar(%{$Check});

  for my $Key (keys %{$Check}) {
    my $obj = check_obj($Key);

    is($obj->extra, $Check->{$Key}, $Key." - ".$Check->{$Key});
  }
};



( run in 1.330 second using v1.01-cache-2.11-cpan-ceb78f64989 )