Skip to content

Instantly share code, notes, and snippets.

@knewter
Created January 24, 2011 19:44
Show Gist options
  • Save knewter/793811 to your computer and use it in GitHub Desktop.
Save knewter/793811 to your computer and use it in GitHub Desktop.
diff --git a/config/environments/cucumber.rb b/config/environments/cucumber.rb
index d559e10..5cfd256 100644
--- a/config/environments/cucumber.rb
+++ b/config/environments/cucumber.rb
@@ -28,7 +28,7 @@ config.gem 'rspec', :lib => false, :version => '>=1.3.0' unless File.
config.gem 'rspec-rails', :lib => false, :version => '>=1.3.2' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
config.gem 'pickle'
config.gem 'delorean'
-config.gem 'faker'
+config.gem 'ffaker'
require "ezcrypto"
SALT = '203458b^*29sjSdf;]-@2476{'
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 6e440a1..77dd14a 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -34,5 +34,5 @@ config.gem 'database_cleaner', :lib => false, :version => '>=0.5.0' unless File.
config.gem 'capybara', :lib => false, :version => '>=0.3.5' unless File.directory?(File.join(Rails.root, 'vendor/plugins/capybara'))
config.gem 'rspec', :lib => false, :version => '>=1.3.0' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
config.gem 'rspec-rails', :lib => false, :version => '>=1.3.2' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
-config.gem 'faker'
+config.gem 'ffaker'
config.gem 'system_timer'
diff --git a/config/environments/test.rb b/config/environments/test.rb
index f0f31b5..dfd4326 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -30,7 +30,7 @@ config.gem "rspec", :lib => false, :version => ">= 1.2.9"
config.gem "rspec-rails", :lib => false, :version => ">= 1.2.9"
config.gem "remarkable_rails", :lib => false, :version => ">= 3.1.10"
config.gem "fast_context"
-config.gem 'faker'
+config.gem 'ffaker'
require "ezcrypto"
SALT = '203458b^*29sjSdf;]-@2476{'
diff --git a/lib/reports/tax_settlement.rb b/lib/reports/tax_settlement.rb
index ce548ae..f7e83d4 100644
--- a/lib/reports/tax_settlement.rb
+++ b/lib/reports/tax_settlement.rb
@@ -56,6 +56,7 @@ module Reports
structure[loan_type.name + " $"] += BigDecimal(record["pbl_amount"])
structure[loan_type.name + " Paid"] += BigDecimal(record["pbl_paid"])
structure[loan_type.name + " Bal"] += BigDecimal(record["pbl_bal"])
+ structure["Lender"] = record["lender"]
summary_data["Total " + loan_type.name + " $"] += BigDecimal(record["pbl_amount"])
summary_data["Total " + loan_type.name + " Paid"] += BigDecimal(record["pbl_paid"])
summary_data["Total " + loan_type.name + " Bal"] += BigDecimal(record["pbl_bal"])
diff --git a/spec/lib/reports/tax_settlement_spec.rb b/spec/lib/reports/tax_settlement_spec.rb
index b0e4df2..ba7f2ab 100644
--- a/spec/lib/reports/tax_settlement_spec.rb
+++ b/spec/lib/reports/tax_settlement_spec.rb
@@ -4,25 +4,30 @@ describe Reports::TaxSettlement do
before(:each) do
@person = Factory(:person)
@card_account = Factory(:card_account, :person => @person)
- @txn = Factory(:tax_solution_transaction, :card_account => @card_account)
+ @agent = Factory(:agent)
+ @region = Factory(:region, :agent => @agent)
+ @district = Factory(:district, :region => @region)
+ @store = Factory(:store, :agent => @agent, :district => @district)
+ @txn = Factory(:tax_solution_transaction, :card_account => @card_account, :store => @store, :agent => @agent)
@txn.update_attributes(:created_at => 1.days.ago)
+ @tsirf = Factory(:tax_solution_irs_return_file)
end
context "in lender mode" do
context "when some loans exist" do
before(:each) do
@payable = Factory(:loan_tax_solution_payable, :tax_solution_transaction => @txn, :amount => 1000, :created_at => 1.days.ago)
- @payable.make_payment @payable.amount
+ @payable.make_payment @payable.amount, @tsirf.id
@payable.tax_solution_payments.last.update_attribute(:created_at, Time.zone.now.at_beginning_of_day)
@payable.update_attributes(:paid_off_at => 1.days.ago, :created_at => 1.days.ago )
end
context "given an agent/lender" do
it "should return csv related to that lender" do
- @report =Reports::TaxSettlement.new :mode => "lender"
+ @report = Reports::TaxSettlement.new :mode => "lender"
@report.csv.split("\n")[0].should =~ /^Date,Lender,Agent,Region,District,Store,Name,SSN,(.+) Loan \$,(.+) Loan Paid,(.+) Loan Bal$/
- @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:american_with_time)},#{@txn.tax_solution_lender.to_s},#{@txn.agent.to_s},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.to_s},\"#{@person.to_s}\",#{@person.send(:decrypt_ssn)},#{@payable.amount.to_s},#{@payable.amount.to_s},#{@payable.remaining_balance.to_s}$}
- @report.csv.split("\n")[2].should =~ /"\"\",#{@payable.amount.to_s},\"\",\"\",\"\",\"\",\"\",\"\",#{@payable.amount.to_s},#{@payable.amount.to_s}$/
+ @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:db)},#{@txn.tax_solution_lender.name},#{@txn.agent.code},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.name},#{@person.first_and_last_name},#{@person.send(:decrypt_ssn)},#{@card_account.send(:decrypt_direct_deposit_account_number)},#{@payable.amount.to_s},#{@payable.amount.to_s},#{@payable.remaining_balance.to_s}$}
+ @report.csv.split("\n")[2].should =~ /\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",#{@payable.amount.to_s},#{@payable.amount.to_s},#{@payable.remaining_balance.to_s}$/
end
end
end
@@ -33,16 +38,16 @@ describe Reports::TaxSettlement do
before(:each) do
@obligation = RegionTaxSolutionFeeType.create! :name => "blah", :agent => @txn.store.agent, :priority => 1
@fee = Factory(:fee_tax_solution_payable, :tax_solution_transaction => @txn, :amount => 10, :created_at => 1.days.ago, :obligation => @obligation)
- @fee.make_payment @fee.amount
+ @fee.make_payment @fee.amount, @tsirf.id
@fee.tax_solution_payments.last.update_attribute(:created_at, Time.zone.now.at_beginning_of_day)
@fee.update_attribute(:paid_off_at, 1.days.ago)
end
context "given an agent or region" do
it "should return csv related to that region" do
- @report = Reports::TaxSettlement.new :mode => "region"
+ @report = Reports::TaxSettlement.new :mode => "region", :agent => @txn.store.agent
@report.csv.split("\n")[0].should =~ /^Date,Agent,Region,District,Store,Name,SSN,DDA,blah Paid,Subtotals$/
- @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:american_with_time)},#{@txn.agent.to_s},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.to_s},\"#{@person.to_s}\",#{@person.send(:decrypt_ssn)},#{@card_account.send(:decrypt_direct_deposit_account_number)},#{@fee.amount.to_s},#{@fee.amount.to_s}$}
+ @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:db)},#{@txn.agent.code},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.name},#{@person.first_and_last_name},#{@person.send(:decrypt_ssn)},#{@card_account.send(:decrypt_direct_deposit_account_number)},#{@fee.amount.to_s},#{@fee.amount.to_s}$}
end
end
end
@@ -52,16 +57,16 @@ describe Reports::TaxSettlement do
before(:each) do
@obligation = AgentTaxSolutionFeeType.create! :name => "agent1", :agent => @txn.store.agent, :priority => 1
@fee = Factory(:fee_tax_solution_payable, :tax_solution_transaction => @txn, :amount => 10, :created_at => 1.days.ago, :obligation => @obligation)
- @fee.make_payment @fee.amount
+ @fee.make_payment @fee.amount, @tsirf.id
@fee.tax_solution_payments.last.update_attribute(:created_at, Time.zone.now.at_beginning_of_day)
@fee.update_attribute(:paid_off_at, 1.days.ago)
end
context "when some agent fees exist" do
context "given an agent" do
it "should return csv related to that agent" do
- @report = Reports::TaxSettlement.new :mode => "agent"
+ @report = Reports::TaxSettlement.new :mode => "agent", :agent => @txn.store.agent
@report.csv.split("\n")[0].should =~ /^Date,Agent,Region,District,Store,Name,SSN,DDA,agent1 Paid,Subtotals/
- @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:american_with_time)},#{@txn.agent.to_s},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.to_s},\"#{@person.to_s}\",#{@person.send(:decrypt_ssn)},#{@card_account.send(:decrypt_direct_deposit_account_number)},#{@fee.amount.to_s},#{@fee.amount.to_s}$}
+ @report.csv.split("\n")[1].should =~ %r{#{@txn.created_at.to_s(:db)},#{@txn.agent.code},#{@txn.store.district.region.to_s},#{@txn.store.district.to_s},#{@txn.store.name},#{@person.first_and_last_name},#{@person.send(:decrypt_ssn)},#{@card_account.send(:decrypt_direct_deposit_account_number)},#{@fee.amount.to_s},#{@fee.amount.to_s}$}
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment