<commit_before>require_relative '../lib/siap_exporter'

comprobante = {
  fecha: '2016-07-04',
  denominacion_comprador: 'Tito Puente',
  numero_identificacion_comprador: 27224686604,
  tipo_comprobante: 'A',
  punto_de_venta: 4,
  numero_comprobante: 1220,
  gravado_21: 144950,
  iva_21: 30440,
  no_gravado: 1873400,
  exento: 1765741
}

scope 'factura b' do
  factura_b = comprobante.merge(tipo_comprobante: 'B')
  venta = SiapExporter::ComprasVentas.generate([factura_b])[:ventas]
  assert venta.match('006'), 'Factura B funciona'
end

scope 'nota de credito' do 
  nca = comprobante.merge(tipo_comprobante: 'NCA')
  venta = SiapExporter::ComprasVentas.generate([nca])[:ventas]
  assert venta.match('003'), 'Nota Credito A funciona'
end

scope 'calcula el total' do
  venta = SiapExporter::ComprasVentas.generate([comprobante])[:ventas]
  assert venta.match('3814531'), 'calcula el total'
end<commit_msg>Dry tests<commit_after>require_relative '../lib/siap_exporter'

comprobante = {
  fecha: '2016-07-04',
  denominacion_comprador: 'Tito Puente',
  numero_identificacion_comprador: 27224686604,
  tipo_comprobante: 'A',
  punto_de_venta: 4,
  numero_comprobante: 1220,
  gravado_21: 144950,
  iva_21: 30440,
  no_gravado: 1873400,
  exento: 1765741
}

def generate comprobante
  SiapExporter::ComprasVentas.generate([comprobante])
end

scope 'factura b' do
  factura_b = comprobante.merge(tipo_comprobante: 'B')
  venta = generate(factura_b)[:ventas]
  assert venta.match('006'), 'Factura B funciona'
end

scope 'nota de credito' do 
  nca = comprobante.merge(tipo_comprobante: 'NCA')
  venta = generate(nca)[:ventas]
  assert venta.match('003'), 'Nota Credito A funciona'
end

scope 'calcula el total' do
  venta = generate(comprobante)[:ventas]
  assert venta.match('3814531'), 'calcula el total'
end
{'fraction_non_alphanumeric': 0.12389380530973451, 'fraction_numerical': 0.07300884955752213, 'mean_word_length': 5.7, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7007843', 'n_tokens_mistral': 816, 'n_tokens_neox': 731, 'n_words': 143}