mirror of
https://github.com/internetee/registry.git
synced 2025-07-28 05:26:17 +02:00
Merge pull request #2625 from internetee/reference-data-get-update
updated request for get reference user data
This commit is contained in:
commit
d47b3f233e
5 changed files with 29 additions and 13 deletions
|
@ -23,7 +23,7 @@ module Admin
|
|||
|
||||
def create
|
||||
@registrar = Registrar.new(registrar_params)
|
||||
@registrar.reference_no = ::Billing::ReferenceNo.generate
|
||||
@registrar.reference_no = ::Billing::ReferenceNo.generate(owner: @registrar.name)
|
||||
|
||||
if @registrar.valid?
|
||||
@registrar.transaction do
|
||||
|
|
|
@ -3,8 +3,8 @@ module Billing
|
|||
REGEXP = /\A\d{2,20}\z/
|
||||
MULTI_REGEXP = /(\d{2,20})/
|
||||
|
||||
def self.generate
|
||||
result = EisBilling::GetReferenceNumber.send_request
|
||||
def self.generate(owner:)
|
||||
result = EisBilling::GetReferenceNumber.call(owner: owner)
|
||||
JSON.parse(result.body)['reference_number']
|
||||
end
|
||||
|
||||
|
|
|
@ -1,21 +1,29 @@
|
|||
module EisBilling
|
||||
class GetReferenceNumber < EisBilling::Base
|
||||
def self.send_request
|
||||
send_it
|
||||
attr_reader :owner
|
||||
|
||||
# rubocop:disable Lint/MissingSuper
|
||||
def initialize(owner:)
|
||||
@owner = owner
|
||||
end
|
||||
|
||||
def self.obj_data
|
||||
def self.call(owner:)
|
||||
new(owner: owner).call
|
||||
end
|
||||
|
||||
def call
|
||||
http = EisBilling::Base.base_request(url: reference_number_generator_url)
|
||||
http.post(reference_number_generator_url, payload.to_json, EisBilling::Base.headers)
|
||||
end
|
||||
|
||||
def payload
|
||||
{
|
||||
initiator: INITIATOR,
|
||||
owner: owner
|
||||
}
|
||||
end
|
||||
|
||||
def self.send_it
|
||||
http = EisBilling::Base.base_request(url: reference_number_generator_url)
|
||||
http.post(reference_number_generator_url, obj_data.to_json, EisBilling::Base.headers)
|
||||
end
|
||||
|
||||
def self.reference_number_generator_url
|
||||
def reference_number_generator_url
|
||||
"#{EisBilling::Base::BASE_URL}/api/v1/invoice_generator/reference_number_generator"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,6 +2,10 @@ require 'test_helper'
|
|||
|
||||
# https://www.pangaliit.ee/settlements-and-standards/reference-number-of-the-invoice
|
||||
class ReferenceNoBaseTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@registrar = registrars(:bestnames)
|
||||
end
|
||||
|
||||
def test_generates_random_base
|
||||
assert_not_equal Billing::ReferenceNo::Base.generate, Billing::ReferenceNo::Base.generate
|
||||
end
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
require 'test_helper'
|
||||
|
||||
class ReferenceNoTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@registrar = registrars(:bestnames)
|
||||
end
|
||||
|
||||
def test_returns_format_regexp
|
||||
format = /\A\d{2,20}\z/
|
||||
assert_equal format, Billing::ReferenceNo::REGEXP
|
||||
|
@ -10,7 +14,7 @@ class ReferenceNoTest < ActiveSupport::TestCase
|
|||
stub_request(:post, "https://eis_billing_system:3000/api/v1/invoice_generator/reference_number_generator")
|
||||
.to_return(status: 200, body: "{\"reference_number\":\"12332\"}", headers: {})
|
||||
|
||||
reference_no = Billing::ReferenceNo.generate
|
||||
reference_no = Billing::ReferenceNo.generate(owner: @registrar.name)
|
||||
assert_match Billing::ReferenceNo::REGEXP, reference_no
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue