fixed tests

This commit is contained in:
olegphenomenon 2023-01-13 13:28:29 +02:00
parent 36d629fe2b
commit c9ed31771b
4 changed files with 35 additions and 49 deletions

View file

@ -9,10 +9,6 @@ module EisBilling
before_action :load_invoice, only: :update
def update
p '=========='
p params
p '=========='
if @invoice.update(modified_params) && payment_orders_handler
render json: {
@ -30,43 +26,27 @@ module EisBilling
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'

View file

@ -35,7 +35,7 @@ module Invoice::Cancellable
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)

View file

@ -4447,7 +4447,6 @@ 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: -
--
@ -4455,8 +4454,6 @@ CREATE INDEX index_log_domains_on_object_changes ON public.log_domains USING gin
--
=======
>>>>>>> creating sync with billing
-- Name: index_log_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -
--

View file

@ -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
@ -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]
@ -101,7 +103,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}
assert invoice.payment_orders.empty?
@ -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
@ -165,7 +169,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}
assert invoice.payment_orders.empty?
@ -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
@ -237,7 +243,8 @@ class EInvoiceResponseTest < ApplicationIntegrationTest
'some' => 'some'
},
sent_at_omniva: Time.zone.now - 10.minutes
}
},
status: 'paid'
}
assert invoice.payment_orders.empty?
@ -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
@ -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