Skip to content

Commit

Permalink
fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
olegphenomenon committed Jan 23, 2023
1 parent 4b48450 commit 794a130
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 50 deletions.
52 changes: 16 additions & 36 deletions app/controllers/eis_billing/invoices_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ class InvoicesController < BaseController
before_action :load_invoice, only: :update

def update
p '=========='
p params
p '=========='

if @invoice.update(modified_params) && payment_orders_handler

render json: {
Expand All @@ -30,43 +26,27 @@ def update
private

def payment_orders_handler
p '-----'
p @invoice.cancelled?
p status.issued?
p status
p '------'

if @invoice.payment_orders.present?
if @invoice.cancelled? && status.paid? || @invoice.cancelled? && status.issued?
@invoice.errors.add(:base, 'Unable to change status of record')

return false
end

if @invoice.paid? && (status.failed? || status.cancelled?)
@invoice.errors.add(:base, 'Unable to change status of record')

return false
end

return true if (@invoice.paid? && status.paid?) || (@invoice.unpaid? && status.issued?) || (@invoice.cancelled? && status.cancelled?)

if status.issued?
@invoice.cancel_manualy
elsif status.paid?
@invoice.autobind_manually
else
@invoice.cancel
end
else
return unless status.paid?

return false if @invoice.cancelled? && status.paid? || @invoice.cancelled? && status.issued?
return false if @invoice.paid? && (status.failed? || status.cancelled?)

case
when @invoice.paid? && status.paid?
true
when @invoice.unpaid? && status.issued?
true
when @invoice.cancelled? && (status.cancelled? || status.failed?)
true
when status.issued?
@invoice.cancel_manualy
when status.paid?
@invoice.autobind_manually
else
@invoice.cancel
end
end

def status
status = case params[:status][:status]
status = case params[:status]
when 'paid'
'paid'
when 'cancelled'
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/invoice/cancellable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def not_cancelled?
def cancel_manualy
account_activity = AccountActivity.find_by(invoice_id: id)
account_activity_dup = account_activity.dup
account_activity_dup.sum = -account_activity.sum.to_i
account_activity_dup.sum = -account_activity.sum.to_f
account_activity_dup.save
account_activity.update(invoice_id: nil)
account_activity_dup.update(invoice_id: nil)
Expand Down
3 changes: 0 additions & 3 deletions db/structure.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4447,16 +4447,13 @@ CREATE INDEX index_log_domains_on_object ON public.log_domains USING gin (object


--
<<<<<<< HEAD
-- Name: index_log_domains_on_object_changes; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX index_log_domains_on_object_changes ON public.log_domains USING gin (object_changes);


--
=======
>>>>>>> creating sync with billing
-- Name: index_log_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -
--

Expand Down
29 changes: 19 additions & 10 deletions test/integration/eis_billing/invoices_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

@invoice.account_activity.delete && @invoice.reload
Expand All @@ -65,7 +66,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'unpaid'
}

assert_equal @invoice.payment_orders.pluck(:status), %w[issued issued]
Expand All @@ -89,7 +91,7 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
invoice.update(total: 120.0)
invoice.reload

incoming_params = {
incoming_params = {
invoice: {
invoice_number: invoice.number,
initiator: 'registry',
Expand All @@ -101,7 +103,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

assert invoice.payment_orders.empty?
Expand Down Expand Up @@ -130,7 +133,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'cancelled'
}

@invoice.payment_orders.destroy_all and @invoice.account_activity.destroy
Expand Down Expand Up @@ -165,7 +169,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

assert invoice.payment_orders.empty?
Expand Down Expand Up @@ -208,7 +213,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

put eis_billing_invoices_path, params: incoming_params
Expand Down Expand Up @@ -237,7 +243,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

assert invoice.payment_orders.empty?
Expand Down Expand Up @@ -271,7 +278,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'unpaid'
}

put eis_billing_invoices_path, params: decrease_balance_params
Expand All @@ -296,7 +304,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}

put eis_billing_invoices_path, params: incoming_params
Expand Down

0 comments on commit 794a130

Please sign in to comment.