Merge pull request #2625 from internetee/reference-data-get-update

updated request for get reference user data
This commit is contained in:
Timo Võhmar 2024-02-06 15:26:31 +02:00 committed by GitHub
commit d47b3f233e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 29 additions and 13 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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