UNPKG

danfe

Version:

Módulo node.js para gerar DANFEs em .pdf

534 lines (433 loc) 14 kB
'use strict'; var Item = require('../lib/item'), item; module.exports = { setUp: function(callback) { item = new Item(); callback(); }, tearDown: function(callback) { callback(); }, comInformacoesAdicionais: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comInformacoesAdicionais('INF AD'); }); test.done(); }, }, getInformacoesAdicionais: { 'É possível definir': function(test) { item.comInformacoesAdicionais('INF AD'); test.equal(item.getInformacoesAdicionais(), 'INF AD'); test.done(); }, }, comCodigo: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comCodigo('001'); }); test.done(); } }, getCodigo: { 'Retorna string vazia antes de ser definido': function(test) { test.ok(item.getCodigo() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comCodigo('001'); test.equal(item.getCodigo(), '001'); test.done(); } }, comDescricao: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comDescricao('Produto 01'); }); test.done(); } }, getDescricao: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getDescricao() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comDescricao('Produto 01'); test.equal(item.getDescricao(), 'Produto 01'); test.done(); } }, comNcmSh: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comNcmSh('12079110'); }); test.done(); }, 'Lança exceção caso seja passado um ncm inválido': function(test) { test.throws(function() { item.comNcmSh('Não é um NCM'); }); test.done(); }, }, getNcmSh: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getNcmSh() === ''); test.done(); }, 'NCM é retornado sem máscara': function(test) { item.comNcmSh('12.07.91-10'); test.equal(item.getNcmSh(), '12079110'); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comNcmSh('12079110'); test.equal(item.getNcmSh(), '12079110'); test.done(); } }, comOCst: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comOCst('020'); }); test.done(); } }, getOCst: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getOCst() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comOCst('020'); test.equal(item.getOCst(), '020'); test.done(); } }, comCfop: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comCfop('7251'); }); test.done(); }, 'Lança exceção caso seja passado um CFOP inválido': function(test) { test.throws(function() { item.comCfop('Não é um CFOP'); }); test.done(); }, }, getCfop: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getCfop() === ''); test.done(); }, 'Remove a máscara do CFOP': function(test) { item.comCfop('7.251'); test.equal(item.getCfop(), '7251'); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comCfop('7251'); test.equal(item.getCfop(), '7251'); test.done(); } }, comUnidade: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comUnidade('UN.'); }); test.done(); } }, getUnidade: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getUnidade() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comUnidade('UN.'); test.equal(item.getUnidade(), 'UN.'); test.done(); } }, comQuantidade: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comQuantidade(0); }); test.done(); }, 'Lança exceção caso seja passado um valor negativo': function(test) { test.throws(function() { item.comQuantidade(-10); }); test.done(); }, }, getQuantidadeFormatada: { 'Retorna valor formatado corretamente': function(test) { item.comQuantidade(0); test.equal(item.getQuantidadeFormatada(), '0'); item.comQuantidade(125.234); test.equal(item.getQuantidadeFormatada(), '125,234'); test.done(); } }, getQuantidade: { 'Retorna zero antes de ser definido': function(test) { test.equal(item.getQuantidade(), 0); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comQuantidade(0); test.equal(item.getQuantidade(), 0); test.done(); } }, comValorUnitario: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comValorUnitario(1230.14); }); test.done(); }, 'Lança exceção se o valor unitário for inferior a zero': function(test) { test.throws(function() { item.comValorUnitario(-10); }); test.done(); }, }, getValorUnitarioFormatado: { 'Retorna valor formatado corretamente': function(test) { item.comValorUnitario(1230); test.equal(item.getValorUnitarioFormatado(), '1.230,00'); test.done(); } }, getValorUnitario: { 'Retorna zero antes de ser definido': function(test) { test.equal(item.getValorUnitario(), 0); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comValorUnitario(1230.14); test.equal(item.getValorUnitario(), 1230.14); test.done(); } }, comValorTotal: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comValorTotal(1340); }); test.done(); }, 'Lança exceção se valor total for menor que zero': function(test) { test.throws(function() { item.comValorTotal(-100); }); test.done(); }, }, getValorTotalFormatado: { 'Retorna valor formatado corretamente': function(test) { item.comValorTotal(1340); test.equal(item.getValorTotalFormatado(), '1.340,00'); test.done(); } }, getValorTotal: { 'Retorna zero antes de ser definido': function(test) { test.equal(item.getValorTotal(), 0); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comValorTotal(1340); test.equal(item.getValorTotal(), 1340); test.done(); } }, comBaseDeCalculoDoIcms: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comBaseDeCalculoDoIcms(123200); }); test.done(); }, 'Lança exceção caso passado valor negativo': function(test) { test.throws(function() { item.comBaseDeCalculoDoIcms(-10); }); test.done(); }, }, getBaseDeCalculoDoIcmsFormatada: { 'Retorna valor formatado corretamente': function(test) { item.comBaseDeCalculoDoIcms(123200); test.equal(item.getBaseDeCalculoDoIcmsFormatada(), '123.200,00'); test.done(); } }, getBaseDeCalculoDoIcms: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getBaseDeCalculoDoIcms() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comBaseDeCalculoDoIcms(123200); test.equal(item.getBaseDeCalculoDoIcms(), 123200); test.done(); } }, comValorDoIcms: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comValorDoIcms(12); }); test.done(); }, 'Lança exceção caso passado valor negativo': function(test) { test.throws(function() { item.comValorDoIcms(-10); }); test.done(); }, }, getValorDoIcmsFormatado: { 'Retorna valor formatado corretamente': function(test) { item.comValorDoIcms(12); test.equal(item.getValorDoIcmsFormatado(), '12,00'); test.done(); } }, getValorDoIcms: { 'Retorna zero antes de ser definido': function(test) { test.equal(item.getValorDoIcms(), 0); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comValorDoIcms(12); test.equal(item.getValorDoIcms(), 12); test.done(); } }, comValorDoIpi: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comValorDoIpi(123); }); test.done(); }, 'Lança exceção caso passado valor negativo': function(test) { test.throws(function() { item.comValorDoIpi(-10); }); test.done(); } }, getValorDoIpiFormatado: { 'Retorna valor formatado corretamente': function(test) { item.comValorDoIpi(123); test.equal(item.getValorDoIpiFormatado(), '123,00'); test.done(); } }, getValorDoIpi: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getValorDoIpi() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comValorDoIpi(123); test.equal(item.getValorDoIpi(), 123); test.done(); } }, comAliquotaDoIcms: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comAliquotaDoIcms(0.175); }); test.done(); }, 'Lança exceção caso passado valor negativo': function(test) { test.throws(function() { item.comValorcomAliquotaDoIcmsDoIpi(-10); }); test.done(); }, 'Lança exceção caso passado valor maior que um': function(test) { test.throws(function() { item.comAliquotaDoIcms(10); }); test.done(); }, }, getAliquotaDoIcmsFormatada: { 'Retorna valor formatado corretamente': function(test) { item.comAliquotaDoIcms(0.175); test.equal(item.getAliquotaDoIcmsFormatada(), '17,5%'); test.done(); } }, getAliquotaDoIcms: { 'Retorna zero antes de ser definido': function(test) { test.ok(item.getAliquotaDoIcms() === ''); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comAliquotaDoIcms(0.175); test.equal(item.getAliquotaDoIcms(), 0.175); test.done(); } }, comAliquotaDoIpi: { 'É possível definir': function(test) { test.doesNotThrow(function() { item.comAliquotaDoIpi(0.03); }); test.done(); }, 'Lança exceção caso passado valor negativo': function(test) { test.throws(function() { item.comAliquotaDoIpi(-10); }); test.done(); }, 'Lança exceção caso passado valor maior que um': function(test) { test.throws(function() { item.comAliquotaDoIpi(10); }); test.done(); }, }, getAliquotaDoIpiFormatada: { 'Retorna valor formatado corretamente': function(test) { item.comAliquotaDoIpi(0.03); test.equal(item.getAliquotaDoIpiFormatada(), '3%'); test.done(); } }, getAliquotaDoIpi: { 'Retorna zero antes de ser definido': function(test) { test.equal(item.getAliquotaDoIpi(), 0); test.done(); }, 'É possível recuperar o valor definido': function(test) { item.comAliquotaDoIpi(0.03); test.equal(item.getAliquotaDoIpi(), 0.03); test.done(); } }, };