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
|
def create
|
||||||
@registrar = Registrar.new(registrar_params)
|
@registrar = Registrar.new(registrar_params)
|
||||||
@registrar.reference_no = ::Billing::ReferenceNo.generate
|
@registrar.reference_no = ::Billing::ReferenceNo.generate(owner: @registrar.name)
|
||||||
|
|
||||||
if @registrar.valid?
|
if @registrar.valid?
|
||||||
@registrar.transaction do
|
@registrar.transaction do
|
||||||
|
|
|
@ -3,8 +3,8 @@ module Billing
|
||||||
REGEXP = /\A\d{2,20}\z/
|
REGEXP = /\A\d{2,20}\z/
|
||||||
MULTI_REGEXP = /(\d{2,20})/
|
MULTI_REGEXP = /(\d{2,20})/
|
||||||
|
|
||||||
def self.generate
|
def self.generate(owner:)
|
||||||
result = EisBilling::GetReferenceNumber.send_request
|
result = EisBilling::GetReferenceNumber.call(owner: owner)
|
||||||
JSON.parse(result.body)['reference_number']
|
JSON.parse(result.body)['reference_number']
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,29 @@
|
||||||
module EisBilling
|
module EisBilling
|
||||||
class GetReferenceNumber < EisBilling::Base
|
class GetReferenceNumber < EisBilling::Base
|
||||||
def self.send_request
|
attr_reader :owner
|
||||||
send_it
|
|
||||||
|
# rubocop:disable Lint/MissingSuper
|
||||||
|
def initialize(owner:)
|
||||||
|
@owner = owner
|
||||||
end
|
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,
|
initiator: INITIATOR,
|
||||||
|
owner: owner
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.send_it
|
def reference_number_generator_url
|
||||||
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
|
|
||||||
"#{EisBilling::Base::BASE_URL}/api/v1/invoice_generator/reference_number_generator"
|
"#{EisBilling::Base::BASE_URL}/api/v1/invoice_generator/reference_number_generator"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,10 @@ require 'test_helper'
|
||||||
|
|
||||||
# https://www.pangaliit.ee/settlements-and-standards/reference-number-of-the-invoice
|
# https://www.pangaliit.ee/settlements-and-standards/reference-number-of-the-invoice
|
||||||
class ReferenceNoBaseTest < ActiveSupport::TestCase
|
class ReferenceNoBaseTest < ActiveSupport::TestCase
|
||||||
|
setup do
|
||||||
|
@registrar = registrars(:bestnames)
|
||||||
|
end
|
||||||
|
|
||||||
def test_generates_random_base
|
def test_generates_random_base
|
||||||
assert_not_equal Billing::ReferenceNo::Base.generate, Billing::ReferenceNo::Base.generate
|
assert_not_equal Billing::ReferenceNo::Base.generate, Billing::ReferenceNo::Base.generate
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
class ReferenceNoTest < ActiveSupport::TestCase
|
class ReferenceNoTest < ActiveSupport::TestCase
|
||||||
|
setup do
|
||||||
|
@registrar = registrars(:bestnames)
|
||||||
|
end
|
||||||
|
|
||||||
def test_returns_format_regexp
|
def test_returns_format_regexp
|
||||||
format = /\A\d{2,20}\z/
|
format = /\A\d{2,20}\z/
|
||||||
assert_equal format, Billing::ReferenceNo::REGEXP
|
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")
|
stub_request(:post, "https://eis_billing_system:3000/api/v1/invoice_generator/reference_number_generator")
|
||||||
.to_return(status: 200, body: "{\"reference_number\":\"12332\"}", headers: {})
|
.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
|
assert_match Billing::ReferenceNo::REGEXP, reference_no
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue