Created
September 15, 2015 20:29
-
-
Save pacoguevara/ecb941d54ac55a728aab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rails_helper' | |
RSpec.describe CatEmpresa, :type => :model do | |
describe "class methods" do | |
describe ".cat_empresa_array_by_invoices" do | |
# Aqui crear una empresa y varias facturas con esa empresa | |
before(:each) do | |
@factura1 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "5681928685ae18e3b623d1d0f1910512", | |
uuid: "E8027172-A541-4707-8913-C7528D67FCF3", usuario_id: 21) | |
@factura2 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "af5acf2d5863fbc141c1c6504d3aefa8", | |
uuid: "B4B3B941-1B37-4109-9998-340E5FB4C209", usuario_id: 21) | |
@factura3 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "1d157f38cab96b6c5a5a7ec77d6be0ba", | |
uuid: "2E89A6C1-9B80-4A5B-9B65-4110F4BB6378", usuario_id: 21) | |
@invoices = [@factura1, @factura2, @factura3] | |
@empresa = FactoryGirl.create(:empresa, name: "40 West Restaurant SA de CV", | |
rfc: "CWG1011107T9") | |
@categoria1 = FactoryGirl.create(:categoria, nombre: "576000-012-002") | |
@categoria2 = FactoryGirl.create(:categoria, nombre: "576000-012-003") | |
@categoria3 = FactoryGirl.create(:categoria, nombre: "576000-012-004") | |
@cat_empresa1 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria1.id) | |
@cat_empresa2 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria2.id) | |
@cat_empresa3 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria3.id) | |
@concepto1 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto1.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto2 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto2.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto3 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto3.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto4 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto4.id, | |
cat_empresa_id: @cat_empresa2.id) | |
@concepto5 = FactoryGirl.create(:concepto, factura_id: @factura3.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto5.id, | |
cat_empresa_id: @cat_empresa3.id) | |
#@concepto1 = FactoryGirl.create(:concepto, factura_id: "TEC091214PL6", ) | |
end | |
context "when there are invoices between 2 companies" do | |
it "returns an array of cat_empresas ids for concepts" do | |
cat_empresas_array = CatEmpresa.cat_empresa_array_by_invoices(@empresa, @invoices) | |
expect(cat_empresas_array.count).to eql 5 | |
end | |
end | |
end | |
describe ".cat_empresa_by_invoices" do | |
# Aqui crear una empresa y varias facturas con esa empresa | |
before(:each) do | |
@factura1 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "5681928685ae18e3b623d1d0f1910512", | |
uuid: "E8027172-A541-4707-8913-C7528D67FCF3", usuario_id: 21) | |
@factura2 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "af5acf2d5863fbc141c1c6504d3aefa8", | |
uuid: "B4B3B941-1B37-4109-9998-340E5FB4C209", usuario_id: 21) | |
@factura3 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "1d157f38cab96b6c5a5a7ec77d6be0ba", | |
uuid: "2E89A6C1-9B80-4A5B-9B65-4110F4BB6378", usuario_id: 21) | |
@invoices = [@factura1, @factura2, @factura3] | |
@empresa = FactoryGirl.create(:empresa, name: "40 West Restaurant SA de CV", | |
rfc: "CWG1011107T9") | |
@categoria1 = FactoryGirl.create(:categoria, nombre: "576000-012-002") | |
@categoria2 = FactoryGirl.create(:categoria, nombre: "576000-012-003") | |
@categoria3 = FactoryGirl.create(:categoria, nombre: "576000-012-004") | |
@cat_empresa1 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria1.id) | |
@cat_empresa2 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria2.id) | |
@cat_empresa3 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria3.id) | |
@concepto1 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto1.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto2 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto2.id, | |
cat_empresa_id: @cat_empresa2.id) | |
@concepto3 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto3.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto4 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto4.id, | |
cat_empresa_id: @cat_empresa2.id) | |
@concepto5 = FactoryGirl.create(:concepto, factura_id: @factura3.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto5.id, | |
cat_empresa_id: @cat_empresa3.id) | |
end | |
context "when there are invoices between 2 companies" do | |
it "returns CatEmpresa instance of the more frequent tag" do | |
cat_empresa = CatEmpresa.cat_empresa_by_invoices(@empresa, @invoices) | |
expect(cat_empresa.id).to eql 1 | |
end | |
end | |
context "when there aren't invoices between 2 companies" do | |
it "returns nil because there is not catempresa" do | |
cat_empresa = CatEmpresa.cat_empresa_by_invoices(@empresa, @facturas = []) | |
expect(cat_empresa.nil?).to be true | |
end | |
end | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rails_helper' | |
RSpec.describe Factura, :type => :model do | |
describe "insatance methods" do | |
describe "#add_cat_empresa_to_invoice" do | |
# Crear una factura y una CatEmpresa | |
before(:each) do | |
@factura1 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "5681928685ae18e3b623d1d0f1910512", | |
uuid: "E8027172-A541-4707-8913-C7528D67FCF3", usuario_id: 21) | |
@empresa = FactoryGirl.create(:empresa, name: "40 West Restaurant SA de CV", | |
rfc: "CWG1011107T9") | |
@categoria1 = FactoryGirl.create(:categoria, nombre: "576000-012-002") | |
@cat_empresa1 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria1.id) | |
end | |
context "when an invoice is tagged" do | |
it "returns an invoice tagged when there is a cat empresa" do | |
invoice = @factura1.add_cat_empresa_to_invoice(@cat_empresa1) | |
expect(invoice.id).to eql @factura1.id | |
end | |
it "returns nil when there isn't a cat empresa" do | |
invoice = @factura1.add_cat_empresa_to_invoice(@cat_empresa = nil) | |
expect(invoice.nil?).to be true | |
end | |
end | |
end | |
describe "#etiquetado_automatico" do | |
before(:each) do | |
@factura1 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "5681928685ae18e3b623d1d0f1910512", | |
uuid: "E8027172-A541-4707-8913-C7528D67FCF3", usuario_id: 21) | |
@factura2 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "af5acf2d5863fbc141c1c6504d3aefa8", | |
uuid: "B4B3B941-1B37-4109-9998-340E5FB4C209", usuario_id: 21) | |
@factura3 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "1d157f38cab96b6c5a5a7ec77d6be0ba", | |
uuid: "2E89A6C1-9B80-4A5B-9B65-4110F4BB6378", usuario_id: 21) | |
@factura4 = FactoryGirl.create(:factura, rfc_em: "ABA920310QW0", | |
rfc_re: "CWG1011107T9", md5: "1d157f38cab96b6c5a5a7ec77d6be0b7", | |
uuid: "2E89A6C1-9B80-4A5B-9B65-4110F4BB6379", usuario_id: 21) | |
@invoices = [@factura1, @factura2, @factura3] | |
@empresa = FactoryGirl.create(:empresa, name: "40 West Restaurant SA de CV", | |
rfc: "CWG1011107T9") | |
@categoria1 = FactoryGirl.create(:categoria, nombre: "576000-012-002") | |
@categoria2 = FactoryGirl.create(:categoria, nombre: "576000-012-003") | |
@categoria3 = FactoryGirl.create(:categoria, nombre: "576000-012-004") | |
@cat_empresa1 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria1.id) | |
@cat_empresa2 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria2.id) | |
@cat_empresa3 = FactoryGirl.create(:cat_empresa, empresa_id: @empresa.id, | |
categoria_id: @categoria3.id) | |
@concepto1 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto1.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto2 = FactoryGirl.create(:concepto, factura_id: @factura1.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto2.id, | |
cat_empresa_id: @cat_empresa2.id) | |
@concepto3 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto3.id, | |
cat_empresa_id: @cat_empresa1.id) | |
@concepto4 = FactoryGirl.create(:concepto, factura_id: @factura2.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto4.id, | |
cat_empresa_id: @cat_empresa2.id) | |
@concepto5 = FactoryGirl.create(:concepto, factura_id: @factura3.id) | |
FactoryGirl.create(:cat_empresas_concepto, concepto_id: @concepto5.id, | |
cat_empresa_id: @cat_empresa3.id) | |
@concepto6 = FactoryGirl.create(:concepto, factura_id: @factura4.id) | |
@concepto7 = FactoryGirl.create(:concepto, factura_id: @factura4.id) | |
end | |
context "when an invoices is autotagged" do | |
it "return the invoice tagged" do | |
invoice = @factura4.etiquetado_automatico | |
expect(invoice.id).to eql @factura4.id | |
end | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment